วิธีการควบคุมลำดับของเซิร์ฟเวอร์ที่แสดงรายการในกล่องโต้ตอบการเชื่อมต่อ SSMS


11

โครงการปัจจุบันของฉันเกี่ยวข้องกับการสับเปลี่ยนฐานข้อมูลจำนวนมากเมื่อเราอัปเกรดจาก SQL 2008 -> 2012, ฮาร์ดแวร์งานซ้ำทำซ้ำ

สิ่งเล็กน้อยที่น่ารำคาญคือกล่องโต้ตอบการเชื่อมต่อใน SSMS ทำการสับคำสั่งเซิร์ฟเวอร์อีกครั้งเพื่อให้ได้ข้อมูลล่าสุดอยู่ด้านบน ระบุว่าในวันใดวันหนึ่งฉันกำลังเชื่อมต่อกับเซิร์ฟเวอร์ 6-10 DB และต้องการค้นหาหนึ่งในรายการอย่างรวดเร็วพฤติกรรมนี้เป็นอุปสรรคมากกว่าความช่วยเหลือ

มีวิธีการปิดการใช้งานพฤติกรรมนี้มีเซิร์ฟเวอร์ที่แสดงรายการตามลำดับตัวอักษรหรือในลำดับที่พวกเขาเพิ่ม ... หรือสิ่งที่ไม่เปลี่ยนแปลงทุกครั้งที่ฉันเชื่อมต่อกับเซิร์ฟเวอร์หรือไม่

มีข้อแตกต่างอย่างสิ้นเชิงในการจัดการการเชื่อมต่อกับเซิร์ฟเวอร์เฉพาะจากรายการ / ฟาร์มของพวกเขาหรือไม่?

ฉันกำลังใช้ SSMS สำหรับ SQL 2012 (แต่ฉันอยากรู้เกี่ยวกับโซลูชั่น 2008 ด้วย)

คำตอบ:


6

ใช้เซิร์ฟเวอร์ที่ลงทะเบียนหรือตั้งค่าเซิร์ฟเวอร์การจัดการกลาง (CMS) ฉันขอแนะนำอย่างหลังถ้าคุณสามารถใช้เวลา (เล็ก) ในการตั้งค่าโครงสร้างพื้นฐานเพราะจะทำให้ทุกคนเห็นรายการเซิร์ฟเวอร์เดียวกันแทนที่จะเป็นเพียงคุณ (เซิร์ฟเวอร์ที่ลงทะเบียนจะถูกเก็บไว้ในรีจิสทรี) "ข้อเสียเปรียบ" อย่างเดียวของ CMS คือคุณต้องใช้ Windows Authentication เนื่องจากรหัสผ่านไม่ได้อยู่ในดิสก์

คุณสมบัติทั้งสองนี้ช่วยให้คุณสามารถรักษารายการเซิร์ฟเวอร์ที่เรียงลำดับ / จัดกลุ่มไว้และจัดการเซิร์ฟเวอร์เป็นกลุ่ม สิ่งนี้มีประสิทธิภาพมากเนื่องจากการจัดการตามนโยบายผสานรวมกับ GUI อย่างแน่นหนา

สิ่งนี้ใช้ได้กับเซิร์ฟเวอร์ทุกรุ่น - ฉันใช้ SSMS 2012 และจัดการเซิร์ฟเวอร์ 2005-2012 เซิร์ฟเวอร์ CMS สามารถตั้งค่าในรุ่น Express ดังนั้นการออกใบอนุญาตจึงไม่ต้องกังวล อย่างไรก็ตามฉันขอแนะนำให้ทำการสำรองฐานข้อมูลระบบเพื่อให้รายการเซิร์ฟเวอร์สามารถกู้คืนได้


ข้อเสียเปรียบเท่านั้นเราวิ่งเข้าไปในกับเรื่องนี้ก่อนที่จะเป็น (ผมที่ถูกต้องหากฉันผิด) CMS ที่ไม่สามารถเป็นสมาชิกของกลุ่มของตัวเอง ... ดังนั้นคุณจำเป็นต้องมีอินสแตนซ์พิเศษเพียงจะเป็น CMS ถูกต้องหรือไม่ คุณจะนำสิ่งนี้ไปใช้ให้เป็นประโยชน์ได้อย่างไร ... หรือคุณแค่กินอาหารเสริมที่ไหนสักแห่ง? อีกหนึ่งรายการ: พวกเราส่วนใหญ่ทำงานจากระยะไกลไม่ได้เชื่อมต่อกับโดเมนเสมอสิ่งนี้จะทำงานอย่างไรเมื่อเปิดใช้ SSMS เพื่อการพัฒนาในท้องถิ่นล่าช้าไม่มีผลกระทบ
Nick Craver

@Nick: ใช่ฉันขอแนะนำให้ตั้งค่าอินสแตนซ์ใหม่สำหรับ CMS วิธีนี้แยกออกจากโครงสร้างพื้นฐาน SQL จริง นั่นเป็นเหตุผลที่ฉันสัมผัสกับการออกใบอนุญาตในคำตอบของฉันและสังเกตว่ามันต้องใช้ความพยายามพิเศษเล็กน้อยในการตั้งค่า
Jon Seigel

@ นิค: ฉันจำเป็นต้องทราบข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งโครงสร้างพื้นฐาน - มีบางอย่างที่ไม่สมเหตุสมผล คุณไม่ได้เชื่อมต่อโดยตรงจากเครื่องที่บ้านของคุณไปยังเซิร์ฟเวอร์ SQL ที่ใช้งานจริงคุณ (ฉันไม่ได้คิดเอาเอง)? หากคุณต้องการรวมเซิร์ฟเวอร์ภายในให้ใช้เซิร์ฟเวอร์ที่ลงทะเบียนสำหรับส่วนนั้นเนื่องจากรายการจะถูกเก็บไว้ในเครื่อง
Jon Seigel

โอ้ใช่เราทำได้ :) นี่คือเครื่อง dev ของฉันดังนั้นฉันจึงเชื่อมต่อกับเซิร์ฟเวอร์ SQL ทั้งหมดในโครงสร้างพื้นฐาน SE จากที่นี่ (แต่บางครั้งก็ไม่ทำ dev ท้องถิ่นและไม่ได้อยู่บน VPN ... โดยเฉพาะบนแล็ปท็อป) การออกใบอนุญาตไม่ใช่ปัญหาสำคัญ แต่อินสแตนซ์ที่แยกจากกันโดยสิ้นเชิง (และตำแหน่งที่จะเก็บไว้) นั้นเป็นสิ่งที่ไม่ทราบ ... ไม่แน่ใจว่าเซิร์ฟเวอร์ใดที่เราต้องการเปิดใช้งาน ความกังวลของฉันคือเมื่อ SSMS ไม่สามารถเข้าถึง CMS มีการหมดเวลาบางประเภทเมื่อคุณเปิด SSMS หรือไม่
Nick Craver

@Nick: ใช่มันง่ายกว่ามากเมื่อทุกอย่างเสมือนจริง :) เราจัดการกับ VM ของเรา อีกตัวเลือกหนึ่งคือการใช้อินสแตนซ์รุ่นสำหรับนักพัฒนาซอฟต์แวร์แทน Express ซึ่งให้เอเจนต์ SQL แก่คุณเพื่อแจ้งให้คุณทราบว่ามีบางอย่างผิดปกติหรือไม่ ไม่ไม่มีการหมดเวลาเมื่อเปิด SSMS คุณจะได้รับการรอเมื่อคุณพยายามที่จะขยายโหนด CMS ในแท็บเซิร์ฟเวอร์ที่ลงทะเบียน (ที่คาดว่าจะ)
Jon Seigel

4

คุณไม่สามารถควบคุมคำสั่งซื้อนี้ได้เว้นแต่ว่าคุณจะแฮ็คเข้าไปใน SqlStudio.bin หรือลบรายการและเพิ่มพวกเขาใหม่ตามลำดับที่คุณต้องการ วิธีแก้ปัญหารวมถึง:

โปรดทราบว่าคำสั่งซื้อจะได้รับความสับสนทันทีที่คุณเชื่อมต่อกับเซิร์ฟเวอร์ที่ไม่ได้อยู่ในตำแหน่งแรกเนื่องจากเป็นรายการ MRU (ที่ซึ่งการเชื่อมต่อล่าสุดแสดงอยู่ก่อน)

คุณสามารถดูรายละเอียดเพิ่มเติมในคำถาม SO เหล่านี้:

และคุณสามารถเห็นข้อผิดพลาดที่ฉันยื่นซึ่งเริ่มต้นความสามารถในการใช้คีย์ลบ:

และข้อบกพร่องอื่น ๆ ที่ผุดขึ้นมาเป็นผล:


1
+1 ฉันไม่รู้ว่าคุณสามารถกดเม้าส์ด้วย SSMS ได้ นี่คือน้ำหนักของทองคำ
Thomas Stringer

1

คุณไม่จำเป็นต้องแฮ็คอะไรเลยตราบใดที่ฉันได้แก้ไขปัญหานี้ใน SSMSBoost Add-in (.com) ของฉัน - คุณสามารถดาวน์โหลดและใช้งานได้ฟรี คุณเพียงแค่กำหนดรายการของการเชื่อมต่อที่คุณต้องการในการตั้งค่า (ดูรูป) แล้วสิ่งนี้จะพร้อมใช้งานเป็นแบบหล่นลงบนแถบเครื่องมือดังนั้นแม้การสลับระหว่างเซิร์ฟเวอร์จะใช้เวลาเพียงคลิกเดียวเท่านั้น หล่นลง.

ตอนนี้ภาพบางส่วน:

บทสนทนาการตั้งค่า: ป้อนคำอธิบายรูปภาพที่นี่

หากคุณดูตัวเลือกอื่น ๆ คุณจะพบ "การแจ้งเตือนฐานข้อมูลสำคัญ" - ตัวเลือกนี้อาจมีประโยชน์สำหรับคุณตราบใดที่คุณสลับระหว่างฐานข้อมูลใหม่และเก่าการทดสอบและเซิร์ฟเวอร์จริงระหว่างทำงานในโครงการของคุณ คุณสามารถกำหนดค่าการแจ้งเตือนซึ่งจะแสดงเป็นคำแนะนำเครื่องมือใหญ่ที่ตำแหน่งที่ระบุบนหน้าจอเท่าที่คุณเชื่อมต่อกับฐานข้อมูล "สำคัญ" ดังนั้นคุณจะสังเกตเห็นว่าคุณกำลังทำงานกับสภาพแวดล้อมจริงหรือทดสอบ

รูปภาพถัดไปแสดงเนื้อหาของแถบเครื่องมือแบบหล่นลงที่คุณเห็นการเชื่อมต่อที่คุณต้องการด้านบนและด้านล่างฐานข้อมูลทั้งหมดจากเซิร์ฟเวอร์ปัจจุบัน (รายการเดียวกับในรายการฐานข้อมูลดั้งเดิมแบบหล่นลง)

ป้อนคำอธิบายรูปภาพที่นี่

ตราบใดที่ฉันทำงานอย่างถาวรในการปรับปรุงคุณยินดีที่จะเขียนข้อเสนอของคุณให้ฉันเพื่อที่เราจะได้ปรับปรุงให้ดียิ่งขึ้น


ขอบคุณที่ติดตามฉันบน Twitter - ฉันลงทะเบียนบัญชีนั้นเพื่อล็อคชื่อเท่านั้น ที่กล่าวว่าฉันอยู่ในขั้นตอนการตั้งค่าบล็อกซึ่งจะมีบัญชี Twitter เฉพาะและคุณสามารถติดตามได้หากคุณต้องการเมื่อมีการเผยแพร่ (ฉันจะส่งข้อความถึงคุณพร้อมรายละเอียดที่นี่) ขอบคุณ
Jon Seigel

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