Freigeben über


Ausführen von T-SQL aus einer Skriptdatei mit sqlcmd

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Verwenden Sie zum Ausführen einer Transact-SQL-Skriptdatei den Befehl sqlcmd . Eine Transact-SQL-Skriptdatei ist eine Textdatei, die eine Kombination aus Transact-SQL-Anweisungen, sqlcmd -Befehlen und Skriptvariablen enthalten kann.

Erstellen einer Skriptdatei

Wenn Sie die Beispieldatenbank AdventureWorks2022 installiert haben, folgen Sie dem Beispiel in diesem Abschnitt, um eine Skriptdatei zu erstellen, die Sie über die Eingabeaufforderung mit sqlcmd ausführen können.

Führen Sie die folgenden Schritte aus, um eine Transact-SQL-Skriptdatei mithilfe des Editors zu erstellen:

  1. Wählen Sie Start aus, zeigen Sie auf Alle Programme, zeigen Sie auf Zubehör, und wählen Sie dann Editor aus.

  2. Kopieren Sie den folgenden Transact-SQL-Code, und fügen Sie ihn im Editor ein:

    USE AdventureWorks2022;
    GO
    SELECT p.FirstName + ' ' + p.LastName AS 'Employee Name',
    a.AddressLine1, a.AddressLine2 , a.City, a.PostalCode
    FROM Person.Person AS p
       INNER JOIN HumanResources.Employee AS e
            ON p.BusinessEntityID = e.BusinessEntityID
        INNER JOIN Person.BusinessEntityAddress bea
            ON bea.BusinessEntityID = e.BusinessEntityID
        INNER JOIN Person.Address AS a
            ON a.AddressID = bea.AddressID;
    GO
    
  3. Speichern Sie die Datei als myScript.sql in einem Ordner, z. B. im Laufwerk C:\scripts.

Ausführen der Skriptdatei

  1. Öffnen Sie ein Eingabeaufforderungsfenster.

  2. Geben Sie im Fenster "Eingabeaufforderung" Folgendes ein: sqlcmd -S myServer\instanceName -i C:\scripts\myScript.sql

  3. Drücken Sie die EINGABETASTE.

Eine Liste mit Namen und Adressen von Mitarbeitern aus Adventure Works wird in das Eingabeaufforderungsfenster geschrieben.

Speichern der Ausgabe in einer Textdatei

  1. Öffnen Sie ein Eingabeaufforderungsfenster.

  2. Geben Sie im Fenster "Eingabeaufforderung" Folgendes ein: sqlcmd -S myServer\instanceName -i C:\scripts\myScript.sql -o C:\EmpAdds.txt

  3. Drücken Sie die EINGABETASTE.

In diesem Fall erfolgt keine Ausgabe im Eingabeaufforderungsfenster. Stattdessen erfolgt die Ausgabe in die Datei EmpAdds.txt. Sie können diese Ausgabe prüfen, indem Sie die Datei EmpAdds.txt öffnen.