ตารางบันทึกการหมดเวลาใน SQL Server


16

ฉันกำลังพยายามเพิ่มคอลัมน์ในตารางที่มีข้อมูลจำนวนมากใน SQL Server 2005 โดยใช้ SSMS

ดังนั้นฉันเรียกดูตารางเลือกแก้ไขและเพิ่มคอลัมน์ใหม่ จากนั้นเมื่อฉันกดบันทึกฉันจะได้รับคำเตือนต่อไปนี้:

การบันทึกคำจำกัดความการเปลี่ยนแปลงตารางที่มีข้อมูลจำนวนมากอาจใช้เวลานานพอสมควร ขณะบันทึกการเปลี่ยนแปลงข้อมูลตารางจะไม่สามารถเข้าถึงได้

ฉันโอเคกับสิ่งนั้นฐานข้อมูลออฟไลน์และฉันมีเวลาทั้งหมดในโลกดังนั้นฉันจึงกดใช่

อย่างไรก็ตามการดำเนินการจะหมดเวลาหลังจากนั้นประมาณ 30 วินาทีด้วยข้อความนี้:

ไม่สามารถแก้ไขตาราง การหมดเวลาหมดอายุแล้ว รอบระยะเวลาการหมดเวลาผ่านไปก่อนที่การดำเนินการจะเสร็จสิ้นหรือเซิร์ฟเวอร์ไม่ตอบสนอง

จากนั้นเมื่อฉันกดตกลง:

ผู้ใช้ถูกยกเลิกจากกล่องโต้ตอบบันทึก (เครื่องมือ MS Visual Database)

ฉันไม่เข้าใจ ฉันได้ตั้งค่าการหมดเวลาดำเนินการเป็น 0 (ไม่ จำกัด ) ทั้งในกล่องโต้ตอบการเชื่อมต่อ SSMS และภายใต้เครื่องมือ -> ตัวเลือก -> การดำเนินการค้นหา -> SQL Server อะไรคือจุดของการตั้งค่าการหมดเวลาดำเนินการหากไม่ได้รับการดำเนินการ

ไม่มีใครรู้ว่าค่าการหมดเวลาใช้งานที่นี่และฉันจะตั้งค่าได้อย่างไร

คำตอบ:


27

ดูเหมือนการตั้งค่าการหมดเวลา ดังนั้น SSMS ของคุณคิดว่าใช้เวลานานเกินไปและยกเลิกการเชื่อมต่อสำหรับคุณ บทบาทเซิร์ฟเวอร์ SQL กลับมา แต่มีความช่วยเหลือ คุณไม่ใช่คนแรกที่พบสิ่งนี้

ดูที่นี่

สำหรับทุกคนที่ไม่ต้องการคลิกลิงก์ นี่คือคำตอบที่ชนะราคา:

หลังจากกดปุ่มข้อผิดพลาดเดียวกันฉันก็สะดุดกับการตั้งค่า corrent

ใน Management Studio จากเมนูเครื่องมือให้เลือกตัวเลือกจากนั้นคลิก "นักออกแบบ" มีตัวเลือกที่เรียกว่า "แทนที่ค่าการหมดเวลาสตริงการเชื่อมต่อสำหรับการปรับปรุงตัวออกแบบตาราง:" ในกล่อง "หมดเวลาการทำธุรกรรมหลัง:" คุณจะเห็นเวทย์มนตร์ 30 วินาที


6

// ทำตาม:

เปิดสตูดิโอจัดการเซิร์ฟเวอร์ SQL -> เมนูเครื่องมือ -> ตัวเลือก -> แท็บออกแบบ -> ออกแบบตารางและฐานข้อมูล -> เพิ่มการหมดเวลาจาก 30 วินาทีเป็น 65535 วินาที -> ตกลง

// ตอนนี้คุณสามารถบันทึกการเปลี่ยนแปลงตารางของคุณได้แล้ว // หวังว่าจะช่วยได้และตรวจสอบบล็อกของฉัน @: //www.ogolla.blogspot.com


1
ว้าวนั่นคือการตั้งค่าการหมดเวลา 18 + ชั่วโมงมหันต์ ถึงเวลางีบหลับ!
Peter Schuetze

0

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

แก้ไขตาราง TableName เพิ่ม NewColumn INT

SSMS กำลังสร้างตารางใหม่ด้วยคอลัมน์ทั้งหมดนำเข้าข้อมูลไปยังตารางใหม่และวางตารางเก่า แม้ว่าคุณจะมีเวลาทั้งหมดในโลกหากมีวิธีที่มีประสิทธิภาพในการทำสิ่งต่าง ๆ คุณควรใช้วิธีการที่ถูกต้อง เพื่อหลีกเลี่ยงความยุ่งเหยิงนี้ใน SQL Server 2008 จะไม่อนุญาตให้ใช้วิธี GUI IIRC


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