Einrichten der SQL Server Powershell

Eines der neuen Features des SQL Server 2008 ist die Möglichkeit, die Powershellumgebung zu nutzen. Damit ist es möglich, von einer konfigurierten Powershell auf die folgenden SQL Server Versionen zuzugreifen:

  • SQL Server 2008
  • SQL Server 2005 (min. SP 2)
  • SQL Server 2000 (min. SP 4)

Selbstverständlich kann bei einer Verbindung auf eine Version vor SQL Server 2008 nur der entsprechende Funktionsumfang der jeweiligen, verbundenen SQL Server Version genutzt werden.

In diesem Beitrag möchte ich kurz darauf eingehen, wie man diese einrichtet.

Man öffne eine jungfräuliche Powershell, navigiere in das Verzeichnis der Wahl (im besten Falle ein separates für die PS-Konfiguration, was ich mir vorher anlege) und führe in nacheinander die beiden folgenden Kommandos aus:

add-pssnapin SqlServerProviderSnapin100
add-pssnapin SqlServerCmdletSnapin100

Damit haben wir die beiden verfügbaren SQL Server PS-Snapins in unsere aktuelle Konsole hinzugefügt und könnten damit sofort losarbeiten. Allerdings wären diese Einstellung mit der Beendigung der Powershell-Session wieder verloren. Um diese wiederverwenden zu können, lassen sich die aktuellen Powershellkonfigurationen exportieren. Damit können wir uns eine SQL Server-Powershellkonfiguration herstellen. Durchgeführt wird das mit dem folgenden Befehl:
Export-Console -Path <Dateiname>.psc1

Die Konfig-Datei welche wir erhalten, sieht von innen folgendermaßen aus:

[CODE]
<?xml version="1.0" encoding="utf-8"?>
<PSConsoleFile ConsoleSchemaVersion="1.0">
<PSVersion>1.0</PSVersion>
<PSSnapIns>
<PSSnapIn Name="SqlServerProviderSnapin100" />
<PSSnapIn Name="SqlServerCmdletSnapin100" />
</PSSnapIns>
</PSConsoleFile>

[/CODE]

BTW: Die Wiederverwendung "meiner" Konfig erlaube ich hiermit ausdrücklich. 😉 Eine SQL Server Powershell kann ich dann mit dem folgenden Kommando starten:
powershell.exe  -psconsolefile <Dateiname>.psc1

Herzlichen Glückwunsch, die SQL Server Powershell liegt uns zu Füßen. Und wo liegt jetzt der erste praktische Nutzen dieser Einrichtung? Vorrausgesetzt das wir mit dem aktuell angemeldeten Benutzer die notwendigen Berechtigungen haben, könnten wir mal eben die aktuelle Version des verbundenen SQL Servers abfragen. Die Query um dies per SQL zu tun sollte im allgemeinen bekannt sein:
Select @@Version

Dies ganze werden wir jetzt in ein PS-Kommando verpacken und ausführen:
invoke-sqlcmd -Query "Select @@version"

Auf meiner aktuellen SQL Server Testmaschine erhalte ich dabei das folgende Resultset zurück:
Microsoft SQL Server 2008 (RTM) – 10.0.1600.22 (Intel X86)

Ein Gedanke zu „Einrichten der SQL Server Powershell

  1. Pingback: Whitepaper zum Thema Powershell-Support in MS SQL Server 2008 | MCSEBoard.de SQL Blog

Kommentare sind geschlossen.