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

SQL Server 2000 (รุ่นสร้างหลัก 8.00.xxxx) กรุณาติดแท็ก sql-server ด้วย

4
ฉันจะบอกได้อย่างไรว่าทำไมการแทรกในตารางที่กำหนดจึงช้า
ฉันรู้ว่า INSERT ในตาราง SQL อาจช้าด้วยเหตุผลหลายประการ: การมีอยู่ของ INSERT TRIGGERs บนโต๊ะ ข้อ จำกัด ที่บังคับใช้จำนวนมากที่ต้องตรวจสอบ (โดยปกติคือกุญแจต่างประเทศ) หน้าแยกในดัชนีคลัสเตอร์เมื่อแถวถูกแทรกในกลางตาราง การอัพเดตดัชนีที่ไม่ใช่คลัสเตอร์ทั้งหมดที่เกี่ยวข้อง การบล็อกจากกิจกรรมอื่น ๆ บนโต๊ะ เวลาตอบสนองการเขียน IO แย่ ... ทุกอย่างที่ฉันพลาดไป? ฉันจะรู้ได้อย่างไรว่าตัวไหนมีความรับผิดชอบในกรณีเฉพาะของฉัน? ฉันจะวัดผลกระทบของการแยกหน้าเทียบกับการปรับปรุงดัชนีที่ไม่ทำคลัสเตอร์กับทุกอย่างได้อย่างไร ฉันมี proc ที่เก็บไว้ซึ่งแทรกประมาณ 10,000 แถวต่อครั้ง (จากตารางชั่วคราว) ซึ่งใช้เวลาประมาณ 90 วินาทีต่อแถว 10k นั่นเป็นสิ่งที่ยอมรับไม่ได้ช้าเพราะจะทำให้เกิดการหมดเวลาอื่น ๆ ฉันได้ดูแผนการดำเนินการและฉันเห็นงาน INSERT CLUSTERED INDEX และ INDEX SEEKS ทั้งหมดจากการค้นหา FK แต่ก็ยังไม่ได้บอกฉันว่าทำไมมันถึงใช้เวลานาน ไม่มีทริกเกอร์ แต่ตารางมี FKeys …

1
อัปเกรดฐานข้อมูล SQL Server 2000 เป็น 2008 R2 และเปิดใช้งานคุณลักษณะใหม่
ฉันเพิ่งอัพเกรดฐานข้อมูล SQL Server 2000 เป็น 2008 R2 สิ่งที่ฉันทำคือ: ปิดบริการ SQL Server 2000 (ด่วน) บนเครื่องเก่า ย้าย datafiles ( mydatabase.mdfและmydatabase.ldf ) ไปยังเครื่องใหม่ เรียกใช้ SQL Server Management Studio 2008 เชื่อมต่อกับโปรแกรมฐานข้อมูลท้องถิ่น แนบดาต้าไฟล์เข้ากับฐานข้อมูล เปลี่ยนระดับความเข้ากันได้ของฐานข้อมูลเป็น SQL 2008 (100) คำถาม: ฉันต้องทำอะไรอีกบ้างเพื่อให้การย้ายข้อมูลเสร็จสมบูรณ์ ฉันต้องการ: ใช้คุณสมบัติใหม่เช่นการตรวจสอบและการกู้คืนเต็มรูปแบบ ทำฐานข้อมูลนี้ให้ตรงตามที่สร้างใน SQL 2008 R2 ทำให้ฐานข้อมูลนี้สามารถใช้งานร่วมกันได้อย่างถูกต้องและสมบูรณ์แบบสำหรับเครื่องมือฐานข้อมูล SQL 2008 R2 ใหม่ กล่าวอีกนัยหนึ่ง:ฉันแค่ต้องการทราบวิธีการแปลงฐานข้อมูล SQL 2000 เก่าอย่างถูกต้องและสมบูรณ์ให้เป็นฐานข้อมูล 2008 …

2
คุณรีเซ็ตรหัสผ่าน sa ได้อย่างไร
ฉันลืมรหัสผ่าน sa บนเครื่องและเมื่อฉันเข้าสู่ระบบโดยตรงโดยใช้บัญชีในกลุ่มผู้ดูแลระบบ SQL Server Management Studio จะไม่อนุญาตให้ฉันเข้าสู่ระบบโดยใช้การรับรองความถูกต้องของ Windows แผนของฉันคือเพียงลงชื่อเข้าใช้เซิร์ฟเวอร์เชื่อมต่อผ่านการรับรองความถูกต้องของ Windows และรีเซ็ต sa ให้ใช้รหัสผ่านใหม่ เนื่องจากฉันไม่สามารถเชื่อมต่อผ่านการรับรองความถูกต้องของ Windows สิ่งนี้จะไม่ทำงาน ฉันจะรีเซ็ตรหัสผ่าน sa ได้อย่างไร

5
เหตุใดเซิร์ฟเวอร์ที่เชื่อมโยงจึงมีข้อ จำกัด ถึง 10 สาขาในนิพจน์ CASE
ทำไมCASEการแสดงออกนี้: SELECT CASE column WHEN 'a' THEN '1' WHEN 'b' THEN '2' ... c -> i WHEN 'j' THEN '10' WHEN 'k' THEN '11' END [col] FROM LinkedServer.database.dbo.table สร้างผลลัพธ์นี้หรือไม่ ข้อความแสดงข้อผิดพลาด: ข่าวสารเกี่ยวกับ 8180, ระดับ 16, สถานะ 1, คำสั่ง Line 1 ไม่สามารถจัดเตรียมได้ ข่าวสารเกี่ยวกับ 125, ระดับ 15, สถานะ 4, นิพจน์กรณีบรรทัด 1 อาจซ้อนอยู่ในระดับ 10 …

3
ฉันควรโอนย้ายข้อมูลโดยใช้ detach / copy / attach หรือผ่าน backup-restore-replay หรือไม่
ฉันกำลังจะเริ่มดำเนินการเกี่ยวกับการย้ายไฟล์ฐานข้อมูลไปยัง SAN ใหม่ (จาก SAN เก่า) อับดุลฉันมีสองตัวเลือกในการใช้งานนี้ (1) แนะนำให้ฉันดูระดับความพยายามในการกู้คืนการสำรองข้อมูลเต็มรูปแบบไปยังฐานข้อมูลใหม่บนเซิร์ฟเวอร์ อย่างไรก็ตาม (2) แผนดั้งเดิมของฉันคือการคัดลอกไฟล์จาก SAN เก่าไปยัง SAN ใหม่โดยการแยกออกแล้วติดตั้งฐานข้อมูลอีกครั้ง ไส้ของฉันบอกฉันว่าฉันอยากถอดคัดลอกและติดเนื่องจากดูเหมือนว่าจะไม่ปลอดภัยมากกว่า แต่นั่นอาจเป็นความไร้เดียงสาของฉัน ฉันไม่ต้องการที่จะพลาดการทำธุรกรรมหรือ "ทำลายบางอย่าง" ในกระบวนการเปลี่ยนชื่อฐานข้อมูล ฉันเดาคำถามของฉันหรือไม่ว่าฉันมีเหตุผลในความสงสัยของตัวเลือก BACKUP-RESTORE-Replay และข้อดีหรือความเสี่ยงอื่นของตัวเลือกนั้นคืออะไร

1
ฉันจะออกแบบแบบสอบถามเพื่อหยุดชั่วคราว / พัก / รอเป็นระยะเวลาที่กำหนดได้อย่างไร
ฉันกำลังทดสอบแอปพลิเคชันตรวจสอบกับอินสแตนซ์ SQL Server 2000 ฉันจะเขียนเคียวรี T-SQL ที่ใช้เวลาในการระบุได้อย่างไร ตัวอย่างเช่นภาษาสคริปต์ส่วนใหญ่มีSLEEPคำสั่งที่ให้คุณหยุดการทำงานของสคริปต์ชั่วคราวตามเวลาที่กำหนด ฉันกำลังมองหาสิ่งที่คล้ายกันที่เข้ากันได้กับ SQL Server 2000 นี่คือจุดประสงค์เพื่อทดสอบการตั้งค่าขีด จำกัด การสืบค้นที่ใช้งานได้ยาวนานของแอปพลิเคชันการตรวจสอบ

1
มีเหตุผลที่ฉันไม่ควรตั้งเจ้าของ db เป็น [sa] หรือไม่?
เมื่อวานนี้ฉันถามคำถามนี้เกี่ยวกับการเปลี่ยน dbo ของหลายฐานข้อมูลที่ฉันมี การเปลี่ยนแปลงนั้นสมเหตุสมผล แต่ฉันต้องการชัดเจน มีเหตุผลหรือสถานการณ์ที่ดีว่าทำไมฉันไม่ควรตั้งค่า dbo ของฐานข้อมูลเป็น [sa]?

6
แผนปฏิบัติการช้าสำหรับ Proc ที่เก็บไว้
ฉันกำลังพยายามที่จะเข้าใจปัญหาที่เรามีกับ SQL Server 2000 เราเป็นเว็บไซต์ที่ทำธุรกรรมปานกลางและเรามี proc ที่เก็บไว้sp_GetCurrentTransactionsซึ่งเรียกว่ารับรหัสลูกค้าและสองวัน ตอนนี้ขึ้นอยู่กับวันที่และลูกค้าแบบสอบถามนี้สามารถส่งคืนอะไรก็ได้จากศูนย์ถึง 1,000 แถว ปัญหา: สิ่งที่เราพบคือทันใดนั้นเราจะได้รับข้อผิดพลาดจำนวนมาก (โดยทั่วไปExecution Timeout Expiredหรือคล้ายกัน) สำหรับลูกค้าเฉพาะขณะที่พวกเขาลองดำเนินการ proc ที่เก็บไว้ ดังนั้นเราตรวจสอบแบบสอบถามเรียกใช้ใน SSMS และพบว่าใช้เวลา 30 วินาที ดังนั้นเราจึงคอมไพล์ proc ที่เก็บไว้และ -bang- อีกครั้งมันทำงานใน 300ms ฉันได้พูดคุยกับ DBA ของเราเกี่ยวกับเรื่องนี้แล้ว เขาบอกฉันว่าฐานข้อมูลสร้างแผนแบบสอบถามเมื่อเราสร้าง proc ที่เก็บไว้ เขาบอกว่ามันเป็นแผนการที่ดีสำหรับชุดของพารามิเตอร์นั้น แต่ถ้าคุณโยนชุดของพารามิเตอร์ที่กำหนดไว้แผนจะไม่เป็นแผนการที่ดีที่สุดสำหรับข้อมูลนั้นและคุณจะเห็นว่ามันทำงานช้า ตัวเลือกที่นำเสนอให้ฉันคือการย้ายที่แบบสอบถามปัญหาจาก proc ที่เก็บไว้และกลับสู่ SQL แบบไดนามิกที่มีแผนการดำเนินการที่สร้างขึ้นในการทำงานทุกครั้ง มันให้ความรู้สึกเหมือนย้อนกลับไปหาฉันและฉันรู้สึกว่าต้องมีวิธีแก้ไข มีวิธีอื่นในการจัดการกับปัญหานี้หรือไม่? คำตอบใด ๆ และทั้งหมดได้รับการชื่นชม

3
ฉันสามารถเชื่อมต่อกับอินสแตนซ์ SQL Server 2000 จาก SQL Server Management Studio 2012 ได้หรือไม่
ฉันต้องการอัปเดตเครื่องพัฒนาเป็น SQL Server 2012 แต่ฉันยังคงจัดการกับเครื่อง SQL Server 2000 (เก่ามาก) บางเครื่อง SSMS 2012 ของฉันสามารถเชื่อมต่อกับเครื่อง SQL Server 2000 ได้ไหม SQL Server 2008 R2 ทำงานได้ดี (สิ่งที่ฉันมีตอนนี้)

6
โอนย้ายจาก SQL Server 2000 เป็น 2012 โดยไม่มีอินสแตนซ์ 2005 หรือ 2008
ฉันเจอฐานข้อมูลเก่าสามตัวที่นั่งอยู่บน SQL Server 2000 ซึ่งฉันต้องการย้ายไปยังปี 2012 ฉันเชื่อว่าวิธีมาตรฐานคือการกู้คืนอินสแตนซ์ของปี 2005 หรือ 2008 อัปเดตส่งออกอีกครั้งและคืนค่าในปี 2012 ใช้ได้ยกเว้นเราไม่มีอินสแตนซ์ 2005 หรือ 2008 มีวิธีแก้ไขปัญหาหรือวิธีอื่น ๆ ที่อาจคุ้มค่าที่จะลองหรือไม่ สำหรับข้อมูลฐานข้อมูลมีเพียง 15-20 ตารางและดูไม่กี่ครั้งซึ่งดูง่ายมากและการสำรองข้อมูลมีขนาดเพียง 100-200MB

3
วิธีชะลอการเริ่มต้นของ SQL Server
เมื่อเราบู๊ต SQL Server ไดร์ฟ SAN อาจยังไม่สามารถใช้งานได้ มีวิธีการหน่วงเวลา SQL Server โดยเริ่ม 1 นาทีหรือไม่ ตอนนี้เราต้องรีสตาร์ท SQL Server หลังจากเราบูตเซิร์ฟเวอร์

2
SQL Server 2000 บน Windows 10
ฉันต้องการติดตั้ง SQL Server MSDE 2000 SP4 บน Windows 10 ฉันมีเครื่องอื่น ๆ ที่ใช้ Windows 7 และ 8.1 และ SQL Server MSDE 2000 ทำงานได้ดี (ด้วยการรวมแบบจำลองที่กำหนดค่าไว้ด้วย) ตอนนี้ฉันทดสอบสถานการณ์เดียวกันกับ Windows 10 แต่การติดตั้งกำลังปิดโดยไม่คาดคิดระหว่างการติดตั้ง ฉันรู้ว่ารุ่นนี้เก่ามาก แต่มีวิธีแก้ไขในการติดตั้งบน Windows 10 หรือไม่?

5
แบบสอบถามโดยไม่ต้องระบุสคีมาของตาราง
ฉันนำเข้าตารางจาก SQL Server 2000 ไปยังฐานข้อมูล 2008 ของฉัน erpadmin.tablenameทุกตารางที่นำเข้าจะมีคำนำหน้าชื่อผู้ใช้ของฉันเช่น: ในคุณสมบัติตารางจะแสดงรายการ 'erpadmin' เป็น db schema เมื่อฉันเขียนแบบสอบถามตอนนี้ฉันต้องรวม 'erpadmin' ต่อหน้าชื่อตารางทั้งหมดซึ่งทำให้เกิดความสับสน ผลลัพธ์ปัจจุบัน: select * from erpadmin.tablename ผลลัพธ์ที่ต้องการ: select * from tablename

1
ไม่สามารถสแกนด้วย NOLOCK ต่อเนื่องจากการเคลื่อนไหวของข้อมูล
เราเรียกใช้ SQL Server 2000 และเราได้รับข้อผิดพลาดเล็กน้อยทุกคืน Could not continue scan with NOLOCK due to data movement แบบสอบถามที่ส่งข้อผิดพลาดนี้เป็นแบบสอบถามที่ซับซ้อนขนาดใหญ่ที่รวมอยู่เหนือตารางโหล ข้อมูลพื้นฐานของเราสามารถอัปเดตบ่อยครั้ง 'การปฏิบัติที่ดีที่สุด' ทางวัฒนธรรมคือในอดีตการแนะนำของNOLOCKคำแนะนำที่เพิ่มประสิทธิภาพและการปรับปรุงพร้อมกัน แบบสอบถามนี้ไม่จำเป็นต้องมีความแม่นยำ 100% เช่นเราจะทนต่อการอ่านที่สกปรก ฯลฯ อย่างไรก็ตามเราพยายามที่จะเข้าใจว่าเหตุใดฐานข้อมูลจึงโยนข้อผิดพลาดนี้ถึงแม้ว่าเราจะมีคำแนะนำการล็อคเหล่านี้ทั้งหมด ทุกคนสามารถให้ความกระจ่างเกี่ยวกับเรื่องนี้ - อ่อนโยนฉันเป็นโปรแกรมเมอร์ไม่ใช่ DBA :) PS: เราได้ใช้การแก้ไขที่กล่าวถึงด้านล่างก่อนหน้านี้: http://support.microsoft.com/kb/815008
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.