So vergleichen Sie zwei SQL Server 2008-Konfigurationen

7

Ich habe ein Problem mit meiner Anwendung, die auf meinem Entwickler SQL Server 2008 (Developer Edition) funktioniert, jedoch nicht auf einem Produktions-SQL Server 2008. Gibt es eine einfache Möglichkeit, die Einstellungen vom Produktionsserver zu exportieren und mit meiner Serverkonfiguration zu vergleichen?

Was ich herausgefunden habe, ist, dass ich Facetten in SQL Server Management Studio in XML-Dateien exportieren und sie in einem Diff-Tool vergleichen kann.

Gibt es eine andere / bessere Möglichkeit, Einstellungen von zwei SQL Server-Instanzen zu exportieren und zu vergleichen?

Robert Niestroj
quelle
"I have a problem with my application"- möchten Sie näher darauf eingehen? Es gibt viele Orte, um nach einem Problem zu suchen ...
Jon Seigel
Ich habe gefragt, wie die SQL Server-Konfiguration verglichen werden soll, nicht nach meinem App-Problem. Dies spielt in diesem Zusammenhang keine Rolle.
Robert Niestroj

Antworten:

13

Man muss wirklich nur kreativ werden. Wie wir alle wissen, gibt es viele Orte, an denen Einstellungen gespeichert werden, je nachdem, was genau Sie vergleichen möchten. Um beispielsweise instanzweite Konfigurationseinstellungen zu vergleichen, können Sie einfach eine EXCEPTAbfrage durchführen (möglicherweise müssen Sie einen Verbindungsserver erstellen oder die Daten exportieren / importieren, je nachdem, wie Sie dies angehen möchten):

select *
from [YourProdInstance].master.sys.configurations

except

select *
from [YourDevInstance].master.sys.configurations

Verwenden Sie dieselbe Methode für alle anderen Konfigurationseinstellungen, die Sie vergleichen möchten.

  1. Suchen Sie die Wurzel der Konfigurationsdaten
  2. Rufen Sie die Konfigurationsdaten beider Instanzen an einem gemeinsamen Ort ab
  3. Schreiben Sie eine Abfrage, die die Daten vergleicht (unabhängig davon, ob es sich um XML handelt oder nicht).
Thomas Stringer
quelle
Überprüfen Sie das Skript unter sqlserverperformance.idera.com/uncategorized/…, um schnell nicht standardmäßige Einstellungen für SQL Server 2008 zu erkennen.
MicSim
@MicSim Ich glaube nicht, dass das OP nach nicht standardmäßigen Einstellungen sucht. Nur Konfigurationseinstellungen, die sich zwischen zwei Instanzen unterscheiden (die möglicherweise auch nicht standardmäßig sind).
Thomas Stringer
Ich weiß, deshalb nur ein Kommentar als zusätzliche Information zu Ihrer Antwort. Normalerweise haben Sie 80% Standardeinstellungen. Auf diese Weise können Sie nur die verbleibenden 20% vergleichen. (+1 übrigens)
MicSim
@MicSim Absolut, ich stimme vollkommen zu. Vielen Dank!
Thomas Stringer
5

Ich habe ein Open-Source-Dienstprogramm geschrieben, das allgemeine Serverkonfigurationen auszeichnet und in verschiedenen Dateien speichert. Es enthält alles in sys.configurations sowie Sicherheitseinstellungen, Servereigenschaften, Anmeldeinformationen, Datenbanken und vieles mehr.

Das Dienstprogramm ist SQL Server Configurations on CodePlex.

Wenn Sie die beiden Server ausschreiben und ein Diff-Dienstprogramm für die Ergebnisse verwenden, sollten Sie eine ziemlich gute Liste der Unterschiede zwischen den beiden Servern haben. Ich benutze es meistens für DR-Zwecke, aber es sollte in diesem Fall gut funktionieren.

graz
quelle
3

Ich habe geholfen, ein kostenloses Tool zu erstellen, das Instanz- und Datenbankeinstellungen vergleicht und auch für AzureDB funktioniert.

http://aireforge.com

Phil Grayson
quelle
Leider verfügt dies nicht über eine MARGE-Funktion, um die Unterschiede von einem Server auf einen anderen anwenden zu können.
Fandango68
1

1) Wenn Sie nach einer Möglichkeit suchen, Umgebungen fortlaufend zu vergleichen, und 2) wenn Sie offen für eine kommerzielle Lösung sind, sollten Sie sich https://www.orcaconfig.com/compare-configurations ansehen

Orca erfasst die Konfigurationen von Anwendungen, Middleware, Datenbanken (einschließlich SQL Server und Betriebssystemen) und vergleicht die Konfiguration automatisch mit einem bekannten Standard (z. B. einer Gold Master-Revision oder einem Gold Master Server) sowie Ihren Compliance-Standards. Ich arbeite dort.

Andernfalls sind die von anderen Kommentatoren aufgeführten Optionen wahrscheinlich die beste Wahl.

Scott Turner
quelle