Wie steuere ich die Reihenfolge der Server, die im SSMS-Verbindungsdialog aufgeführt sind?

11

Mein aktuelles Projekt beinhaltet viel Datenbank-Shuffling, während wir ein Upgrade von SQL 2008 -> 2012 durchführen, Hardware neu auflegen und wiederholen.

Ein kleines Ärgernis ist der Verbindungsdialog in SSMS, in dem die Serverreihenfolge neu gemischt wird, um die neueste zu platzieren. Angesichts der Tatsache, dass ich an einem bestimmten Tag eine Verbindung zu 6-10 DB-Servern herstelle und schnell einen bestimmten in der Liste finden möchte, ist dieses Verhalten eher ein Hindernis als eine Hilfe.

Gibt es eine Möglichkeit, dieses Verhalten zu deaktivieren, indem die Server alphabetisch aufgelistet werden oder in der Reihenfolge, in der sie hinzugefügt wurden ... oder etwas , das sich nicht jedes Mal ändert, wenn ich eine Verbindung zu einem Server herstelle?

Gibt es, abgesehen davon, eine ganz andere Möglichkeit, die Verbindung zu einem bestimmten Server von einer Liste / Farm aus besser zu verwalten?

Ich verwende SSMS für SQL 2012 (obwohl ich auch neugierig auf 2008-Lösungen bin).

Nick Craver
quelle

Antworten:

6

Verwenden Sie registrierte Server oder richten Sie einen Central Management Server (CMS) ein. Ich empfehle letzteres, wenn Sie sich die (kleine) Zeit nehmen können, um die Infrastruktur einzurichten, da dadurch jeder die gleiche Liste von Servern sehen kann, anstatt nur Sie (registrierte Server werden in der Registrierung gespeichert). Der einzige "Nachteil" eines CMS besteht darin, dass Sie die Windows-Authentifizierung verwenden müssen, da Kennwörter nicht auf der Festplatte gespeichert werden.

Mit beiden Funktionen können Sie eine geordnete / gruppierte Liste von Servern verwalten und Server als Gruppen verwalten. Dies ist sehr leistungsfähig, da das richtlinienbasierte Management eng in die GUI integriert ist.

Dies funktioniert mit allen Serverversionen - ich führe SSMS 2012 aus und verwalte 2005-2012 Server. Ein CMS-Server kann in einer Express-Edition eingerichtet werden, sodass die Lizenzierung kein Problem darstellt. Ich empfehle jedoch, Systemdatenbanksicherungen durchzuführen, damit die Serverliste wiederhergestellt werden kann.

Jon Seigel
quelle
Der einzige Nachteil liefen wir mit dieser in vorher war (korrigiert mich wenn ich falsch liege) das CMS kann kein Mitglied der eigenen Gruppe sein ... so dass Sie eine zusätzliche Instanz benötigen nur ein CMS, um korrekt zu sein? Wie kommst du darum herum / machst es nützlich? ... oder isst du einfach irgendwo eine zusätzliche Instanz? Noch ein Punkt: Die meisten von uns arbeiten remote, nicht immer mit der Domäne verbunden. Wie würde sich dies beim Starten von SSMS für die lokale Entwicklung verhalten, Verzögerung, keine Auswirkungen?
Nick Craver
@Nick: Ja, ich empfehle, eine neue Instanz nur für das CMS einzurichten. Auf diese Weise ist es von der eigentlichen SQL-Infrastruktur getrennt. Aus diesem Grund habe ich in meiner Antwort auf die Lizenzierung eingegangen und festgestellt, dass die Einrichtung einen kleinen zusätzlichen Aufwand erfordern würde.
Jon Seigel
@ Nick: Ich müsste mehr über die Einrichtung der Infrastruktur wissen - etwas macht keinen Sinn. Sie stellen keine direkte Verbindung von Ihrem Heimcomputer zu den Produktions-SQL-Servern her, oder (ich nehme nicht an)? Wenn Sie lokale Server einschließen müssen, verwenden Sie für diesen Teil registrierte Server, da die Liste lokal gespeichert ist.
Jon Seigel
Oh ja, das tun wir :) Dies ist meine Entwicklungsmaschine, daher bin ich von hier aus mit allen SQL-Servern in der SE-Infrastruktur verbunden (aber manchmal nicht, mache lokale Entwickler und nicht über das VPN ... insbesondere auf dem Laptop). Die Lizenzierung ist kein großes Problem, aber die völlig separate Instanz (und wo sie aufbewahrt werden soll) ist ein bisschen unbekannt ... nicht sicher, auf welchen Server wir das schieben würden. Ich mache mir Sorgen, wenn SSMS das CMS nicht erreichen kann. Gibt es eine Zeitüberschreitung, wenn Sie SSMS öffnen?
Nick Craver
@ Nick: Ja, es ist viel einfacher, wenn alles virtualisiert ist. :) Wir behalten unsere auf einer Management-VM. Eine andere Option ist die Verwendung einer Developer Edition-Instanz anstelle von Express, mit der Sie von SQL Agent benachrichtigt werden können, wenn etwas in die Luft geht. Nein, beim Öffnen von SSMS gibt es keine Zeitüberschreitung. Sie müssen nur warten, wenn Sie versuchen, den CMS-Knoten auf der Registerkarte Registrierte Server zu erweitern (zu erwarten).
Jon Seigel
4

Sie können diese Reihenfolge nur steuern, wenn Sie sich in SqlStudio.bin hacken oder Einträge entfernen und sie in der gewünschten Reihenfolge erneut hinzufügen. Problemumgehungen umfassen:

Beachten Sie, dass die Reihenfolge durcheinander gerät, sobald Sie eine Verbindung zu einem Server herstellen, der sich nicht an der ersten Position befindet, da es sich tatsächlich um eine MRU-Liste handelt (bei der die letzte Verbindung zuerst aufgeführt wird).

Weitere Details finden Sie in diesen SO-Fragen:

Und Sie können den von mir eingereichten Fehler sehen, der die Verwendung des Löschschlüssels ausgelöst hat:

Und andere Fehler, die als Ergebnis aufgetreten sind:

Aaron Bertrand
quelle
1
+1. Ich wusste nicht, dass Sie in SSMS mit der Maus auf del drücken können. Das ist Gold wert.
Thomas Stringer
1

Sie müssen eigentlich nichts hacken, soweit ich dieses Problem in meinem SSMS-Add-In SSMSBoost (.com) gelöst habe - Sie können es herunterladen und kostenlos verwenden. Sie definieren einfach eine Liste Ihrer bevorzugten Verbindungen in den Einstellungen (siehe Bild) und diese wird dann als Dropdown-Menü in der Symbolleiste angezeigt, sodass selbst das Wechseln zwischen Servern nur einen Klick erfordert, da Sie zwischen Datenbanken in der nativen Datenbankliste wechseln würden Dropdown-Liste.

Nun einige Bilder:

Einstellungsdialog: Geben Sie hier die Bildbeschreibung ein

Wenn Sie sich andere Optionen ansehen, finden Sie auch "Wichtige DB-Warnung" - diese kann für Sie nützlich sein, wenn Sie während der Arbeit an Ihrem Projekt zwischen neuen und alten DBs, Test- und realen Servern wechseln. Sie können Alert konfigurieren, das an der angegebenen Position auf dem Bildschirm als BIG Tooltip angezeigt wird, sofern Sie eine Verbindung zu einer "wichtigen" Datenbank herstellen, sodass Sie feststellen, dass Sie an einer REAL- oder Testumgebung arbeiten.

Das nächste Bild zeigt den Inhalt der Dropdown-Liste in der Symbolleiste, in der Ihre bevorzugten Verbindungen oben und unter allen Datenbanken vom aktuellen Server aufgeführt sind (dieselbe Liste wie in der Dropdown-Liste Liste nativer Datenbanken).

Geben Sie hier die Bildbeschreibung ein

Soweit ich permanent an Verbesserungen arbeite, können Sie mir gerne Ihre Vorschläge schreiben, damit wir das Add-In noch besser machen.

Andrei Rantsevich
quelle
Vielen Dank, dass Sie mir auf Twitter gefolgt sind. Ich habe dieses Konto jedoch nur registriert, um den Namen zu sperren. Das heißt, ich bin gerade dabei, ein Blog einzurichten, das über ein eigenes Twitter-Konto verfügt, und Sie können dem folgen, wenn Sie möchten, wenn es veröffentlicht wird (ich werde Ihnen hier die Details mitteilen). Vielen Dank.
Jon Seigel
Wie versprochen, twitter.com/VoluntaryDBA
Jon Seigel