Wie kann die bereitgestellte SQL Server-Version ermittelt werden?
Ich habe versucht, dies mit der SQL Server-Software zu tun. Ich möchte es mit einer Befehlszeilen-SQL-Anweisung tun.
sql-server-2008
version
Yameen Bashir
quelle
quelle
Antworten:
Es gibt folgende Möglichkeiten, die Version anzuzeigen:
Methode 1: Stellen Sie eine Verbindung zur Instanz von SQL Server her und führen Sie die folgende Abfrage aus:
Ein Beispiel für die Ausgabe dieser Abfrage lautet wie folgt:
Methode 2: Stellen Sie mithilfe des Objekt-Explorers in SQL Server Management Studio eine Verbindung zum Server her. Nachdem der Objekt-Explorer verbunden wurde, werden die Versionsinformationen in Klammern zusammen mit dem Benutzernamen angezeigt, der zum Herstellen einer Verbindung mit der bestimmten Instanz von SQL Server verwendet wird.
Methode 3: Sehen Sie sich die ersten Zeilen der Fehlerprotokolldatei für diese Instanz an. Standardmäßig befindet sich das Fehlerprotokoll unter Programme \ Microsoft SQL
Server\MSSQL.n\MSSQL\LOG\ERRORLOG
undERRORLOG.n
Dateien. Die Einträge können wie folgt aussehen:Wie Sie sehen können, enthält dieser Eintrag alle erforderlichen Informationen zum Produkt, z. B. Version, Produktebene, 64-Bit- oder 32-Bit-Version, die Edition von SQL Server und die Betriebssystemversion, auf der SQL Server ausgeführt wird.
Methode 4: Stellen Sie eine Verbindung zur Instanz von SQL Server her und führen Sie die folgende Abfrage aus:
Hinweis Diese Abfrage funktioniert mit jeder Instanz von SQL Server 2000 oder einer späteren Version
quelle
Gibt 8.00, 9.00, 10.00 und 10.50 für SQL 2000, 2005, 2008 und 2008R2.
Versuchen Sie auch das erweiterte Systemverfahren
xp_msver
. Sie können diese gespeicherte Prozedur wie folgt aufrufenquelle
TL; DR
Dies verwendet SQLCMD (im Lieferumfang von SQL Server enthalten), um mithilfe der Windows- Authentifizierung eine Verbindung zur lokalen Serverinstanz herzustellen, einen Fehler auszulösen, wenn eine Versionsprüfung fehlschlägt, und die
@@ERROR
als Befehlszeile zurückzugeben,ERRORLEVEL
wenn> = 16 (und die zweite Zeile geht an die:ExitFail
Bezeichnung, wenn die vorgenanntERRORLEVEL
ist> = 1).Watchas, Gotchas & More Info
Für SQL 2000+ können Sie die SERVERPROPERTY verwenden , um viele dieser Informationen zu ermitteln.
Während SQL 2008+ die
ProductMajorVersion
&ProductMinorVersion
-Eigenschaften unterstützt,ProductVersion
gibt es sie seit 2000 (wenn eine Eigenschaft nicht unterstützt wird, wird die Funktion zurückgegebenNULL
).Wenn Sie an früheren Versionen interessiert sind, können Sie die
PARSENAME
Funktion verwenden, um die zu teilenProductVersion
(wobei Sie sich daran erinnern, dass die "Teile" von rechts nach links nummeriert sind, dhPARSENAME('a.b.c', 1)
zurückgegeben werdenc
).Denken Sie auch daran, dass dies
PARSENAME('a.b.c', 4)
zurückkehrtNULL
, da SQL 2005 und früher nur 3 Teile in der Versionsnummer verwendet hat!Für SQL 2008+ können Sie also einfach Folgendes verwenden:
Für SQL 2000-2005 können Sie Folgendes verwenden:
(Das
PARSENAME(...,0)
ist ein Hack zur Verbesserung der Lesbarkeit)Eine Überprüfung für eine SQL 2000+ -Version wäre also:
Das ist viel einfacher , wenn Sie nur nur in SQL interessiert 2008+ weil
SERVERPROPERTY('ProductMajorVersion')
RenditenNULL
für frühere Versionen, so können Sie verwenden:Sie können die Eigenschaften
ProductLevel
undEdition
(oderEngineEdition
) verwenden, um RTM / SP n / CTP n bzw. Dev / Std / Ent / etc zu bestimmen .Zu Ihrer Information: Die wichtigsten SQL-Versionsnummern sind:
Und das alles funktioniert auch für SQL Azure!
BEARBEITET: Möglicherweise möchten Sie auch Ihre DB-Kompatibilitätsstufe überprüfen, da diese möglicherweise auf eine niedrigere Kompatibilität eingestellt ist.
quelle
Folgendes habe ich getan, um die Version zu finden: Schreiben
SELECT @@version
Sie einfach und Sie erhalten die Version.quelle
Einfach benutzen
Beispielausgabe
Quelle: Wie überprüfe ich die SQL Server-Version? (Verschiedene Möglichkeiten erklärt)
quelle
Wenn dieser Wert 0 ist, handelt es sich nicht um eine Expressausgabe
quelle