by Axel Schulze
4. August 2010 10:07
Im letzten Beitrag SQL Server Version auslesen habe ich beschrieben, wie die Version des SQL Server ausgelesen werden kann. In den Kommentaren wurde gefragt, wie man nun vom Ergebnis von
EXEC xp_msver
…die so aussehen:
…auf einen einzelnen Wert, zum Beispiel die “ProductVersion” kommt.
Hier kann man genau so vorgehen, wie bei jeder anderen Prozedur aus der die zurückgegebenen Daten weiterverarbeitet werden sollen. Dazu benötigt man eine Tabelle, die exakt den selben Aufbau, wie das Ergebnis der Prozedur hat. In diese Tabelle können dann die Ergebnisse per INSERT INTO eingefügt werden. Danach kann mit den Werten aus der Tabelle weitergearbeitet werden und so z.B. hier die Produktversion ausgelesen werden.
Ergebnis wäre dann folgendes SQL-Skript:
-- temp Table
DECLARE @temp TABLE
(
[Index] int,
Name VARCHAR(100),
Internal_Value INT,
Character_Value VARCHAR(1000)
)
-- Ergebnis aus xp_msver speichern
INSERT INTO @temp
EXEC xp_msver
-- abfragen
select Character_Value from @temp
where Name = 'ProductVersion'
Und als Wert erhalte ich nur:
…und kann den Wert weiter verwenden.
ca6d2204-cbfe-4b91-b896-2d2776fb1dce|5|3.0
Tags:
SQLServer