มีรายการการดำเนินงานออนไลน์ที่สมบูรณ์สำหรับ SQL Server แต่ละเวอร์ชันหรือไม่


20

ในขณะที่เรากำลังจะเปลี่ยนตารางขนาดใหญ่บางส่วนในฐานข้อมูล 5TB ของเราฉันพบว่าตัวเองต้องการรายชื่อของการดำเนินการที่สามารถดำเนินการออนไลน์และที่ต้องล็อคเต็มรูปแบบที่จะจัดขึ้นในขณะที่พวกเขาทำงาน ในอุดมคติแล้วรายการนี้จะมีข้อมูลเกี่ยวกับคำสั่งที่ต้องการล็อค SCH-M เพื่อกระทำในตอนท้าย

ในขณะที่ฉันรู้ว่าส่วนใหญ่ของพวกเขาจากเวลาของฉันใน Microsoft ฉันรู้สึกประหลาดใจที่ฉันไม่สามารถหารายชื่อของการดำเนินงานออนไลน์ที่เปิดเผยต่อสาธารณชนเนื่องจากพวกเขาวิวัฒนาการมาจาก SQL Server 2005 และตลอดจนถึง 2014 CTP

ใครบ้างมีรายการดังกล่าวพร้อมใช้งาน? ถ้าไม่ฉันอาจตัดสินใจสร้างมันขึ้นมา


4
ฉันคิดว่าคุณอาจจะดูสิ่งนี้จากด้านที่ผิดของสเปกตรัม แทนที่จะแก้ไขสิ่งที่คุณสามารถทำทางออนไลน์ได้คุณควรจะทำในสิ่งที่คุณต้องทำและค้นหาสิ่งที่สามารถทำได้ทางออนไลน์ "ออนไลน์" เป็นคำทั่วไปมากและในขณะที่คุณแสดงว่าขึ้นอยู่กับการทำงานพร้อมกัน คำถามติดตามของฉันคือ "คุณพยายามทำอะไร?
Thomas Stringer

2
ฉันไม่เห็นด้วย @ThomasStringer - ตัวเลือกที่คุณจะทำในระบบขนาดใหญ่จะขึ้นอยู่กับสิ่งที่คุณสามารถทำได้ไม่ใช่สิ่งที่คุณต้องการจะทำ ฉันต้องการให้ทุกอย่างเป็นออนไลน์ - แต่ฉันรู้ว่ามันเป็นไปไม่ได้ - ดังนั้นฉันจึงพยายามแมปพื้นที่การออกแบบ
โทมัส Kejser

"เรากำลังจะเปลี่ยนตารางขนาดใหญ่บางส่วน" ... คุณกำลังเปลี่ยนแปลงอะไร นั่นคือสิ่งที่ฉันพยายามจะทำ ฉันสงสัยว่าตารางงานของคุณจะช่วยให้คุณทำสิ่งสุ่ม ๆ ในตารางขนาดใหญ่ในฐานข้อมูลขนาดใหญ่ดังนั้นคุณต้องมีการดำเนินการบางอย่างในใจ หากคุณกำลังมองหาสิ่งที่การดำเนินงานต้องการความมั่นคงของสคีมาหรือปรับเปลี่ยนการล็อคนั่นเป็นสิ่งที่แตกต่างอย่างสิ้นเชิง อีกครั้ง ... "ออนไลน์" อยู่ในสายตาของผู้ดู / ผู้ร้องขอ
Thomas Stringer

2
หากไม่พบแหล่งข้อมูลที่เชื่อถือได้จะเป็นประโยชน์สำหรับผู้อ่านในอนาคตที่จะแสดงรายการสิ่งที่คุณรู้ว่าเป็นการดำเนินการออนไลน์จากเวลาของคุณที่ MS
billinkc

8
รายการจะเป็นอย่างไร :)
nmad

คำตอบ:


5

เสียงเหมือนกิจการ การดำเนินการดัชนีออนไลน์ไม่พร้อมใช้งานใน Microsoft SQL Server ทุกรุ่นหวังว่าคุณสามารถเริ่มต้นได้ (ในรูปแบบตาราง):

SQL Server 2012: http://msdn.microsoft.com/en-us/library/ms190981.aspx

SQL Server 2008R2: http://msdn.microsoft.com/en-us/library/ms190981(v=sql.105).aspx

SQL Server 2008: http://msdn.microsoft.com/en-us/library/ms190981(v=sql.100).aspx

SQL Server 2005: http://msdn.microsoft.com/en-us/library/ms190981(v=sql.90).aspx


5

SQL Server 2014 ไม่แนะนำการดำเนินงานออนไลน์แบบใหม่ ๆ แต่จะปรับปรุงการดำเนินงานจำนวนมากเพื่อเพิ่มความพร้อมใช้งาน จากส่วนใหม่คืออะไร :

การสลับพาร์ติชั่นและการทำดัชนี

ตอนนี้พาร์ติชันแต่ละตารางของพาร์ติชันสามารถสร้างใหม่ได้แล้ว สำหรับข้อมูลเพิ่มเติมดูที่การเปลี่ยนแปลงดัชนี (Transact-SQL)

และ

การจัดการลำดับความสำคัญการล็อคของการดำเนินงานออนไลน์

ตอนนี้ตัวเลือก ONLINE = ON มีตัวเลือก WAIT_AT_LOW_PRIORITY ซึ่งอนุญาตให้คุณระบุระยะเวลาที่กระบวนการสร้างใหม่ควรรอให้ล็อคที่จำเป็น ตัวเลือก WAIT_AT_LOW_PRIORITY ยังช่วยให้คุณกำหนดค่าการยุติกระบวนการบล็อกที่เกี่ยวข้องกับคำสั่งการสร้างใหม่นั้น สำหรับข้อมูลเพิ่มเติมดู ALTER TABLE (Transact-SQL) และ ALTER INDEX (Transact-SQL) ข้อมูลการแก้ไขปัญหาเกี่ยวกับสถานะการล็อคชนิดใหม่มีอยู่ใน sys.dm_tran_locks (Transact-SQL) และ sys.dm_os_wait_stats (Transact-SQL)

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