คำถามติดแท็ก sql-server

Microsoft SQL Server ทุกรุ่น (ไม่ใช่ MySQL) โปรดเพิ่มแท็กเฉพาะเวอร์ชันเช่น sql-server-2016 เนื่องจากมักเกี่ยวข้องกับคำถาม

3
“ ปรับใช้ฐานข้อมูลกับ SQL Azure” หายไป
ฉันเพิ่งติดตั้ง SQL Server 2014 Express บนเวิร์กสเตชันที่ฉันมีและพยายามปรับใช้กับ SQL Azure ฉันเคยทำสิ่งนี้มาก่อนในเวิร์กสเตชันก่อนหน้าโดยใช้ SQL Server 2012 Express โดยทำสิ่งต่อไปนี้: คลิกขวาที่ฐานข้อมูล> งาน> "ปรับใช้ฐานข้อมูลกับ SQL Azure" บน SQL Server 2014 ตัวเลือกหายไปอย่างสมบูรณ์และแทนที่ตัวเลือกใหม่แทน: "ปรับใช้ฐานข้อมูลเป็น Windows Azure VM" ฉันไม่สามารถเข้าใจได้ว่าทำไมตัวเลือกสำหรับการปรับใช้กับ SQL Azure จึงขาดหายไป ตอนนี้มีบางสิ่งที่ต้องติดตั้งแยกต่างหากสำหรับ SQL Server 2014 หรือไม่ จากสิ่งที่ฉันอ่านทางออนไลน์ควรมีตัวเลือกทั้งสองสำหรับฉบับปี 2014 Microsoft ลบตัวเลือกนี้สำหรับ SQL Server 2014 Express หรือไม่

1
วิธีการ“ แฮ็คดร็อป” สแนปชอตฐานข้อมูลหลังจาก SQL Server อัพเกรดไม่เรียบร้อย
ฉันจัดการกับปัญหาที่ภาพรวมฐานข้อมูลจะไม่สามารถปรับตัวลดลงหลังจากที่ SQL Server ได้รับการอัพเกรดไป 2014 สแน็ปช็อตนั้นหมดอายุ แต่ไม่สามารถทิ้งได้ ตอนนี้ถึงแม้ว่ารายการเชื่อมต่อจะมีความคิดเห็นที่น่าผิดหวัง แต่ฉันคิดว่าสิ่งนี้จะได้รับการแก้ไขในที่สุด อย่างไรก็ตามฉันต้องจัดการกับเรื่องนี้ในไม่ช้า มีวิธีปล่อย snapshot ฐานข้อมูลที่ไม่สามารถลบได้เนื่องจากข้อผิดพลาดนี้หรือไม่ ฉันกลัวว่าฉันใช้วิธีการที่ทำเป็นเอกสารหมดแล้ว อาจใช้การแก้ไขที่ไม่มีเอกสารลงในตารางระบบ มีวิธีบังคับให้ฐานข้อมูล (สแน็ปช็อต) ถูกทิ้งหรือไม่?

2
การสแกนคงที่ใช้เวลา 0 วินาทีหรือ 2-3 นาที
แบบสอบถามเช่นเดียวกับด้านล่างที่รับประกันว่าจะไม่ส่งคืนแถวใด ๆ ใช้เวลาตั้งแต่ 0 ถึง 160 วินาทีในเซิร์ฟเวอร์ของเรา: select col1, col2, col3 from tab1 where 0 = 1 สองสัปดาห์ที่ผ่านมาสิ่งนี้เกิดขึ้นหกครั้งในช่วงเวลา 48 ชั่วโมง เมื่อสัปดาห์ที่แล้วข้อความค้นหาเดียวกันใช้เวลาประมาณ 0 วินาที ฉันมีบันทึกของ SQL ของแอปพลิเคชันของเรา แต่ยังไม่พบผู้ต้องสงสัย นอกจากนี้ฉันคิดว่าคำถามอันดับสูงสุด 0 / โดยที่ 0 = 1 แบบสอบถามชนิดไม่เคยตีหน้าข้อมูลดังนั้นจึงควรต้านทานล็อคข้อมูลแถว / หน้า / ระดับตาราง? สกีมาไม่ได้ถูกแตะต้องโดย SQL (รู้) ใด ๆ เนื่องจากปัญหาไม่สอดคล้องกันและเซิร์ฟเวอร์อยู่ภายใต้ภาระงานหนักมากฉันต้องการทำความเข้าใจทฤษฎีเบื้องหลังสิ่งที่เกิดขึ้นก่อนที่จะแนบ SQL profiler การสืบค้นอื่น ๆ จะทำงานโดยไม่มีปัญหาในระหว่างการล่าช้า …

1
บัญชีการอนุญาตต้องใช้สิทธิ์ใดในการใช้จดหมายฐานข้อมูล
ฉันมีอินสแตนซ์ SQL Server 2012 ทำงานภายใต้บัญชีบริการที่ได้รับการจัดการ ฉันได้กำหนดค่าเมลฐานข้อมูลด้วยบัญชีเดียวและพยายามส่งทดสอบอีเมล แต่ฉันพบข้อผิดพลาดบางอย่างในบันทึกเหตุการณ์ของเซิร์ฟเวอร์: Database Engine Instance = MYINSTANCE; Mail PID = 2132 ข้อความแสดงข้อผิดพลาด: การอัพเดทฐานข้อมูลล้มเหลว สาเหตุ: สิทธิ์ EXECUTE ถูกปฏิเสธในวัตถุ 'sysmail_logmailevent_sp', ฐานข้อมูล 'msdb', schema 'dbo' อินสแตนซ์ Engine ของฐานข้อมูล = MYINSTANCE; Mail PID = 2212; ประเภทข้อยกเว้น: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException ข้อความ: การอ่านบนฐานข้อมูลล้มเหลว สาเหตุ: สิทธิ์ EXECUTE ถูกปฏิเสธในวัตถุ 'sp_readrequest', ฐานข้อมูล 'msdb', schema 'dbo' ข้อมูล: …

1
พื้นที่ว่างของ mdf และ ldf ไม่ตรงกับพื้นที่ว่างของฐานข้อมูล
ใน SSMS ฉันเห็นคุณสมบัติที่เกี่ยวข้องกับขนาดไฟล์และพบรายละเอียดด้านล่างสำหรับฐานข้อมูลเดียว ค่าที่นี่ไม่ตรงกับคุณสมบัติอื่น ขนาดที่นี่ของ mdf, ldf และขนาดรวมจะตรงกับค่าอื่น ๆ ภายใต้แต่ละหน้าต่าง แต่พื้นที่ว่างที่มีอยู่ของ mdf และ ldf หากมีการเพิ่มจะไม่เท่ากับพื้นที่ว่างที่มีอยู่ที่แสดงในหน้าต่างฐานข้อมูลที่ลดขนาดและพื้นที่ว่างที่แสดงในคุณสมบัติฐานข้อมูล สิ่งนี้เป็นจริงสำหรับฐานข้อมูลใด ๆ ทำไมถึงเป็นเช่นนั้น ใครช่วยอธิบายตรรกะเบื้องหลังนี้ได้ไหม? ภายใต้คุณสมบัติฐานข้อมูล: ขนาด: 91.31 MB พื้นที่ว่าง: 13.40 MB ภายใต้ความเหมาะสมของไฟล์ฐานข้อมูล: ขนาด mdf: 17 MB ขนาดไฟล์: 75 MB ภายใต้ฐานข้อมูลหดตัว: ขนาดที่จัดสรรในปัจจุบัน: 91.31 MB พื้นที่ว่าง: 13.40 MB ภายใต้ไฟล์ย่อขนาดสำหรับไฟล์ข้อมูล: ขนาดที่จัดสรรในปัจจุบัน: 16.38 MB พื้นที่ว่างที่มีอยู่: 12.63 MB ภายใต้การลดขนาดไฟล์สำหรับไฟล์บันทึก: ขนาดที่จัดสรรในปัจจุบัน: …

2
สาเหตุที่เป็นไปได้สำหรับ sp_reset_connection ใช้เวลานานในการดำเนินการคืออะไร?
ทำไมsp_reset_connectionขั้นตอนการจัดเก็บระบบจึงใช้เวลานานกว่าสองสามมิลลิวินาทีในการดำเนินการตามที่ดูผ่าน SQL Server Profiler ฉันทำการสืบค้นกลับอย่างง่ายจากระบบการผลิตโดยใช้ SQL Server Profiler จากนั้นใช้ SqlNexus เพื่อวิเคราะห์ SqlNexus ระบุว่า sp_reset_connection มีระยะเวลาสะสมสูงสุด - 33% ของการติดตามโดยรวม ระยะเวลาที่สังเกตได้อยู่ในช่วง 0-7 วินาที (12 ถึง 6,833,270 ไมโครวินาที) แต่มีค่าเฉลี่ยที่ 0.956 วินาที ฉันเข้าใจว่า sp_reset_connection กำลังถูกเรียกใช้เมื่อมีการใช้การเชื่อมต่อร่วมซ้ำอีกครั้ง ฉันได้เห็นข้อเสนอแนะว่าสิ่งนี้อาจเกิดขึ้นได้เนื่องจากมีร่องรอยจากภายนอกแต่ดูเหมือนจะไม่เป็นเช่นนั้น ฉันได้อ่านสิ่งที่เซิร์ฟเวอร์ทำเมื่อเรียกว่า sproc แต่ฉันไม่เชื่อว่าสิ่งเหล่านี้จะเป็นปัญหาในกรณีนี้ - รหัสไม่ออกจากธุรกรรมเปิดหรือตารางชั่วคราวขนาดใหญ่ที่จะต้องทำความสะอาด ฉันยังดูที่/server/199974/sp-reset-connection-taking-a-long-time-to-runแต่ก็ไม่ได้มีประโยชน์ แก้ไข (2013-12-23): ในทุกกรณีการอ่านและการเขียนคือ 0 และ CPU เกือบตลอดเวลาเป็น 0 (เพียงสองอินสแตนซ์ของ CPU ที่ไม่เป็นศูนย์เท่านั้นซึ่งทั้งสองอยู่ที่ 16ms)

3
คัดลอกข้อมูลขนาดใหญ่จากผลการสืบค้น sql
ใน sql server 2008 ของฉันหลังจากเรียกใช้คิวรีการส่งคืนข้อมูลมีขนาดใหญ่มากเป็นล้าน ฉันพยายามคัดลอก แต่ให้ข้อผิดพลาดหน่วยความจำ sql คุณช่วยบอกให้เรารู้ว่าฉันจะคัดลอกข้อมูลทั้งหมดและวางลงใน excel ได้อย่างไร ฉันไม่ต้องการส่งออกไปยังไฟล์ txt เนื่องจากข้อมูลไม่ได้รับการจัดตำแหน่ง ดังนั้นฉันต้องการคัดลอกและวางลงใน excel ด้วยตนเอง กรุณาแจ้งให้เราทราบวิธีแก้ปัญหาสำหรับเขา

1
ผลกระทบของการรัน sp_updatestats ในเซิร์ฟเวอร์การผลิตคืออะไร
การเรียกใช้sp_updatestatsSQL Server ในสภาพแวดล้อมการผลิตปลอดภัยหรือไม่? หรือมากกว่านั้นอะไรคือผลกระทบของการอัพเดตสถิติทั้งหมดบนเซิร์ฟเวอร์ sql สามารถ "ทำให้หายใจไม่ออก" เซิร์ฟเวอร์ sql ในขณะที่ทำงานและทำให้หมดเวลาหรือปัญหาอื่น ๆ สำหรับผู้ใช้หรือไม่

4
SQL Server เริ่มทำงาน แต่ไม่ได้ฟังพอร์ตใด ๆ
ฉันเพิ่งติดตั้ง SQL Server 2012 ยังไม่มีการสร้างฐานข้อมูล และฉันสามารถเปิด Studio จัดการด้วย sa / รหัสผ่าน Binn \ sqlservr.exe เริ่มทำงานเป็นบริการและฉันเห็นว่ามันเริ่มต้นในรายการบริการ อย่างไรก็ตามมันไม่ได้ฟังพอร์ต 1433 หรือแม้กระทั่งไม่ฟังพอร์ตใด ๆ โดยค่าเริ่มต้นตามที่ฉันตรวจสอบด้านล่าง: tasklist|find /I "sql" ฉันได้: sqlservr.exe 5668 Services 0 40,112 K ที่ 5668 ฉันคิดว่าเป็น PID จากนั้นรับ PID = "5668" กำลังฟังพอร์ตที่: netstat -ano | find /I "5668" แต่ฉันไม่ได้อะไรเลยนอกจากว่างเปล่า ในทางกลับกันหลังจากค้นหาโพสต์ในเว็บไซต์นี้ฉันตรวจสอบการกำหนดค่าเซิร์ฟเวอร์ SQL ของฉันอีกครั้ง: start-> …

1
SentryOne Plan Explorer นับการอ่านเป็น UDF หรือไม่
ฉันมีคำถามเช่นนี้ select dbo.fn_complexFunction(t.id) from mytable t ในSQL Sentry Plan Explorerฉันสังเกตเห็นว่าฉันต้องเรียกใช้ Get Estimated Plan เพื่อให้ Query Plan รวมถึง UDF เมื่อเรียกใช้ 'รับแผนจริง' จะไม่ปรากฏว่าการอ่านเชิงตรรกะและตัวชี้วัดอื่น ๆ รวมถึงการดำเนินการที่เกิดขึ้นใน UDF ในกรณีเช่นนี้การแก้ปัญหาเพียงอย่างเดียวในการใช้ Profiler คืออะไร

2
เกิดข้อผิดพลาดในการเรียกใช้สคริปต์ Powershell ใน SQL Server Agent
ฉันมีงาน SQL ที่ทำงานผ่านตัวแทนของเซิร์ฟเวอร์ SQL (กำลังเรียกใช้ SQL Server 2012 Enterprise) ขั้นตอนสุดท้ายของงานคือการเรียกใช้แอพพลิเคชั่นที่อยู่บนเครือข่ายแชร์ น่าเสียดายที่ฉันไม่ทราบชื่อโฟลเดอร์ที่มีแอปพลิเคชันอยู่ (โฟลเดอร์คือหมายเลขเวอร์ชั่น) ดังนั้นฉันจึงใช้ PowerShell เพื่อค้นหา: set-location "\\server\companydocuments\MyApp\Application Files\" $name = Get-ChildItem | sort name -desc | select -f 1 | select name cd $name.name & ".\Application.exe" ถ้าฉันเปิดหน้าต่าง PowerShell บน SQL Server มันก็ใช้ได้ดี เมื่อฉันเรียกใช้สิ่งนี้ในตัวแทนของเซิร์ฟเวอร์ SQL ฉันได้รับข้อผิดพลาดต่อไปนี้: A job step received an …

1
ความไม่เหมาะสมของการใช้ STATISTICS_NORECOMPUTE
เมื่อไม่นานมานี้ฉันได้มีส่วนร่วมในการบำรุงรักษาชุดฐานข้อมูลที่มีปัญหาดัชนีที่น่าสนใจ หนึ่งในสิ่งที่ทำให้ฉันแย่ที่สุดคือความแตกต่างของดัชนีระหว่างการพัฒนาการทดสอบแบบจำลองและเครื่องจักรการผลิต เนื่องจากความแตกต่างทำให้การปรับแต่งแบบสอบถามค่อนข้างยากที่จะทำการซิงค์เป็นหนึ่งในโครงการแรกของฉัน ในขณะที่ฉันได้เปรียบเทียบสภาพแวดล้อมการทดสอบและแบบจำลองฉันได้สังเกตเห็นว่าดัชนีส่วนใหญ่ในสภาพแวดล้อมแบบจำลองได้STATISTICS_NORECOMPUTEตั้งค่าไว้ONในขณะที่ไม่ได้ทำการทดสอบ ในสภาพแวดล้อมทั้งหมดมีงานยามค่ำคืนที่อัพเดตสถิติของฐานข้อมูลทั้งหมด ฉันไม่เคยจัดการSTATISTICS_NORECOMPUTEมาก่อนดังนั้นนี่คือคำถามของฉัน มีแนวทางปฏิบัติที่ดีที่สุดเมื่อจัดการกับการตั้งค่านี้หรือไม่? หากฉันกำลังอัปเดตสถิติในตอนท้ายของวันดีที่สุดที่จะเปิดSTATISTICS_NORECOMPUTEในทุกสภาพแวดล้อมของดัชนีทั้งหมดหรือไม่ หรือมีเหตุผลที่ดีที่จะไม่? แก้ไข: ฉันได้พบหนึ่งในบล็อกของ Kimberly Tripp ในหัวข้อที่นี่ซึ่งดูเหมือนว่าจะแนะนำว่าSTATISTICS_NORECOMPUTEควรใช้อย่างประหยัดที่สุด แต่ฉันยังคงกังวลเกี่ยวกับการปิดการใช้งานทั่วโลก มีใครลองบ้างและพวกเขามีประสบการณ์อย่างไรบ้าง

1
เงื่อนไขการบันทึกขั้นต่ำใน SQL
ฉันได้เขียนสคริปต์เพื่อทดสอบการอ้างสิทธิ์ที่เกิดขึ้นในหน้านี้http://technet.microsoft.com/en-us/library/dd425070(v=sql.100).aspxในตารางชื่อสรุปเงื่อนไขการบันทึกขั้นต่ำเกี่ยวกับเมื่อ การบันทึกที่น้อยที่สุดจะเกิดขึ้นหรือไม่เกิดขึ้น การใช้สคริปต์นี้ฉันพบว่าผลรวมของความยาวบันทึกการใช้งานสำหรับเม็ดมีดแต่ละประเภทมีดังต่อไปนี้: กองว่างไม่มี tablock 60000 กองว่างเปล่าด้วย tablock 56000 กองไม่ว่างเปล่าไม่มี tablock 60000 กองไม่ว่างเปล่าด้วย tablock 56000 ฮีปบวกดัชนีว่างเปล่าไม่มี tablock 126188 ฮีปบวกดัชนีว่างเปล่าด้วย tablock 114188 Heap plus index ไม่ว่างเปล่าไม่มี tablock 138696 ฮีปบวกดัชนีไม่ว่างด้วย tablock 112000 คลัสเตอร์ว่างไม่มีคำสั่ง tablock 64168 คลัสเตอร์ว่างเปล่าเรียงลำดับด้วย tablock 56168 คลัสเตอร์ว่างเปล่าไม่มีการเรียงลำดับ tablock 73388 คลัสเตอร์ว่างเปล่าเรียงลำดับด้วย tablock 65388 คลัสเตอร์ไม่ว่างเปล่าไม่มี tablock 63912 คลัสเตอร์ไม่ว่างเปล่าด้วย tablock 55944 คลัสเตอร์และดัชนีว่างเปล่าไม่มี tablock …

1
มีความแตกต่างระหว่างการให้สิทธิ์ผู้ใช้ SELECT กับการเพิ่มผู้ใช้ในบทบาท db_datareader หรือไม่?
ฉันถูกขอให้ทุนSELECT, INSERTและUPDATEไปยังผู้ใช้ที่กำหนดสำหรับตารางทั้งหมดในฐานข้อมูล ฉันสิ้นสุดการเพิ่มผู้ใช้db_datareaderและอนุญาตพวกเขาINSERTและUPDATEในระดับฐานข้อมูล แต่นั่นทำให้ฉันคิดว่าอะไรคือความแตกต่าง (ถ้ามี) ระหว่างการให้SELECTสิทธิ์ผู้ใช้ในระดับฐานข้อมูลหรือเพิ่มเข้าไปในdb_datareaderบทบาท และมีวิธีปฏิบัติที่ดีที่สุดในทางใดทางหนึ่งหรือไม่?

1
การติดตามการเปลี่ยนแปลงเปลี่ยนจาก SQL Server 2008 เป็น 2012 หรือไม่
ในปัญหาในการถ่ายภาพปัญหากับการซิงโครไนซ์อุปกรณ์ที่ไม่เชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลกลางเรากำลังประสบปัญหาหลังจากอัปเกรดเป็น SQL Server 2012 บนเซิร์ฟเวอร์ ดูเหมือนว่า CHANGE_TRACKING_MIN_VALID_VERSION จะส่งคืนค่าที่สูงกว่าที่ควร 1 (หรืออย่างน้อยก็กว่าที่เคยเป็นมาก่อนการอัพเกรด) ฉันทำงานผ่านตัวอย่างที่ยอดเยี่ยมของ Arshad Ali ถึงวิธีการตั้งค่าตัวอย่างง่ายๆ ฉันเรียกใช้สคริปต์จาก # 1 ถึง # 5 เพื่อแทรกลบและอัปเดตแถวในตารางพนักงานในทั้งสภาพแวดล้อมของ SQL Server 2008 และ 2012 ในปี 2008 คำสั่งต่อไปนี้จะคืนค่า 0: SELECT CHANGE_TRACKING_MIN_VALID_VERSION(OBJECT_ID('Employee')) ในปี 2012 จะส่งคืน 1 ในการทำงานกับสคริปต์อีกสองสาม (6-8) ในการทดสอบฉันตั้งระยะเวลาการเก็บข้อมูลเป็น 1 นาทีเพื่อหวังว่าจะบังคับให้มีการดำเนินการล้างข้อมูล ฉันออกไปทั้งวันและเห็นได้ชัดว่ามันวิ่งข้ามคืน ในอินสแตนซ์ปี 2008 CHANGE_TRACKING_CURRENT_VERSION และ CHANGE_TRACKING_MIN_VALID_VERSION มีค่าเท่ากับ (11) ในอินสแตนซ์ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.