Skripterstellung (Datenbankmodul)

SQL Server Database Engine (Datenbankmodul) unterstützt die Microsoft-PowerShell-Skriptumgebung zum Verwalten der Instanzen von Database Engine (Datenbankmodul) und der Objekte in den Instanzen. Sie können zudem Database Engine (Datenbankmodul)-Abfragen mit Transact-SQL und XQuery in Umgebungen erstellen und ausführen, die mit Skriptumgebungen vergleichbar sind.

SQL Server-PowerShell

SQL Server enthält zwei SQL Server-PowerShell-Snap-Ins, mit denen folgende Elemente implementiert werden können:

  • Einen SQL Server-PowerShell-Anbieter, der die Hierarchien von SQL Server-Verwaltungsobjektmodellen als PowerShell-Pfade verfügbar macht, die den Dateisystempfaden ähneln. Sie können mithilfe der Klassen des SQL Server-Verwaltungsobjektmodells die Objekte verwalten, die an jedem Knoten des Pfads dargestellt werden.

  • Einen Satz von SQL Server-Cmdlets, die SQL Server-Befehle implementieren. Eines der Cmdlets ist Invoke-Sqlcmd. Mit diesem werden Database Engine (Datenbankmodul)-Abfrageskripts ausgeführt, die mit dem sqlcmd-Dienstprogramm ausgeführt werden.

SQL Server stellt zwei Features zum Ausführen von PowerShell bereit:

  • Das sqlps-Dienstprogramm, das PowerShell startet und die SQL Server-Snap-Ins lädt. Sie können PowerShell-Befehle interaktiv ad hoc ausführen. Sie können Skriptdateien mit einem Befehl wie .\MyFolder\MyScript.ps1 ausführen. Sie können sqlps in einer Eingabeaufforderung starten oder indem Sie mit der rechten Maustaste auf die Knoten in der Struktur des Objekt-Explorers von SQL Server Management Studio klicken und PowerShell starten auswählen.

  • PowerShell-Skriptdateien können als Eingabe in die PowerShell-Auftragsschritte des SQL Server-Agents verwendet werden, mit denen die Skripts entweder in Zeitabständen nach einem Zeitplan oder als Reaktion auf Systemereignisse ausgeführt werden.

Datenbankmodul-Abfragen

Database Engine (Datenbankmodul)-Abfrageskripts enthalten drei Typen von Elementen:

  • Transact-SQL-Sprachanweisungen

  • XQuery-Sprachanweisungen

  • Befehle und Variablen aus dem sqlcmd-Dienstprogramm

SQL Server stellt drei Umgebungen zum Erstellen und Ausführen von Database Engine (Datenbankmodul)-Abfragen:

  • Sie können Database Engine (Datenbankmodul)-Abfragen im Database Engine (Datenbankmodul)-Abfrage-Editor in SQL Server Management Studio interaktiv ausführen und debuggen. Sie können eine Reihe von Anweisungen in einer Sitzung codieren und debuggen und anschließend alle Anweisungen in einer Skriptdatei speichern.

  • Mit dem sqlcmd-Befehlszeilenprogramm können Sie Database Engine (Datenbankmodul)-Abfragen interaktiv und auch vorhandene Database Engine (Datenbankmodul)-Abfrageskriptdateien ausführen.

Database Engine (Datenbankmodul)-Abfrageskriptdateien werden i. d. R. mit dem Database Engine (Datenbankmodul)-Abfrage-Editor in SQL Server Management Studio interaktiv codiert. Die Datei kann später in einer dieser Umgebungen geöffnet werden:

  • Verwenden Sie das SQL Server Management Studio-Menü Datei/Öffnen, um die Datei in einem neuen Database Engine (Datenbankmodul)-Abfrage-Editorfenster zu öffnen.

  • Verwenden Sie den -iinput_file-Parameter, um die Datei mit dem sqlcmd-Dienstprogramm auszuführen.

  • Verwenden Sie den -QueryFromFile-Parameter, um die Datei mit dem Invoke-Sqlcmd-Cmdlet in SQL Server-PowerShell-Skripts auszuführen.

  • Führen Sie die Skripts mit den Transact-SQL-Auftragsschritten des SQL Server-Agents entweder in Zeitabständen nach einem Zeitplan oder als Reaktion auf Systemereignisse aus.

Außerdem können Sie mithilfe des Assistenten zum Generieren von Skripts in SQL ServerTransact-SQL-Skripts generieren. Sie können mit der rechten Maustaste im SQL Server Management Studio-Objekt-Explorer auf die Objekte klicken und anschließend das Menüelement Skript generieren auswählen. Mit Skript generieren wird der Assistent gestartet, der Sie durch den Vorgang der Skripterstellung führt. Weitere Informationen finden Sie unter Dokumentieren und Erstellen von Skripts in Bezug auf Datenbanken.