Bagaimana cara mengontrol urutan server yang tercantum dalam dialog koneksi SSMS?

11

Proyek saya saat ini melibatkan banyak pengocokan basis data saat kami meningkatkan dari SQL 2008 -> 2012, mengulang tugas perangkat keras, ulangi.

Satu gangguan kecil adalah dialog koneksi di SSMS mengocok-ulang urutan server untuk menempatkan yang terbaru di atas. Mengingat bahwa pada hari tertentu saya terhubung ke server 6-10 DB dan ingin cepat menemukan yang spesifik dalam daftar, perilaku ini lebih merupakan penghalang daripada bantuan.

Apakah ada cara untuk menonaktifkan perilaku ini, membuat server terdaftar sesuai abjad, atau sesuai urutan ditambahkan ... atau apa pun yang tidak berubah setiap kali saya terhubung ke server?

Kecuali itu, apakah ada cara yang sama sekali berbeda untuk mengelola koneksi ke server tertentu dengan lebih baik dari daftar / peternakan mereka?

Saya menggunakan SSMS untuk SQL 2012 (meskipun saya ingin tahu tentang solusi 2008 juga).

Nick Craver
sumber

Jawaban:

6

Gunakan Server Terdaftar atau setel Central Management Server (CMS). Saya menyarankan yang terakhir jika Anda dapat mengambil waktu (kecil) untuk mengatur infrastruktur karena akan memungkinkan semua orang untuk melihat daftar server yang sama, bukan hanya Anda (Server Terdaftar disimpan dalam registri). Satu-satunya "kekurangan" dengan CMS adalah Anda harus menggunakan Otentikasi Windows karena kata sandi tidak bertahan ke disk.

Kedua fitur ini memungkinkan Anda untuk mempertahankan daftar server yang dipesan / dikelompokkan, dan mengelola server sebagai grup. Ini sangat kuat karena Manajemen Berbasis Kebijakan terintegrasi erat dengan GUI.

Ini berfungsi dengan semua versi server - Saya menjalankan SSMS 2012 dan mengelola server 2005-2012. Server CMS dapat diatur pada edisi Express, sehingga lisensi bukan masalah; namun, saya merekomendasikan mengambil cadangan basis data sistem sehingga daftar server dapat dipulihkan.

Jon Seigel
sumber
Satu-satunya kelemahan yang kita hadapi dengan ini sebelumnya adalah (koreksi saya jika saya salah) CMS tidak bisa menjadi anggota kelompok sendiri ... jadi Anda perlu contoh tambahan hanya untuk menjadi CMS, benar? Bagaimana Anda menyiasati hal ini / menjadikannya berguna? ... atau Anda hanya makan contoh tambahan di suatu tempat? Satu lagi item: kebanyakan dari kita bekerja dari jarak jauh, tidak selalu terhubung ke domain, bagaimana ini akan berperilaku ketika meluncurkan SSMS untuk pengembangan lokal, lag, tidak ada dampak?
Nick Craver
@Nick: Ya, saya sarankan menyiapkan instance baru hanya untuk CMS. Dengan cara ini dipisahkan dari infrastruktur SQL yang sebenarnya. Itu sebabnya saya menyentuh pada perizinan dalam jawaban saya, dan mencatat akan membutuhkan sedikit usaha ekstra untuk mengatur.
Jon Seigel
@Nick: Saya perlu tahu lebih banyak tentang pengaturan infrastruktur - ada sesuatu yang tidak masuk akal. Anda tidak terhubung langsung dari mesin rumah Anda ke server SQL produksi, kan (saya anggap tidak)? Jika Anda perlu memasukkan server lokal, gunakan Server Terdaftar untuk bagian itu karena daftar disimpan secara lokal.
Jon Seigel
Oh ya kita lakukan :) Ini adalah mesin dev saya, jadi saya terhubung ke semua server SQL di infrastruktur SE dari sini (tapi kadang-kadang tidak, melakukan dev lokal dan bukan pada VPN ... terutama di laptop). Perizinan bukan masalah besar, tetapi contoh yang benar-benar terpisah (dan di mana harus menyimpannya) sedikit tidak diketahui ... tidak yakin server mana yang akan kami gunakan. Kekhawatiran saya adalah ketika SSMS tidak dapat mencapai CMS, apakah ada semacam batas waktu ketika Anda membuka SSMS?
Nick Craver
@Nick: Ya, jauh lebih mudah ketika semuanya tervirtualisasi. :) Kami tetap menggunakan VM manajemen. Pilihan lain adalah menggunakan instance edisi Pengembang alih-alih Express, yang memberi Anda SQL Agent untuk memberi tahu Anda jika ada sesuatu yang meledak. Tidak, tidak ada batas waktu saat membuka SSMS. Anda hanya mendapatkan menunggu ketika Anda mencoba untuk memperluas node CMS di tab Server Terdaftar (yang diharapkan).
Jon Seigel
4

Anda tidak dapat mengontrol pesanan ini kecuali Anda meretas ke SqlStudio.bin, atau menghapus entri dan menambahkannya kembali dalam urutan yang Anda inginkan. Penanganannya meliputi:

Perhatikan bahwa pesanan akan berantakan segera setelah Anda terhubung ke server yang tidak ada di posisi pertama, karena itu benar-benar daftar MRU (di mana koneksi terbaru terdaftar pertama kali).

Anda dapat melihat lebih detail dalam pertanyaan SO ini:

Dan Anda dapat melihat bug yang saya ajukan yang memprakarsai kemampuan untuk menggunakan kunci hapus:

Dan bug lain yang muncul sebagai hasilnya:

Aaron Bertrand
sumber
1
+1. Saya tidak tahu Anda bisa menekan del dengan mouse di SSMS. Itu sepadan dengan berat emas.
Thomas Stringer
1

Anda sebenarnya tidak perlu meretas apa pun, sejauh saya telah menyelesaikan masalah ini di Add-in SSMSBoost saya (.com) - Anda dapat mengunduhnya dan menggunakannya secara gratis. Anda cukup menentukan daftar koneksi yang Anda inginkan dalam pengaturan (lihat gambar) dan kemudian ini akan tersedia sebagai drop-down pada toolbar, sehingga bahkan beralih antar server hanya membutuhkan satu kali klik, karena Anda akan berpindah antar database dalam daftar database asli drop down.

Sekarang beberapa gambar:

Dialog Pengaturan: masukkan deskripsi gambar di sini

Jika Anda melihat opsi lain, Anda juga akan menemukan "Peringatan DB Penting" - opsi ini mungkin berguna bagi Anda, sejauh Anda beralih antara DB baru dan lama, pengujian dan server nyata selama mengerjakan proyek Anda. Anda dapat mengkonfigurasi Lansiran, yang akan ditampilkan sebagai BIG Tooltip pada posisi yang ditentukan di layar sejauh Anda terhubung ke database "penting", sehingga Anda akan melihat bahwa Anda bekerja pada lingkungan NYATA atau Uji.

Gambar berikutnya menunjukkan isi drop-down toolbar, di mana Anda melihat koneksi pilihan Anda tercantum di atas, dan di bawah semua database dari server saat ini (daftar yang sama seperti pada drop-down daftar database asli)

masukkan deskripsi gambar di sini

Sejauh saya bekerja secara permanen pada perbaikan Anda dipersilakan untuk menulis proposal Anda kepada saya, sehingga kami akan membuat tambahan lebih baik.

Andrei Rantsevich
sumber
Terima kasih telah mengikuti saya di Twitter - Saya hanya mendaftarkan akun itu untuk mengunci nama. Yang mengatakan, saya sedang dalam proses menyiapkan sebuah blog yang akan memiliki akun Twitter khusus, dan Anda dapat mengikuti itu jika Anda ingin ketika itu dirilis (saya akan mengirimi Anda di sini dengan rincian). Terima kasih.
Jon Seigel
Seperti yang dijanjikan, twitter.com/VoluntaryDBA
Jon Seigel