Teilen über


Verwenden von sqlcmd

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

sqlcmd ist ein Befehlszeilen-Hilfsprogramm für die interaktive Ad-hoc-Ausführung von Transact-SQL-Anweisungen (T-SQL) und -Skripts und die Automatisierung von T-SQL-Skripttasks. Damit Sie sqlcmd interaktiv verwenden oder Skriptdateien für sqlcmdaufbauen können, sollten Sie mit den Grundlagen von T-SQL vertraut sein. Sie können sqlcmd auf verschiedene Arten verwenden. Zum Beispiel:

  • Geben Sie T-SQL-Anweisungen aus der Eingabeaufforderung ein. Die Konsole gibt die Ergebnisse zurück. Um ein Eingabeaufforderungsfenster zu öffnen, geben Sie cmd in das Windows-Suchfeld ein, und wählen Sie die Eingabeaufforderung aus, um sie zu öffnen. Geben Sie an der Eingabeaufforderung sqlcmd ein, gefolgt von einer Liste der gewünschten Optionen. Eine vollständige Liste der von sqlcmd unterstützten Optionen finden Sie unter Hilfsprogramm „sqlcmd“.

  • Senden Sie einen sqlcmd-Auftrag entweder durch die Angabe einer einzelnen auszuführenden T-SQL-Anweisung, oder indem sie das Hilfsprogramm an eine Textdatei verweisen, in der die auszuführenden T-SQL-Anweisungen enthalten sind. Die Ausgabe wird in einer Textdatei gespeichert, sie kann jedoch auch an der Eingabeaufforderung angezeigt werden.

  • SQLCMD-Modus im Abfrage-Editor von SQL Server Management Studio (SSMS).

  • SQL Server Management Objects (SMO).

  • CmdExec-Aufträge des SQL Server-Agents.

Allgemeine sqlcmd-Optionen

  • Die Serveroption (-S) ermittelt eine Instanz von SQL Server, mit der sqlcmd eine Verbindung herstellt.

  • Die Authentifizierungsoptionen (-E, -U und -P) geben die Anmeldeinformationen an, die sqlcmd verwendet, um eine Verbindung mit der Instanz von SQL Server herzustellen.

    Hinweis

    Die Option -E ist die Standardeinstellung und muss nicht angegeben werden.

  • Die Eingabeoptionen (-Q, -q und -i) ermitteln den Eingabespeicherort für sqlcmd.

  • Die Ausgabeoption (-o) gibt die Datei an, in die sqlcmd die Ausgabe schreiben soll.

Herstellen einer Verbindung mit dem Hilfsprogramm „sqlcmd“

  • Herstellen einer Verbindung mit einer Standardinstanz mithilfe der Windows-Authentifizierung, um T-SQL-Anweisungen interaktiv auszuführen:

    sqlcmd -S <ComputerName>
    

    Hinweis

    Im vorherigen Beispiel wurde -E nicht angegeben, da dies die Standardeinstellung ist und von sqlcmd eine Verbindung mit der Standardinstanz mithilfe der Windows-Authentifizierung hergestellt wird.

  • Herstellen einer Verbindung mit einer benannten Instanz mithilfe der Windows-Authentifizierung, um T-SQL-Anweisungen interaktiv auszuführen:

    sqlcmd -S <ComputerName>\<InstanceName>
    

    or

    sqlcmd -S .\<InstanceName>
    
  • Herstellen einer Verbindung mit einer benannten Instanz mithilfe der Windows-Authentifizierung und Angeben von Eingabe- und Ausgabedateien:

    sqlcmd -S <ComputerName>\<InstanceName> -i <MyScript.sql> -o <MyOutput.rpt>
    
  • Verbinden Sie sich mit der Standardinstanz auf dem lokalen Computer mit Windows-Authentifizierung, führen Sie eine Abfrage aus und lassen Sie sqlcmd nach Beendigung der Abfrage weiterlaufen:

    sqlcmd -q "SELECT * FROM AdventureWorks2022.Person.Person"
    
  • Verbinden Sie sich mit der Standardinstanz auf dem lokalen Computer mit Windows-Authentifizierung, führen Sie eine Abfrage aus, leiten Sie die Ausgabe in eine Datei und beenden Sie sqlcmd, nachdem die Abfrage beendet ist:

    sqlcmd -Q "SELECT * FROM AdventureWorks2022.Person.Person" -o MyOutput.txt
    
  • Herstellen einer Verbindung mit einer benannten Instanz mithilfe der SQL Server-Authentifizierung, um T-SQL-Anweisungen interaktiv auszuführen, wobei von sqlcmd eine Aufforderung zur Kennworteingabe erfolgt:

    sqlcmd -U MyLogin -S <ComputerName>\<InstanceName>
    

    Tipp

    Eine vollständige Liste der vom Hilfsprogramm sqlcmd unterstützten Optionen erhalten Sie, indem Sie folgenden Befehl ausführen: sqlcmd -?.

Interaktives Ausführen von Transact-SQL-Anweisungen mithilfe von „sqlcmd“

Sie können das Hilfsprogramm sqlcmd interaktiv verwenden, um T-SQL-Anweisungen in einem Eingabeaufforderungsfenster auszuführen. Um T-SQL-Anweisungen mithilfe von sqlcmd interaktiv auszuführen, führen Sie das Hilfsprogramm ohne die Optionen-Q, -q, -Z oder -i zum Angeben von Eingabedateien oder Abfragen aus. Zum Beispiel:

sqlcmd -S <ComputerName>\<InstanceName>

Wenn der Befehl ohne Eingabedateien oder Abfragen ausgeführt wird, stellt sqlcmd eine Verbindung mit der angegebenen Instanz von SQL Server her und zeigt anschließend eine neue Zeile mit einer 1> gefolgt von einem blinkenden Unterstrich an. Dies wird als sqlcmd-Eingabeaufforderung bezeichnet. 1 bedeutet, dass es sich um die erste Zeile einer T-SQL-Anweisung handelt, und die sqlcmd-Aufforderung ist die Stelle, an der die T-SQL-Anweisung startet, wenn Sie sie eingeben.

An der sqlcmd-Eingabeaufforderung können Sie sowohl T-SQL-Anweisungen als auch sqlcmd-Befehle wie GO und EXIT eingeben. Die einzelnen T-SQL-Anweisungen werden in einen Puffer geladen, den sogenannten Anweisungscache. Diese Anweisungen werden an SQL Server gesendet, nachdem Sie den Befehl GO eingegeben und die EINGABETASTE gedrückt haben. Wenn Sie sqlcmd beenden möchten, geben Sie am Anfang einer neuen Zeile EXIT oder QUIT ein.

Den Anweisungscache können Sie löschen, indem Sie :RESET eingeben. Die Eingabe von Ctrl+C bewirkt, dass sqlcmd beendet wird. Ctrl+C kann auch dazu verwendet werden, die Ausführung des Anweisungscaches zu beenden, nachdem ein GO-Befehl ausgegeben wurde.

In einer interaktiven Sitzung eingegebene T-SQL-Anweisungen können bearbeitet werden, indem Sie an der sqlcmd-Eingabeaufforderung den :ED-Befehl eingeben. Der Editor wird geöffnet. Nachdem Sie die T-SQL-Anweisung bearbeitet und den Editor geschlossen haben, wird die überarbeitete T-SQL-Anweisung im Eingabeaufforderungsfenster angezeigt. Geben Sie GO ein, um die überarbeitete T-SQL-Anweisung auszuführen.

Zeichenfolgen in Anführungszeichen

Zeichen, die in Anführungszeichen eingeschlossen sind, werden ohne weitere Vorverarbeitung verwendet. Die einzige Ausnahme besteht darin, dass Anführungszeichen durch das Eingeben von zwei aufeinander folgenden Anführungszeichen in eine Zeichenfolge eingefügt werden können. SQL Server In wird diese Zeichenfolgensequenz als ein Anführungszeichen behandelt. (Die Übersetzung erfolgt jedoch auf dem Server.) Skriptvariablen werden nicht erweitert, wenn sie innerhalb einer Zeichenfolge auftreten.

Zum Beispiel:

sqlcmd
PRINT "Length: 5"" 7'";
GO

Hier sehen Sie das Ergebnis.

Length: 5" 7'

Mehrere Zeilen umfassende Zeichenfolgen

sqlcmd unterstützt Skripts, die mehrere Zeilen umfassen. Beispielsweise umfasst die folgende SELECT-Anweisung mehrere Zeilen wird aber als eine einzige Zeichenfolge ausgeführt, nachdem Sie GO eingegeben und dann die Eingabetaste gedrückt haben.

SELECT <First line>
FROM <Second line>
WHERE <Third line>;
GO

Beispiel für die interaktive Verwendung von „sqlcmd“

In diesem Beispiel wird veranschaulicht, was bei der interaktiven Ausführung von sqlcmd angezeigt wird.

Wenn Sie ein Eingabeaufforderungsfenster öffnen, wird nur eine Zeile ähnlich der Folgenden angezeigt:

C:\Temp\>

Dies bedeutet, dass der Ordner C:\Temp\ der aktuelle Ordner ist. Wenn Sie einen Dateinamen angeben, wird in Windows in diesem Ordner nach der Datei gesucht.

Geben Sie sqlcmd ein, um eine Verbindung mit der Standardinstanz von SQL Server auf dem lokalen Computer herzustellen. In diesem Fall lautet der Inhalt des Eingabeaufforderungsfensters folgendermaßen:

C:\Temp>sqlcmd
1>

Dies bedeutet, dass Sie eine Verbindung mit dieser Instanz von SQL Server hergestellt haben und dass von sqlcmd ab sofort T-SQL-Anweisungen und sqlcmd-Befehle akzeptiert werden. Der blinkende Unterstrich hinter der 1> ist die sqlcmd-Aufforderung. Damit wird die Stelle gekennzeichnet, an der die von Ihnen eingegebenen Anweisungen und Befehle angezeigt werden. Geben Sie USE AdventureWorks2022 ein drücken Sie die EINGABETASTE, und geben Sie GO ein drücken dann die EINGABETASTE. Im Eingabeaufforderungsfensters wird der folgende Text angezeigt:

sqlcmd
USE AdventureWorks2022;
GO

Hier sehen Sie das Ergebnis.

Changed database context to 'AdventureWorks2022'.
1>

Wenn Sie die EINGABETASTE drücken, signalisiert sqlcmd, eine neue Zeile zu beginnen. Durch das Drücken der EINGABETASTE nach dem Eingeben von GO wurde sqlcmd angewiesen, die USE AdventureWorks2022-Anweisung an die Instanz von SQL Server zu senden. Anschließend wurde von sqlcmd die Meldung zurückgegeben, dass die USE-Anweisung erfolgreich ausgeführt wurde, und es wurde eine neue 1>-Eingabeaufforderung als Hinweis zum Eingeben einer neuen Anweisung oder eines neuen Befehls angezeigt.

Im folgenden Beispiel wird gezeigt, was im Eingabeaufforderungsfenster angezeigt wird, wenn Sie eine SELECT-Anweisung, eine GO-Anweisung zum Ausführen von SELECT und anschließend EXIT eingeben, um sqlcmd zu beenden:

USE AdventureWorks2022;
GO
SELECT TOP (3) BusinessEntityID, FirstName, LastName
FROM Person.Person;
GO

Hier sehen Sie das Ergebnis.

BusinessEntityID  FirstName  LastName
----------------- ---------- ------------
1                 Syed       Abbas
2                 Catherine  Abel
3                 Kim        Abercrombie

Nach dem Generieren einer Ausgabe wird diesqlcmd-Eingabeaufforderung durch sqlcmd zurückgesetzt, und es wird 1>angezeigt. Geben Sie zum Beenden der Sitzung an der EXIT-Eingabeaufforderung 1> ein. Sie können das Eingabeaufforderungsfenster nun schließen, indem Sie einen weiteren EXIT -Befehl eingeben.

Erstellen und Abfragen eines SQL Server-Containers

Sie können sqlcmd (Go) verwenden, um eine neue Instanz von SQL Server in einem Container zu erstellen. sqlcmd (Go) macht eine create-Anweisung verfügbar, mit der Sie ein Containerimage und eine SQL Server-Sicherung angeben können, um schnell eine SQL Server-Instanz für Entwicklungs-, Debugging- und Analysezwecke zu erstellen.

Wichtig

Sie benötigen eine installierte Containerlaufzei, z. B. . B. Docker oder Podman.

Der folgende Befehl zeigt, wie alle verfügbaren Optionen zum Erstellen eines neuen SQL Server-Containers angezeigt werden:

sqlcmd create mssql --help

Mit dem folgenden Befehl wird eine neue SQL Server-Instanz mit der neuesten Version von SQL Server 2022 (16.x) erstellt, und anschließend wird die Beispieldatenbank für Wide World Importers wiederhergestellt:

sqlcmd create mssql --accept-eula --tag 2022-latest --using https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak

Nachdem die SQL Server-Instanz erstellt wurde, können Sie sqlcmd (Go) verwenden, um sie zu verwalten und abzufragen.

Der folgende Befehl bestätigt die Version der Instanz, die erstellt wurde:

sqlcmd query "SELECT @@version"

Der folgende Befehl startet eine interaktive Sitzung mit der Instanz, die erstellt wurde:

sqlcmd query

Der folgende Befehl öffnet Azure Data Studio und stellt automatisch eine Verbindung mit der Datenbank her, die während des Erstellungsprozesses wiederhergestellt wurde:

sqlcmd open ads

Der folgende Befehl listet Verbindungszeichenfolgen auf, die zum Herstellen einer Verbindung mit der erstellten Instanz verwendet werden:

sqlcmd config connection-strings

Der folgende Befehl dient zum Entfernen des Containers, wenn er nicht mehr erforderlich ist:

sqlcmd delete

Ausführen von Transact-SQL-Skriptdateien mithilfe von „sqlcmd“

Sie können sqlcmd zum Ausführen von Datenbankskriptdateien verwenden. Bei Skriptdateien handelt es sich um Textdateien, die eine Kombination aus T-SQL-Anweisungen, sqlcmd-Befehlen und Skriptvariablen enthalten. Weitere Informationen zum Definieren von Skriptvariablen finden Sie unter Verwenden von sqlcmd mit Skriptvariablen. Insqlcmd werden Anweisungen, Befehle und Skriptvariablen in einer Skriptdatei verwendet, ähnlich wie bei der Verwendung interaktiv eingegebener Anweisungen und Befehle. Der Hauptunterschied besteht darin, dass sqlcmd die Eingabedatei ohne Pause durchliest, anstatt darauf zu warten, dass ein Benutzer die Anweisungen, Befehle und Skriptvariablen eingibt.

Es gibt verschiedene Möglichkeiten, um Datenbankskriptdateien zu erstellen:

  • Sie können eine Reihe von T-SQL-Anweisungen interaktiv in SQL Server Management Studio erstellen und debuggen und anschließend den Inhalt des Abfragefensters als Skriptdatei speichern.

  • Sie können eine Textdatei mit T-SQL-Anweisungen mithilfe eines Text-Editors (z. B. Editor) erstellen.

Beispiele

A. Ausführen eines Skripts mithilfe von „sqlcmd“

Starten Sie Editor, und geben Sie die folgenden T-SQL-Anweisungen ein:

USE AdventureWorks2022;
GO
SELECT TOP (3) BusinessEntityID, FirstName, LastName
FROM Person.Person;
GO

Erstellen Sie einen neuen Ordner mit dem Namen MyFolder , und speichern Sie das Skript als Datei MyScript.sql im Ordner C:\MyFolder. Geben Sie den folgenden Befehl an der Eingabeaufforderung ein, um das Skript auszuführen, und speichern Sie die Ausgabe in MyOutput.txt im Ordner MyFolder:

sqlcmd -i C:\MyFolder\MyScript.sql -o C:\MyFolder\MyOutput.txt

Hier sehen Sie das Ergebnis.

Changed database context to 'AdventureWorks2022'.
BusinessEntityID  FirstName  LastName
----------------- ---------- ------------
1                 Syed       Abbas
2                 Catherine  Abel
3                 Kim        Abercrombie
(3 rows affected)

B. Verwenden von „sqlcmd“ mit einer dedizierten Verwaltungsverbindung

Im folgenden Beispiel wird mithilfe von sqlcmd eine Verbindung mit einem Server hergestellt, der Blockierungsprobleme aufweist. Dies erfolgt mithilfe einer dedizierten Administratorverbindung (Dedicated Administrator Connection, DAC).

C:\Temp\>sqlcmd -S ServerName -A
1> SELECT session_id, blocking_session_id FROM `sys.dm_exec_requests` WHERE blocking_session_id <> 0;
2> GO

Hier sehen Sie das Ergebnis.

session_id   blocking_session_id
-----------  --------------------`
62           64
(1 rows affected)

Beenden Sie den Blockierungsprozess mithilfe von sqlcmd.

1> KILL 64;
2> GO

C. Verwenden von „sqlcmd“ zum Ausführen einer gespeicherten Prozedur

Im folgenden Beispiel wird veranschaulicht, wie eine gespeicherte Prozedur mithilfe von sqlcmd ausgeführt wird. Erstellen Sie die folgende gespeicherte Prozedur.

USE AdventureWorks2022;
GO

IF OBJECT_ID('dbo.ContactEmailAddress', 'P') IS NOT NULL
    DROP PROCEDURE dbo.ContactEmailAddress;
GO

CREATE PROCEDURE dbo.ContactEmailAddress (
    @FirstName NVARCHAR(50),
    @LastName NVARCHAR(50)
)
AS
SET NOCOUNT ON;

SELECT EmailAddress
FROM Person.Person
WHERE FirstName = @FirstName
    AND LastName = @LastName;

SET NOCOUNT OFF;
GO

Geben Sie an der sqlcmd-Eingabeaufforderung Folgendes ein:

C:\Temp\sqlcmd
1> :Setvar FirstName Gustavo
1> :Setvar LastName Achong
1> EXEC dbo.ContactEmailAddress $(FirstName),$(LastName)
2> GO
EmailAddress
-----------------------------
gustavo0@adventure-works.com

D: Verwenden von „sqlcmd“ für die Datenbankwartung

Im folgenden Beispiel wird veranschaulicht, wie mithilfe von sqlcmd Datenbankwartungstasks ausgeführt werden können. Erstellen Sie C:\Temp\BackupTemplate.sql mit dem folgenden Code.

USE master;
BACKUP DATABASE [$(db)] TO DISK='$(bakfile)';

Geben Sie an der sqlcmd-Eingabeaufforderung den folgenden Code ein:

C:\Temp\>sqlcmd
1> :connect <server>
Sqlcmd: Successfully connected to server <server>.
1> :setvar db msdb
1> :setvar bakfile C:\Temp\msdb.bak
1> :r C:\Temp\BackupTemplate.sql
2> GO
Changed database context to 'master'.
Processed 688 pages for database 'msdb', file 'MSDBData' on file 2.
Processed 5 pages for database 'msdb', file 'MSDBLog' on file 2.
BACKUP DATABASE successfully processed 693 pages in 0.725 seconds (7.830 MB/sec)

E. Verwenden von „sqlcmd“ zum Ausführen von Code auf mehreren Instanzen

Mit dem folgenden Code wird in einer Datei ein Skript angezeigt, mit dem eine Verbindung mit zwei Instanzen hergestellt wird. Beachten Sie die GO -Anweisung vom dem Herstellen einer Verbindung mit der zweiten Instanz.

:CONNECT <server>\,<instance1>
EXEC dbo.SomeProcedure
GO
:CONNECT <server>\,<instance2>
EXEC dbo.SomeProcedure
GO

E. Zurückgeben einer XML-Ausgabe

Im folgenden Beispiel wird gezeigt, wie eine XML-Ausgabe unformatiert in einem fortlaufenden Datenstrom zurückgegeben wird.

C:\Temp\>sqlcmd -d AdventureWorks2022
1> :XML ON
1> SELECT TOP 3 FirstName + ' ' + LastName + ', '
2> FROM Person.Person
3> GO
Syed Abbas, Catherine Abel, Kim Abercrombie,

F. Verwenden von „sqlcmd“ in einer Windows-Skriptdatei

Ein sqlcmd-Befehl, z. B. sqlcmd -i C:\Temp\InputFile.txt -o C:\Temp\OutputFile.txt,, kann in einer BAT-Datei zusammen mit VBScript ausgeführt werden. In diesem Fall werden keine interaktiven Optionen verwendet. sqlcmd muss auf dem Computer installiert sein, auf dem die BAT-Datei ausgeführt wird.

Erstellen Sie zunächst die folgenden vier Dateien in C:\Temp:

  • C:\Temp\badscript.sql

    SELECT batch_1_this_is_an_error
    GO
    SELECT 'batch #2'
    GO
    
  • C:\Temp\goodscript.sql

    SELECT 'batch #1';
    GO
    SELECT 'batch #2';
    GO
    
  • C:\Temp\returnvalue.sql

    :exit(select 100)
    
  • C:\Temp\windowsscript.bat

    @echo off
    
    echo Running badscript.sql
    sqlcmd -i badscript.sql -b -o out.log
    if not errorlevel 1 goto next1
    echo == An error occurred
    
    :next1
    
    echo Running goodscript.sql
    sqlcmd -i goodscript.sql -b -o out.log
    if not errorlevel 1 goto next2
    echo == An error occurred
    
    :next2
    echo Running returnvalue.sql
    sqlcmd -i returnvalue.sql -o out.log
    echo SQLCMD returned %errorlevel% to the command shell
    
    :exit
    

Führen Sie anschließend an der Eingabeaufforderung C:\Temp\windowsscript.bat aus:

C:\Temp\>windowsscript.bat
Running badscript.sql
== An error occurred
Running goodscript.sql
Running returnvalue.sql

SQLCMD returned 100 to the command shell

G. Verwenden von „sqlcmd“ zum Festlegen der Verschlüsselung für Azure SQL-Datenbank

sqlcmd kann bei einer Verbindung mit SQL-Datenbank-Daten ausgeführt werden, um die Verschlüsselung und Zertifikatsvertrauenswürdigkeit anzugeben. Zwei sqlcmd-Optionen sind verfügbar:

  • Der Schalter -N wird vom Client verwendet, um eine verschlüsselte Verbindung anzufordern. Diese Option entspricht der ADO.NET-Option ENCRYPT = true.

  • Der Schalter -C wird vom Client verwendet, um ihn so zu konfigurieren, dass dem Serverzertifikat implizit vertraut wird, ohne es zu überprüfen. Diese Option entspricht der ADO.NET-Option TRUSTSERVERCERTIFICATE = true.

Der SQL-Datenbank-Dienst unterstützt nicht alle SET-Optionen, die für eine SQL Server-Instanz verfügbar sind. Die folgenden Optionen lösen einen Fehler aus, wenn die entsprechende SET -Option auf ON oder OFFfestgelegt wird:

  • SET ANSI_DEFAULTS
  • SET ANSI_NULLS
  • SET REMOTE_PROC_TRANSACTIONS
  • SET ANSI_NULL_DEFAULT

Die folgenden SET-Optionen lösen zwar keine Ausnahmen aus, können jedoch nicht verwendet werden. Sie gelten als veraltet:

  • SET CONCAT_NULL_YIELDS_NULL
  • SET ANSI_PADDING
  • SET QUERY_GOVERNOR_COST_LIMIT

Syntax

Die folgenden Beispiele beziehen sich auf zwei Fälle, in denen SQL Server Native Client-Anbieter-Einstellungen wie folgt lauten:

  • ForceProtocolEncryption = False
  • Trust Server Certificate = No

Verbindung mit Windows-Anmeldeinformationen herstellen und Kommunikation verschlüsseln:

sqlcmd -E -N

Verbindung mit Windows-Anmeldeinformationen herstellen und Serverzertifikat vertrauen:

sqlcmd -E -C

Verbindung mit Windows-Anmeldeinformationen herstellen, Kommunikation verschlüsseln und Serverzertifikat vertrauen:

sqlcmd -E -N -C

Die folgenden Beispiele beziehen sich auf zwei Fälle, in denen SQL Server Native Client-Anbieter-Einstellungen wie folgt lauten:

  • ForceProtocolEncryption = True
  • TrustServerCertificate = Yes

Verbindung mit Windows-Anmeldeinformationen herstellen, Kommunikation verschlüsseln und Serverzertifikat vertrauen:

sqlcmd -E

Verbindung mit Windows-Anmeldeinformationen herstellen, Kommunikation verschlüsseln und Serverzertifikat vertrauen:

sqlcmd -E -N

Verbindung mit Windows-Anmeldeinformationen herstellen, Kommunikation verschlüsseln und Serverzertifikat vertrauen:

sqlcmd -E -C

Verbindung mit Windows-Anmeldeinformationen herstellen, Kommunikation verschlüsseln und Serverzertifikat vertrauen:

sqlcmd -E -N -C

Wenn der Anbieter ForceProtocolEncryption = True angibt, wird die Verschlüsselung aktiviert, auch wenn die Verbindungszeichenfolge Encrypt=No enthält.