Programmgesteuertes Erkennen der SQL Server Edition

8

Ich verwende C # mit SMO und versuche herauszufinden, mit welcher Edition von SQL Server (z. B. Unternehmen, Standard) ich mich verbinde. Ich weiß, wie die Versionsinformationen abgerufen werden, aber das sagt mir nur, welche Version von SQL Server (z. B. SQL Server 2008 vs SQL Server 2005).

Weiß jemand, wie man die tatsächliche Produktausgabe (z.B. Unternehmen, Standard) bekommt?

Ich brauche diese Informationen, weil einige SQL Server-Funktionen nur Unternehmen sind. Daher könnte ich einfach versuchen, sie anzurufen und die Ausnahme abzufangen, aber ich würde eine Vorabdetektion bevorzugen.

Danke!

    
manu08 02.03.2009, 15:10
quelle

5 Antworten

6

Es sieht so aus, als könnten Sie das über SMO und das Server-Objekt tun. Es gibt Eigenschaften wie Information.Edition, die aussehen, als ob es tun sollte, was Sie wollen.

    
Dion Brown 02.03.2009, 15:22
quelle
21
%Vor%

auf meinem System gibt

zurück %Vor%

Es scheint, dass diese Technik nur mit SQL Server 2000 oder höher funktioniert. Wenn Ihre Datenbanken unter 7.0 oder niedriger sind, müssen Sie die Version @@ verwenden und die Ergebnisse so manipulieren, wie andere sie veröffentlicht haben

    
Patrick McDonald 02.03.2009 15:19
quelle
4

Ich habe immer @@ Version verwendet (zB SELECT @@ Version und das Ergebnis im Code manipuliert), aber dieser Artikel sieht ziemlich praktisch aus; Ссылка

Das einzige Problem bei der Verwendung von SERVERPROPERTY gemäß dem Link ... ist, dass dies nicht mit älteren Versionen von SQL Server funktioniert.

    
GordonB 02.03.2009 15:15
quelle
3
%Vor%

Gibt die Version und welche Edition zurück. Hier:

%Vor%     
Richard 02.03.2009 15:15
quelle
0

Überprüfen Sie die Registrierung. Diese Frage hatte eine gute Methode, die Sie aus dem PowerShell-Skript anpassen konnten:

Wie überprüfe ich nach SQL? Serverversion mit Powershell?

    
quelle

Tags und Links