Home » Top ms sql variable deklarieren New Update

Top ms sql variable deklarieren New Update

by Tratamien Torosace

You are viewing this post: Top ms sql variable deklarieren New Update

Sie sehen gerade das Thema ms sql variable deklarieren


Table of Contents

DECLARE @local_variable (Transact-SQL) – SQL Server … New

25.03.2022 · Beim Deklarieren von table-Variablen muss die table-Variable die einzige Variable sein, die in der DECLARE-Anweisung deklariert wird. column_name Der Name der Spalte in der Tabelle. scalar_data_type Gibt an, dass die Spalte ein skalarer Datentyp ist. … Weitere Informationen finden Sie unter SET @local_variable (Transact-SQL).

+ Details hier sehen

Read more

Inhaltsverzeichnis

DECLARE @local_variable (Transact-SQL)

Artikel

31.03.2022

8 Minuten Lesezeit

14 Credits Ist diese Seite hilfreich? Ja Nein Haben Sie weiteres Feedback für uns? Feedback wird an Microsoft gesendet: Wenn Sie auf die Schaltfläche „Senden“ klicken, wird Ihr Feedback zur Verbesserung von Microsoft-Produkten und -Diensten verwendet

Datenschutzrichtlinie Absenden Vielen Dank.

In diesem Artikel

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

Variablen werden im Hauptteil eines Stapels oder einer Prozedur mit einer DECLARE-Anweisung deklariert

Die Zuweisung der Werte erfolgt über eine SET- oder SELECT-Anweisung

Cursor-Variablen können mit dieser Anweisung deklariert und mit anderen Cursor-spezifischen Anweisungen verwendet werden

Nach der Deklaration werden alle Variablen auf NULL initialisiert, es sei denn, ein Wert wird als Teil der Deklaration angegeben

Transact-SQL-Syntaxkonventionen

Syntax

— Syntax für SQL Server und Azure SQL-Datenbank DECLARE { { @local_variable [AS] data_type [ = value ] } | { @cursor_variable_name CURSOR } } [,…n] | { @table_variable_name [AS] } ::= TABLE ( { | } [ ,…n] ) ::= column_name { scalar_data_type | AS berechneter_Spaltenausdruck } [ COLLATE Kollationsname ] [ [ DEFAULT konstanter_Ausdruck ] | IDENTITY [ (Startwert, Inkrement) ] ] [ ROWGUIDCOL ] [ ] ::= { [ NULL | NICHT NULL ] | [ PRIMÄRSCHLÜSSEL | EINMALIG ] | PRÜFEN ( Logischer_Ausdruck ) | WITH ( ) } ::= { { PRIMARY KEY | UNIQUE } ( Spaltenname [ ,…n] ) | CHECK ( search_condition ) } ::= Siehe CREATE TABLE für die Indexoptionssyntax.

— Syntax für Azure Synapse Analytics und Parallel Data Warehouse DECLARE {{ @local_variable [AS] data_type } [ =value [ COLLATE ] ] } [,…n]

Hinweis Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie in der Dokumentation zu früheren Versionen

Argumente

@@

Der Name einer Variablen

Variablennamen müssen mit einem at-Zeichen (@) beginnen

Lokale Variablennamen müssen den Regeln für Bezeichner entsprechen

Datentyp

Ein vom System bereitgestellter benutzerdefinierter Tabellentyp oder Aliasdatentyp der Common Language Runtime (CLR)

Eine Variable darf nicht vom Datentyp text, ntext oder image sein

Weitere Informationen zu Systemdatentypen finden Sie unter Datentypen (Transact-SQL)

Weitere Informationen zu benutzerdefinierten clr-Typen oder Aliasdatentypen finden Sie unter CREATE TYPE (Transact-SQL).

==

Weist der Variablen inline einen Wert zu

Der Wert kann eine Konstante oder ein Ausdruck sein; In jedem Fall muss es mit dem Typ der Variablendeklaration übereinstimmen oder implizit in diesen Typ konvertierbar sein

Weitere Informationen finden Sie unter Ausdrücke (Transact-SQL)

@@

Der Name einer Cursorvariablen

Cursor-Variablennamen müssen mit einem at-Zeichen (@) beginnen und den Regeln für Bezeichner entsprechen

MAUSZEIGER

Gibt an, dass die Variable eine lokale Cursorvariable ist

@@

Der Name einer Variablen vom Typ Tabelle

Variablennamen müssen mit einem @-Zeichen beginnen und den Regeln für Bezeichner folgen.

Definiert den Tabellendatentyp

Die Tabellendeklaration umfasst Spaltendefinitionen, Namen, Datentypen und Einschränkungen

Die einzigen zulässigen Einschränkungstypen sind PRIMARY KEY, UNIQUE, NULL und CHECK

Ein Aliasdatentyp kann nicht als Skalarspaltendatentyp verwendet werden, wenn eine Regel oder Standarddefinition an den Typ gebunden ist

<> table_type_definiton Ist eine Teilmenge der Informationen, die benötigt werden, um eine Tabelle in einer CREATE TABLE zu definieren

Es enthält Elemente und wichtige Definitionen

Weitere Informationen finden Sie unter CREATE TABLE (Transact-SQL&)

n

Ein Platzhalter, der angibt, dass mehrere Variablen angegeben und ihnen Werte zugewiesen werden können

Beim Deklarieren von Tabellenvariablen muss die Tabellenvariable die einzige in der DECLARE-Anweisung deklarierte Variable sein

Spaltenname

Der Name der Spalte in der Tabelle

skalarer_Datentyp

Gibt an, dass die Spalte ein Skalardatentyp ist

berechneter_Spaltenausdruck

Ein Ausdruck, der den Wert einer berechneten Spalte definiert

Er wird unter Verwendung anderer Spalten derselben Tabelle mit einem Ausdruck berechnet

Beispielsweise kann eine berechnete Spalte die Definition cost ASprice * qty haben

Der Ausdruck kann ein nicht konformer Spaltenname, eine Konstante, eine integrierte Funktion, eine Variable oder eine beliebige Kombination davon sein, die durch einen oder mehrere Operatoren verbunden sind

Der Ausdruck darf keine Unterabfrage oder benutzerdefinierte Funktion sein

Der Ausdruck darf nicht auf einen benutzerdefinierten CLR-Typ verweisen

[ COLLATE collation_name]

Gibt die Sortierung für die Spalte an

collation_name kann entweder ein Windows-Sortierungsname oder ein SQL-Sortierungsname sein

Dieser Member gilt nur für char-, varchar-, text-, nchar-, nvarchar- und ntext-Spalten

Wenn collation_name nicht angegeben ist, wird der Spalte die Sortierung des benutzerdefinierten Datentyps zugewiesen, wenn es sich um eine Spalte des benutzerdefinierten Datentyps handelt, oder es wird die aktuelle Datenbanksortierung zugewiesen

Weitere Informationen zu Windows- und SQL-Sortierungsnamen finden Sie unter COLLATE (Transact-SQL)

DEFAULT

Gibt den Wert an, der für die Spalte bereitgestellt wird, wenn kein Wert explizit bereitgestellt wird

DEFAULT-Definitionen können auf alle Spalten angewendet werden, mit Ausnahme von Spalten, die als Zeitstempel definiert sind, und Spalten mit der IDENTITY-Eigenschaft

DEFAULT-Definitionen werden entfernt, wenn die Tabelle gelöscht wird

Es kann nur ein konstanter Wert wie ein String, eine Systemfunktion z.B

B

SYSTEM_USER(), oder NULL als Standardwert verwendet werden

Aus Gründen der Kompatibilität mit früheren Versionen von SQL Server kann einem DEFAULT-Namen ein Einschränkungsname zugewiesen werden

konstanter_ausdruck

Eine Konstante, ein Nullwert oder eine Systemfunktion, die als Standardwert für die Spalte verwendet werden soll

IDENTITÄT

Gibt an, dass die neue Spalte eine Identitätsspalte ist

Wenn der Tabelle eine neue Zeile hinzugefügt wird, erhöht SQL Server einen eindeutigen Wert für die Spalte

Identitätsspalten werden normalerweise in Verbindung mit PRIMARY KEY-Einschränkungen verwendet, um als eindeutige Zeilenkennung für die Tabelle zu dienen

Die IDENTITY-Eigenschaft kann den folgenden Spalten zugewiesen werden: tinyint, smallint, int, decimal(p,0) oder numeric(p,0)

Pro Tabelle kann nur eine Identitätsspalte erstellt werden

Gebundene Standardwerte und DEFAULT-Einschränkungen können nicht mit einer Identitätsspalte verwendet werden

Sie müssen entweder den Startwert und den Inkrementwert oder keinen von beiden angeben

Wenn Seed und Inkrement nicht angegeben sind, ist der Standardwert (1,1).

Seed

Der Wert, der für die erste in die Tabelle geladene Zeile verwendet wird

Inkrement

Der Inkrementwert, der zum Identitätswert der zuvor geladenen Zeile hinzugefügt wird

ROWGUIDCOL

Gibt an, dass die neue Spalte eine global eindeutige Bezeichnerspalte für alle Zeilen ist

Nur eine Uniqueidentifier-Spalte pro Tabelle kann als ROWGUIDCOL-Spalte markiert werden

Die Eigenschaft ROWGUIDCOL kann nur einer uniqueidentifier-Spalte zugewiesen werden

NULL | NICHT NULL

Gibt an, ob Nullen in der Variablen zulässig sind

Der Standardwert ist NULL

PRIMÄRSCHLÜSSEL

Eine Einschränkung, die die Entitätsintegrität für eine bestimmte Spalte (oder Spalten) durch einen eindeutigen Index erzwingt

Pro Tabelle kann nur eine PRIMARY KEY-Einschränkung erstellt werden

EINZIGARTIG

Eine Einschränkung, die Entitätsintegrität für eine bestimmte Spalte (oder Spalten) durch einen eindeutigen Index bereitstellt

Eine Tabelle kann mehrere UNIQUE-Einschränkungen haben

PRÜFEN

Eine Einschränkung, die die Domänenintegrität erzwingt, indem die möglichen Eingabewerte für eine oder mehrere Spalten eingeschränkt werden

Logischer_Ausdruck

Ein logischer Ausdruck, der TRUE oder FALSE zurückgibt

Bemerkungen

Variablen werden häufig in einem Batch oder einer Prozedur als Zähler für WHILE-, LOOP- oder IF…ELSE-Blöcke verwendet

Variablen können nur in Ausdrücken verwendet werden und sind kein Ersatz für Objektnamen oder Schlüsselwörter

Um dynamische SQL-Anweisungen zu erstellen, verwenden Sie EXECUTE

Der Gültigkeitsbereich einer lokalen Variablen ist der Stapel, in dem sie deklariert ist

Eine Tabellenvariable ist nicht unbedingt speicherresident

Wenn der Speicherplatz nicht ausreicht, können die einer Tabellenvariablen zugeordneten Seiten an tempdb gesendet werden

Auf eine Cursorvariable, der derzeit ein Cursor zugewiesen ist, kann in den folgenden Anweisungen als Quelle verwiesen werden:

CLOSE-Anweisung.

DEALLOCATE-Anweisung.

FETCH-Anweisung.

OPEN-Anweisung.

Positionierte DELETE- oder UPDATE-Anweisung.

SET CURSOR VARIABLE-Anweisung (auf der rechten Seite).

In all diesen Anweisungen löst SQL Server einen Fehler, wenn ein Fehler vorliegt Cursorvariable, auf die verwiesen wird, der jedoch derzeit kein Cursor zugeordnet ist

Wenn auf keine Cursorvariable verwiesen wird, gibt SQL Server denselben Fehler aus wie bei einer nicht deklarierten Variablen eines anderen Typs

Eine Cursor-Variable hat die folgenden Eigenschaften:

Es kann das Ziel eines Cursortyps oder einer anderen Cursorvariablen sein

Weitere Informationen finden Sie unter SET @local_variable (Transact-SQL)

Sie kann als Ziel eines Ausgabe-Cursor-Parameters in einer EXECUTE-Anweisung referenziert werden, wenn der Cursor-Variable derzeit kein Cursor zugewiesen ist

Es ist als Zeiger auf den Cursor zu verstehen

.Beispiele

A

Verwendung von DECLARE

Im folgenden Beispiel wird die lokale Variable @find verwendet, um Kontaktinformationen für alle Nachnamen abzurufen, die mit „Man“ beginnen

VERWENDE AdventureWorks2012; GO DECLARE @find VARCHAR(30); /* Auch erlaubt: DECLARE @find VARCHAR(30) = ‘Man%’; */ SET @find = ‘Man%’; SELECT p.LastName, p.FirstName, ph.PhoneNumber FROM Person.Person AS p JOIN Person.PersonPhone AS ph ON p.BusinessEntityID = ph.BusinessEntityID WHERE LastName LIKE @find;

Hier ist die Ergebnismenge

Nachname Vorname Telefon ————– ——————— – – ————————————– Manchepalli Ajay 1 (11) 500 555-0174 Manek Parul 1 (11) 500 555-0146 Manzanares Tomas 1 (11) 500 555-0178 (3 Reihe(n) betroffen)

B

Verwendung von DECLARE mit zwei Variablen

Das folgende Beispiel ruft die Namen von Vertriebsmitarbeitern von Adventure Works Cycles ab, die sich im nordamerikanischen Vertriebsgebiet befinden und einen Jahresumsatz von mindestens 2.000.000 USD erzielen

VERWENDE AdventureWorks2012; GO NOCOUNT EINSTELLEN; GO DECLARE @Group nvarchar(50), @Sales MONEY; SET @Gruppe = N’Nordamerika’; SET @Sales = 2000000; SETZE ZÄHLER AUS; SELECT FirstName, LastName, SalesYTD FROM Sales.vSalesPerson WHERE TerritoryGroup = @Group and SalesYTD >= @Sales;

C

Deklarieren einer Variablen vom Typ „Tabelle“

Das folgende Beispiel erstellt eine Tabellenvariable, die die in der OUTPUT-Klausel der UPDATE-Anweisung angegebenen Werte speichert

Im Folgenden sind zwei SELECT-Anweisungen aufgeführt, die die Werte in @MyTableVar und die Ergebnisse der Aktualisierungsoperation in der Employee-Tabelle zurückgeben

Beachten Sie, dass sich die Ergebnisse in der Spalte INSERTED.ModifiedDate von den Werten in der Spalte ModifiedDate in der Employee-Tabelle unterscheiden

Dies liegt daran, dass der AFTER UPDATE-Trigger, der den Wert von ModifiedDate auf das aktuelle Datum aktualisiert, in der Employee-Tabelle definiert ist

Die von OUTPUT zurückgegebenen Spalten spiegeln jedoch die Daten wider, bevor Trigger ausgelöst werden

Weitere Informationen finden Sie unter OUTPUT-Klausel (Transact-SQL)

VERWENDE AdventureWorks2012; GO DECLARE @MyTableVar TABLE (EmpID INT NOT NULL, OldVacationHours INT, NewVacationHours INT, ModifiedDate DATETIME); UPDATE TOP (10) HumanResources.Employee SET VacationHours = VacationHours * 1.25 OUTPUT INSERTED.BusinessEntityID, DELETED.VacationHours, INSERTED.VacationHours, INSERTED.ModifiedDate INTO @MyTableVar; –Ergebnismenge der Tabellenvariablen anzeigen

SELECT EmpID, OldVacationHours, NewVacationHours, ModifiedDate FROM @MyTableVar; GO – Zeigt die Ergebnismenge der Tabelle an

–Beachten Sie, dass ModifiedDate den von einem –AFTER UPDATE-Trigger generierten Wert widerspiegelt

SELECT TOP (10) BusinessEntityID, VacationHours, ModifiedDate FROM HumanResources.Employee; GEHEN

D: Deklarieren einer Variablen vom Typ ‘benutzerdefinierte Tabelle’

Im folgenden Beispiel wird ein Tabellenwertparameter oder eine Variable namens @LocationTVP erstellt

Dies erfordert einen entsprechenden benutzerdefinierten Tabellentyp mit dem Namen LocationTableType

Weitere Informationen zum Erstellen eines benutzerdefinierten Tabellentyps finden Sie unter CREATE TYPE (Transact-SQL)

Weitere Informationen zu Tabellenwertparametern finden Sie unter Verwenden von Tabellenwertparametern (Datenbankmodul)

DECLARE @LocationTVP AS LocationTableType;

Beispiele: Azure Synapse Analytics und Analytics Platform System (PDW)

E

Verwendung von DECLARE

Im folgenden Beispiel wird die lokale Variable @find verwendet, um Kontaktinformationen für alle Nachnamen abzurufen, die mit Walt beginnen

— Verwendet AdventureWorks DECLARE @find VARCHAR(30); /* Auch erlaubt: DECLARE @find VARCHAR(30) = ‘Man%’; */ SET @find = ‘Walt%’; SELECT LastName, FirstName, Phone FROM DimEmployee WHERE LastName LIKE @find;

F

Verwendung von DECLARE mit zwei Variablen

Das folgende Beispiel ruft Variablen ab, um die Vor- und Nachnamen von Mitarbeitern in der DimEmployee-Tabelle anzugeben

— Verwendet AdventureWorks DECLARE @lastName VARCHAR(30), @firstName VARCHAR(30); SET @lastName = ‘Walt%’; SET @firstName = ‘Bryan’; SELECT LastName, FirstName, Phone FROM DimEmployee WHERE LastName LIKE @lastName AND FirstName LIKE @firstName;

Weitere Informationen

AUSFÜHREN (Transact-SQL)

Integrierte Funktionen (Transact-SQL)

SELECT (Transact-SQL)

Tabelle (Transact-SQL)

Vergleich von typisiertem XML mit nicht typisiertem XML

SQL Variable Declaration – How to Declare a Variable in SQL Server – Quick Tips Ep39 Update New

Video unten ansehen

Weitere hilfreiche Informationen im Thema anzeigen ms sql variable deklarieren

ms sql variable deklarieren Sie können die schönen Bilder im Thema sehen

 Update SQL Variable Declaration - How to Declare a Variable in SQL Server - Quick Tips Ep39
SQL Variable Declaration – How to Declare a Variable in SQL Server – Quick Tips Ep39 New

SQLCMD-Hilfsprogramm – SQL Server | Microsoft Docs New

31.03.2022 · In diesem Artikel. Gilt für: SQL Server (alle unterstützten Versionen) Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW) Informationen zu SQL Server 2014 und niedrigeren Versionen finden Sie unter sqlcmd-Hilfsprogramm.. Informationen zur Verwendung von sqlcmd unter Linux finden Sie unter …

+ ausführliche Artikel hier sehen

Read more

Inhaltsverzeichnis

SQLCMD-Dienstprogramm

Artikel

31.03.2022

35 Minuten Lesezeit

36 Mitwirkende Ist diese Seite hilfreich? Ja Nein Haben Sie weiteres Feedback für uns? Feedback wird an Microsoft gesendet: Wenn Sie auf die Schaltfläche „Senden“ klicken, wird Ihr Feedback zur Verbesserung von Microsoft-Produkten und -Diensten verwendet

Datenschutzrichtlinie Absenden Vielen Dank.

In diesem Artikel

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

Informationen zu SQL Server 2014 und niedrigeren Versionen finden Sie unter sqlcmd-Dienstprogramm

Informationen zur Verwendung von sqlcmd unter Linux finden Sie unter Installieren von sqlcmd und bcp unter Linux

Mit dem Dienstprogramm sqlcmd können Sie Transact-SQL-Anweisungen, Systemprozeduren und Skriptdateien in verschiedenen Modi eingeben:

An einer Eingabeaufforderung.

Im Abfrage-Editor im SQLCMD-Modus.

Im SQLCMD-Modus

In einer Windows-Skriptdatei.

In einem Auftragsschritt eines SQL Server-Agent-Auftrags für ein Betriebssystem (Cmd.exe).

Das Dienstprogramm verwendet ODBC, um Transact-SQL-Batches auszuführen.

Laden Sie sqlcmd herunter und installieren Sie es

Windows

Laden Sie Microsoft Command Line Utilities 15 für SQL Server (x64) (2,6 MB) herunter

Laden Sie Microsoft Command Line Utilities 15 für SQL Server (x86) (2,3 MB) herunter

Die Befehlszeilentools sind allgemein verfügbar (GA), werden aber mit dem Installationspaket für SQL Server 2019 (15.x) veröffentlicht.

Versionsinformationen

Versionsnummer: 15.0.2

Build-Nummer: 15.0.2000.5

Veröffentlichungsdatum: 11

September 2020

Die neue Version von SQLCMD unterstützt Azure AD-Authentifizierung, einschließlich Multi-Factor Authentication (MFA)-Unterstützung für SQL-Datenbank, Azure Synapse Analytics und Always Encrypted-Funktionen

Das neue BCP unterstützt Azure AD-Authentifizierung, einschließlich Multi-Factor Authentication (MFA)-Unterstützung für SQL-Datenbank und Azure Synapse Analytics.

Systemanforderungen: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008-2022.

Diese Komponente erfordert sowohl den integrierten Windows Installer 5 als auch den Microsoft ODBC-Treiber 17 für SQL Server 17

Linux/macOS

Anweisungen zum Installieren von sqlcmd unter Linux und macOS finden Sie unter Installieren von sqlcmd und bcp unter Linux

Überprüfung der Version

Führen Sie zum Überprüfen der SQLCMD-Version den Befehl sqlcmd -? und vergewissern Sie sich, dass es sich um Version 15.0.2000.5 oder höher handelt

Hinweis Sie benötigen mindestens Version 13.1, um Always Encrypted ( -g ) und Azure Active Directory-Authentifizierung ( -G ) zu unterstützen

Auf Ihrem Computer sind möglicherweise mehrere Versionen von sqlcmd.exe installiert

Stellen Sie sicher, dass Sie die richtige Version verwenden

sqlcmd ausführen -? um die Version zu ermitteln.

Vorinstalliert

Azure Cloud Shell

Sie können das Dienstprogramm sqlcmd von Azure Cloud Shell testen, das standardmäßig vorinstalliert ist: Starten Sie Cloud Shell

Azure Data Studio

Wählen Sie „SQLCMD aktivieren“ auf der Editor-Symbolleiste aus, um sqlcmd-Anweisungen in Azure Data Studio auszuführen

See also  The Best gesellenprüfung teil 1 friseur schriftlich New

SQL Server Management Studio (SSMS)

Um sqlcmd-Anweisungen in SSMS auszuführen, wählen Sie im oberen Navigationsbereich im Dropdown-Feld des Abfragemenüs die Option SQLCMD-Modus aus

Wichtig SQL Server Management Studio (SSMS) verwendet den Microsoft. NET Framework SqlClient, um im regulären Modus und im SQLCMD-Modus im Abfrage-Editor ausgeführt zu werden

Beim Ausführen von sqlcmd über die Befehlszeile verwendet sqlcmd den ODBC-Treiber

Da möglicherweise andere Standardoptionen gelten, sehen Sie möglicherweise ein unterschiedliches Verhalten, wenn Sie dieselbe Abfrage in SQL Server Management Studio im SQLCMD-Modus und im sqlcmd-Dienstprogramm ausführen.

Syntax

Derzeit erfordert sqlcmd kein Leerzeichen zwischen der Befehlszeilenoption und dem Wert

In einer zukünftigen Version kann jedoch ein Leerzeichen zwischen der Befehlszeilenoption und dem Wert erforderlich sein

Ausführlichere Informationen zur Syntax und Verwendung von sqlcmd finden Sie unter:

sqlcmd -a packet_size -A (dedizierte Administratorverbindung) -b (Batch-Job beenden, wenn ein Fehler auftritt) -c batch_terminator -C (dem Serverzertifikat vertrauen) -d db_name -D -e (Echo-Eingabe) -E (vertrauenswürdig Verbindung) -f Codepage | i:Codepage[,o:Codepage] | o:codepage[,i:codepage] -g (Spaltenverschlüsselung aktivieren) -G (Azure Active Directory zur Authentifizierung verwenden) -h rows_per_header -H Workstation_name -i input_file -I (Bezeichner in Anführungszeichen aktivieren) -j (unformatierte Fehlermeldungen drucken) -k[1 | 2] (Steuerzeichen entfernen oder ersetzen) -K application_intent -l login_timeout -L[c] (Server auflisten, optional saubere Ausgabe) -m error_level -M multisubnet_failover -N (Verbindung verschlüsseln) -o output_file -p[1] (print Statistik, optionales Doppelpunktformat) -P Passwort -q “Befehlszeilenabfrage” -Q “Befehlszeilenabfrage” (und beenden) -r[0 | 1] (msgs to stderr) -R (regionale Einstellungen des Clients verwenden) -s col_separator -S [protocol:]server[instance_name][,port] -t query_timeout -u (Unicode-Ausgabedatei) -U login_id -v var = ” value” -V error_severity_level -w column_width -W (Entfernen von Leerzeichen am Ende) -x (Variablensubstitution deaktivieren) -X[1] (Befehle, Startskript, Umgebungsvariablen, optionales Beenden deaktivieren) -y variable_length_type_display_width -Y fixed_length_type_display_width -z new_password – Z neues_passwort (und beenden) -? (Verwendungszweck)

Befehlszeilenoptionen

Registrierungsprozesse

-EIN

Meldet sich über eine dedizierte Administratorverbindung (DAC) bei SQL Server an

Diese Art der Verbindung wird verwendet, um Serverprobleme zu beheben

Diese Verbindung funktioniert nur mit Servercomputern, die DAC unterstützen

Wenn DAC nicht verfügbar ist, generiert sqlcmd eine Fehlermeldung und wird dann beendet

Weitere Informationen zu DAC finden Sie unter Diagnoseverbindung für Datenbankadministratoren

Die Option -A wird nicht mit der Option -G unterstützt

Um mit der Option -A eine Verbindung zur SQL-Datenbank herzustellen, müssen Sie ein SQL Server-Administrator sein

DAC ist für Azure Active Directory-Administratoren nicht verfügbar

-C

Dieser Schalter wird vom Client verwendet, um ihn so zu konfigurieren, dass er dem Serverzertifikat ohne Überprüfung implizit vertraut

Diese Option entspricht der ADO.NET-Option TRUSTSERVERCERTIFICATE = true.

-ddb_name

Gibt eine USE USE-Anweisung aus, wenn Sie sqlcmd starten

Diese Option legt die sqlcmd-Skriptvariable SQLCMDDBNAME fest

Dieser Parameter gibt die Startdatenbank an

Der Standardwert ist die standardmäßige Datenbankeigenschaft der Anmelde-ID

Wenn die Datenbank nicht existiert, wird eine Fehlermeldung generiert und sqlcmd wird beendet

-D

Interpretieren Sie den an -S übergebenen Servernamen als DSN statt als Hostnamen

Weitere Informationen finden Sie unter Verbindung mit sqlcmd im Abschnitt DSN-Unterstützung in sqlcmd und bcp

Hinweis Die Option -D ist nur für Linux- und MacOS-Clients verfügbar

Auf Windows-Clients bezeichnete dies zuvor eine jetzt veraltete Option, die entfernt und ignoriert wurde.

-llogin_timeout

Gibt die Anzahl der Sekunden an, die beim Herstellen einer Verbindung zu einem Server vergehen sollen, bevor eine sqlcmd-Anmeldung beim ODBC-Treiber das Zeitlimit überschreitet

Diese Option legt die sqlcmd-Skriptvariable SQLCMDLOGINTIMEOUT fest

Das standardmäßige sqlcmd-Anmeldezeitlimit beträgt acht Sekunden

Wenn Sie die Option „-G“ verwenden, um eine Verbindung mit SQL-Datenbank oder Azure Synapse Analytics herzustellen und sich mithilfe von Azure Active Directory zu authentifizieren, wird ein Timeoutwert von mindestens 30 Sekunden empfohlen

Der Zeitüberschreitungswert für den Anmeldezeitraum muss eine Zahl zwischen 0 und 65534 sein

Wenn der angegebene Wert kein numerischer Wert ist oder außerhalb dieses Bereichs liegt, generiert sqlcmd eine Fehlermeldung

Ein Wert von 0 gibt eine unbegrenzte Wartezeit an

-E

Verwendet eine vertrauenswürdige Verbindung anstelle eines Benutzernamens und Kennworts, um sich bei SQL Server anzumelden

Standardmäßig verwendet sqlcmd die vertrauenswürdige Verbindung, wenn -E nicht angegeben ist

Die Option -E ignoriert mögliche Umgebungsvariableneinstellungen für Benutzernamen und Kennwörter, wie z

B

SQLCMDPASSWORD

Wenn die Option -E zusammen mit der Option -U oder der Option -P verwendet wird, wird eine Fehlermeldung generiert

-g

Legt die Spaltenverschlüsselungseinstellung auf Aktiviert fest

Weitere Informationen finden Sie unter Always Encrypted

Es werden nur Hauptschlüssel unterstützt, die im Windows-Zertifikatspeicher gespeichert sind

Der Schalter -g erfordert mindestens sqlcmd Version 13.1

Um die Version zu ermitteln, führen Sie sqlcmd -? aus.

-G

Diese Option wird vom Client beim Herstellen einer Verbindung mit SQL-Datenbank oder Azure Synapse Analytics verwendet, um anzugeben, dass der Benutzer mithilfe der Azure Active Directory-Authentifizierung authentifiziert werden soll

Diese Option setzt die sqlcmd-Skriptvariable „SQLCMDUSEAAD = true“

Der Schalter -G erfordert mindestens sqlcmd Version 13.1

Um die Version zu ermitteln, führen Sie sqlcmd -? das Ende

Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SQL-Datenbank oder Azure Synapse Analytics mithilfe der Azure Active Directory-Authentifizierung

Die Option -A wird nicht mit der Option -G unterstützt

Wichtig Die Option „-G“ gilt nur für Azure SQL-Datenbank und Azure Synapse Analytics

Die interaktive AAD-Authentifizierung wird derzeit nicht unter Linux oder macOS unterstützt

Die integrierte AAD-Authentifizierung erfordert den Microsoft ODBC-Treiber 17 für SQL Server 17.6.1 oder höher und eine ordnungsgemäß konfigurierte Kerberos-Umgebung

Benutzername und Kennwort für Azure Active Directory: Wenn Sie einen Benutzernamen und ein Kennwort für Azure Active Directory verwenden, geben Sie die Option -G zusammen mit dem Benutzernamen und dem Kennwort an, indem Sie die Optionen -U und -P angeben

Sqlcmd -S testsrv.database.windows.net -d Target_DB_or_DW -U [email protected] -P MyAADPassword -G Der Parameter -G generiert die folgende Verbindungszeichenfolge im Back-End: SERVER = Target_DB_or_DW.testsrv.database.windows

net;UID= [email protected];PWD=MyAADPassword;AUTHENTICATION = ActiveDirectoryPassword

Integrierte Azure Active Directory-Authentifizierung Wenn Sie die integrierte Azure Active Directory-Authentifizierung verwenden möchten, geben Sie die Option -G ohne Benutzername und Kennwort an

Die integrierte AAD-Authentifizierung erfordert den Microsoft ODBC-Treiber 17 für SQL Server 17.6.1 oder höher und eine ordnungsgemäß konfigurierte Kerberos-Umgebung

Sqlcmd -S Target_DB_or_DW.testsrv.database.windows.net -G Dies erzeugt die folgende Verbindungszeichenfolge im Backend: SERVER = Target_DB_or_DW.testsrv.database.windows.net Authentication = ActiveDirectoryIntegrated; Trusted_Connection=NO Hinweis Die Option -E (Trusted_Connection) kann nicht mit der Option -G verwendet werden.

Interaktives Azure Active Directory Die interaktive Azure AD-Authentifizierung für Azure SQL-Datenbank und Azure Synapse Analytics ermöglicht Ihnen die Verwendung einer interaktiven Methode, die die mehrstufige Authentifizierung unterstützt

Weitere Informationen finden Sie unter Interaktive Active Directory-Authentifizierung

Die interaktive Azure AD-Authentifizierung erfordert sqlcmd-Version 15.0.1000.34 oder höher und ODBC-Version 17.2 oder höher

Um die interaktive Authentifizierung zu aktivieren, geben Sie die Option -G nur mit dem Benutzernamen (-U) und ohne Kennwort an

Im folgenden Beispiel werden Daten im interaktiven Azure AD-Modus exportiert

Dies gibt einen Benutzernamen an, der ein AAD-Konto darstellt

Dies ist das gleiche Beispiel, das im vorherigen Abschnitt verwendet wurde: Azure Active Directory-Benutzername und -Kennwort

Im interaktiven Modus muss ein Passwort manuell eingegeben werden

Für Multi-Faktor-Authentifizierungskonten müssen Sie Ihre konfigurierte MFA-Authentifizierungsmethode vervollständigen

sqlcmd -S testsrv.database.windows.net -d Target_DB_or_DW -G -U [email protected] Der vorherige Befehl generiert die folgende Verbindungszeichenfolge im Backend: SERVER = Target_DB_or_DW.testsrv.database.windows.net;UID= [email protected]; AUTHENTICATION = ActiveDirectoryInteractive Wenn ein Azure AD-Benutzer ein Benutzer einer Verbunddomäne ist, der ein Windows-Konto verwendet, enthält der in der Befehlszeile erforderliche Benutzername sein Domänenkonto (siehe unten [email protected]): sqlcmd -S testsrv.database.windows.net – d Target_DB_or_DW -G -U [email protected] Der Gastbenutzeralias wird verwendet, wenn Gastbenutzer in einer bestimmten Azure AD-Instanz vorhanden sind und zu einer Gruppe gehören, die in SQL-Datenbank vorhanden ist und über Datenbankberechtigungen zum Ausführen des Befehls sqlcmd verfügt (z

B

keith0 @adventureworks.com)

Wichtig Es gibt ein bekanntes Problem bei der Verwendung der Optionen -G und -U mit SQLCMD: Wenn die Option -U vor der Option -G platziert wird, kann die Authentifizierung fehlschlagen

Verwenden Sie immer die Option -G vor der Option -U.

-Hworkstation_name

Der Name einer Arbeitsstation

Diese Option legt die sqlcmd-Skriptvariable SQLCMDWORKSTATION fest

Der Arbeitsstationsname wird in der Spalte hostname der Katalogansicht sys.sysprocesses aufgeführt und kann mithilfe der gespeicherten Prozedur sp_who zurückgegeben werden

Wenn diese Option nicht angegeben ist, wird standardmäßig der Name des aktuellen Computers angenommen

Dieser Name kann verwendet werden, um verschiedene anzuzeigen

Identifizieren Sie sqlcmd-Sitzungen

-j Unformatierte Fehlermeldungen auf dem Bildschirm anzeigen

-Kapplication_intent

Deklariert den Arbeitslasttyp der Anwendung, wenn eine Verbindung zu einem Server hergestellt wird

Der einzige derzeit unterstützte Wert ist ReadOnly

Wenn -K nicht angegeben ist, unterstützt das Dienstprogramm sqlcmd keine Konnektivität mit einem sekundären Replikat in einer AlwaysOn-Verfügbarkeitsgruppe

Weitere Informationen finden Sie unter Aktive sekundäre Replikate: Lesbare sekundäre Replikate (Always On-Verfügbarkeitsgruppen)

-Mmultisubnet_failover

Geben Sie immer -M an, wenn Sie eine Verbindung mit dem Verfügbarkeitsgruppenlistener einer SQL Server-Verfügbarkeitsgruppe oder einer SQL Server-Failoverclusterinstanz herstellen

-M sorgt für eine schnellere Erkennung und Verbindung zum (derzeit) aktiven Server

Wenn -M nicht angegeben ist, ist -M deaktiviert

Weitere Informationen zu Listenern, Clientkonnektivität, Anwendungsfailover, Erstellung und Konfiguration von Verfügbarkeitsgruppen (SQL Server), Failoverclustering und AlwaysOn-Verfügbarkeitsgruppen (SQL Server) und aktiven sekundären Replikaten: Lesbare sekundäre Replikate (AlwaysOn-Verfügbarkeitsgruppen)).

-N

Dieser Schalter wird vom Client verwendet, um eine verschlüsselte Verbindung anzufordern

-PPasswort

Ein vom Benutzer bereitgestelltes Kennwort

Bei Kennwörtern wird zwischen Groß- und Kleinschreibung unterschieden

Wenn die Option -U verwendet wird, die Option -P jedoch nicht, und die Umgebungsvariable SQLCMDPASSWORD nicht festgelegt ist, fordert sqlcmd den Benutzer zur Eingabe eines Kennworts auf

Die Verwendung des NULL-Passworts wird nicht empfohlen, aber Sie können es angeben, indem Sie oben ein Paar zusammenhängender doppelter gerader Anführungszeichen für den Parameterwert verwenden:

-P “” Wichtig Die Verwendung von “-P” sollte als unsicher angesehen werden

Vermeiden Sie es, das Passwort in der Befehlszeile einzugeben

Alternativ können Sie die Umgebungsvariable „SQLCMDPASSWORD“ verwenden oder das Passwort interaktiv eingeben, indem Sie die Option „-P“ weglassen

Es wird empfohlen, ein sicheres Passwort zu verwenden

Die Eingabeaufforderung für das Passwort wird wie folgt an die Konsole ausgegeben: Passwort:

Die Benutzereingabe bleibt verborgen, d

h

es wird nichts angezeigt und der Cursor bleibt an der Anfangsposition

Mit der Umgebungsvariable SQLCMDPASSWORD können Sie ein Standardkennwort für die aktuelle Sitzung festlegen

Daher ist die Hartcodierung von Kennwörtern in Batchdateien nicht erforderlich

Das folgende Beispiel legt zuerst die Variable SQLCMDPASSWORD an der Eingabeaufforderung fest und greift dann auf das Dienstprogramm sqlcmd zu

Geben Sie an der Eingabeaufforderung Folgendes ein:

SET SQLCMDPASSWORD= [email protected]$$w0rd

Geben Sie an der resultierenden Eingabeaufforderung Folgendes ein:

SQLCMD

Wenn die Kombination aus Benutzername und Passwort falsch ist, wird eine Fehlermeldung generiert

NOTIZ! Die Umgebungsvariable OSQLPASSWORD wurde aus Gründen der Abwärtskompatibilität beibehalten

Die Umgebungsvariable SQLCMDPASSWORD hat Vorrang vor der Umgebungsvariablen OSQLPASSWORD

Da OSQLPASSWORD nicht mehr veröffentlicht wird, können die Dienstprogramme sqlcmd und osql ohne Unterbrechung nebeneinander verwendet werden

Vorhandene Skripte funktionieren weiterhin

Die Verwendung der Option -P zusammen mit der Option -E erzeugt eine Fehlermeldung

Die Angabe mehrerer Argumente nach der Option -P generiert eine Fehlermeldung und beendet sich

-S [Protokoll: ]Server[Instanzname][,Port]

Gibt die Instanz von SQL Server an, mit der eine Verbindung hergestellt werden soll

Die Option legt die sqlcmd-Skriptvariable SQLCMDSERVER fest

Geben Sie server_name an, um eine Verbindung mit der Standardinstanz von SQL Server auf diesem Servercomputer herzustellen

Geben Sie Servername [ Instanzname ] an, um eine Verbindung mit einer benannten Instanz von SQL Server auf diesem Servercomputer herzustellen

Wenn kein Servercomputer angegeben ist, stellt sqlcmd eine Verbindung mit der Standardinstanz von SQL Server auf dem lokalen Computer her

Diese Option ist erforderlich, wenn sqlcmd von einem Remotecomputer im Netzwerk ausgeführt wird

Das Protokoll kann sein: tcp (TCP/IP), lpc (gemeinsam genutzter Speicher) oder np (benannte Pipes)

Wenn Sie server_name [ when you start sqlcmd instance_name ] nicht angeben, untersucht und verwendet SQL Server die Umgebungsvariable SQLCMDSERVER

Hinweis Die Umgebungsvariable OSQLSERVER wurde aus Gründen der Abwärtskompatibilität beibehalten

Die Umgebungsvariable SQLCMDSERVER hat Vorrang vor der Umgebungsvariablen OSQLSERVER

Dies bedeutet, dass sqlcmd und osql ohne Unterbrechung koexistieren können und dass alte Skripte weiterhin funktionieren

-Ulogin_id

Dies ist der Anmeldename oder Benutzername, der für die enthaltene Datenbank verwendet wird

Für eigenständige Datenbankbenutzer müssen Sie die Datenbanknamensoption (-d) angeben.

Hinweis Die Umgebungsvariable OSQLUSER wird aus Gründen der Abwärtskompatibilität bereitgestellt

Die Umgebungsvariable SQLCMDUSER hat Vorrang vor der Umgebungsvariablen OSQLUSER

Damit können sqlcmd und osql ungestört parallel genutzt werden

Es bedeutet auch, dass vorhandene osql-Skripte weiterhin funktionieren

Wenn weder die Option -U noch die Option -P angegeben ist, versucht sqlcmd, eine Verbindung im Microsoft Windows-Authentifizierungsmodus herzustellen

Die Authentifizierung basiert auf dem Windows-Konto des Benutzers, der sqlcmd ausführt

Die Verwendung der Option -U mit der Option -E (weiter unten in diesem Artikel beschrieben) generiert eine Fehlermeldung

Wenn nach der Option -U mehrere Argumente angegeben werden, wird eine Fehlermeldung generiert und das Programm beendet

-zneues_Kennwort

Passwort ändern:

sqlcmd -U irgendein Benutzer -P [email protected] -z [email protected]$$w0rd

-Zneues_Passwort

Passwort ändern und beenden:

sqlcmd -U irgendein Benutzer -P [email protected] -Z [email protected]$$w0rd

Eingabe-/Ausgabeoptionen

-fCodepagei:Codepage[,o:Codepage] | o:Codepage[,i:Codepage]

Gibt die Eingabe- und Ausgabe-Codepages an

Die Codepage-Nummer ist ein numerischer Wert, der eine installierte Windows-Codepage angibt

Regeln zum Konvertieren von Codepages:

Wenn keine Codepages angegeben sind, verwendet sqlcmd die aktuelle Codepage sowohl für Eingabe- als auch für Ausgabedateien, es sei denn, die Eingabedatei ist eine Unicode-Datei, in diesem Fall ist keine Konvertierung erforderlich

sqlcmd erkennt automatisch Unicode-Eingabedateien im Format Big-Endian oder Little-Endian

Wenn die Option -u angegeben ist, handelt es sich bei der Ausgabe immer um Little-Endian-Unicode-Dateien

Wenn keine Ausgabedatei angegeben ist, ist die Ausgabecodepage die Konsolencodepage

Dadurch kann die Ausgabe richtig auf der Konsole angezeigt werden

Wenn mehrere Eingabedateien angegeben werden, wird davon ausgegangen, dass sie dieselbe Codepage verwenden

Unicode- und Nicht-Unicode-Eingabedateien können gemischt werden

Geben Sie an der Eingabeaufforderung chcp ein, um die Cmd.exe-Codepage zu überprüfen.

-iinput_file[,input_file2…]

Identifiziert die Datei, die einen Stapel von SQL-Anweisungen oder gespeicherten Prozeduren enthält

Sie können mehrere Dateien angeben, die nacheinander gelesen und verarbeitet werden sollen

Verwenden Sie keine Leerzeichen zwischen Dateinamen

sqlcmd prüft zunächst, ob alle angegebenen Dateien vorhanden sind

Wenn eine oder mehrere Dateien nicht vorhanden sind, wird sqlcmd beendet

Die Optionen -i und -Q/-q schließen sich gegenseitig aus

Beispiele für Pfade:

-i C:\ -i \\\\ -i “C:\Some Folder\

Dateipfade, die Leerzeichen enthalten, müssen in doppelte Anführungszeichen gesetzt werden

Diese Option kann mehr als einmal verwendet werden: -iinput_file-IIinput_file.

-ooutput_file

Identifiziert die Datei, die die Ausgabe von sqlcmd enthält

Wenn -u angegeben ist, wird die Ausgabedatei im Unicode-Format gespeichert

Wenn der Dateiname ungültig ist, wird eine Fehlermeldung generiert und sqlcmd beendet

sqlcmd unterstützt keine parallelen Schreibvorgänge durch mehrere sqlcmd-Prozesse in dieselbe Datei

In diesem Fall wäre die Dateiausgabe beschädigt oder beschädigt

Informieren Sie sich auch über die Option -f, die auch für Dateiformate relevant ist

Falls noch nicht vorhanden, wird die Datei erstellt

Eine Datei mit demselben Namen aus einer früheren sqlcmd-Sitzung wird überschrieben

Die hier angegebene Datei ist nicht die stdout-Datei

Wenn eine stdout-Datei angegeben ist, wird diese Datei nicht verwendet

Beispiele für Pfade:

-o C:< Dateiname> -o \\\\ -o “C:\Some Folder\

Dateipfade, die Leerzeichen enthalten, müssen in doppelte Anführungszeichen gesetzt werden

-r[01]

Leitet die Ausgabe der Fehlermeldung auf den Bildschirm um (stderr)

Wenn Sie keinen Parameter angeben oder 0 angeben, werden nur Fehlermeldungen mit Schweregrad 11 oder höher umgeleitet

Wenn Sie 1 angeben, wird die gesamte Fehlermeldungsausgabe (einschließlich der Ausgabe von PRINT) umgeleitet

Dies hat keine Auswirkungen, wenn Sie die Option -o verwenden

Standardmäßig werden Nachrichten an stdout gesendet.

-R

Veranlasst sqlcmd, numerische, Währungs-, Datums- und Zeitspalten zu lokalisieren, die von SQL Server basierend auf dem Client-Gebietsschema abgerufen werden

Standardmäßig werden diese Spalten gemäß den regionalen Einstellungen des Servers angezeigt

-u

Gibt an, dass OutputFile unabhängig vom Format von InputFile im Unicode-Format gespeichert wird

Abfrageausführungsoptionen

-e

Schreibt Eingabeskripte auf das Standardausgabegerät (stdout)

-I

Setzt die Verbindungsoption SET QUOTED_IDENTIFIER auf ON

Die Standardeinstellung ist AUS

Weitere Informationen finden Sie unter SET QUOTED_IDENTIFIER (Transact-SQL).

-q “Befehlszeilenabfrage”

Führt eine Abfrage aus, wenn sqlcmd gestartet wird, beendet sqlcmd jedoch nicht, nachdem die Ausführung der Abfrage abgeschlossen ist

Es können mehrere durch Semikolons getrennte Abfragen ausgeführt werden

Schließen Sie die Abfrage wie im folgenden Beispiel gezeigt in Anführungszeichen ein

Geben Sie an der Eingabeaufforderung Folgendes ein:

sqlcmd -d AdventureWorks2012 -q “SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE ‘Whi%’;”

sqlcmd -d AdventureWorks2012 -q “SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;”

Wichtig Verwenden Sie in der Abfrage nicht das Abschlusszeichen GO

Wenn -b mit dieser Option angegeben wird, wird sqlcmd beendet, wenn ein Fehler auftritt

Der Schalter -b wird weiter unten in diesem Artikel beschrieben

See also  Best Choice samsung ml 2950 wireless setup Update

-Q “Befehlszeilenabfrage”

Führt eine Abfrage aus, wenn sqlcmd gestartet wird, und beendet sqlcmd unmittelbar danach

Es können mehrere Abfragen ausgeführt werden, die durch Semikolons getrennt sind

Schließen Sie die Abfrage wie im folgenden Beispiel gezeigt in Anführungszeichen ein

Geben Sie an der Eingabeaufforderung Folgendes ein:

sqlcmd -d AdventureWorks2012 -Q “SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE ‘Whi%’;”

sqlcmd -d AdventureWorks2012 -Q “SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;”

Wichtig Verwenden Sie in der Abfrage nicht das Abschlusszeichen GO

Wenn -b mit dieser Option angegeben wird, wird sqlcmd beendet, wenn ein Fehler auftritt

Der Schalter -b wird weiter unten in diesem Artikel beschrieben

-tAbfragezeitüberschreitung

Gibt die Anzahl von Sekunden an, bevor ein Befehl (oder eine SQL-Anweisung) abläuft

Diese Option legt die sqlcmd-Skriptvariable SQLCMDSTATTIMEOUT fest

Wenn kein time_out angegeben ist, tritt für den Befehl keine Zeitüberschreitung auf

Das querytime_out muss eine Zahl zwischen 1 und 65534 sein

Wenn der angegebene Wert kein numerischer Wert ist oder außerhalb dieses Bereichs liegt, generiert sqlcmd eine Fehlermeldung

Hinweis Der tatsächliche Timeout-Wert kann um einige Sekunden von dem angegebenen Wert abweichen Zeitüberschreitung.

-v var =Wert[ var =Wert…]

Erstellt eine sqlcmd-Skriptvariable, die in einem sqlcmd-Skript verwendet werden kann

Schließen Sie den Wert in Anführungszeichen ein, wenn er Leerzeichen enthält

Sie können mehrere Werte für var”values” angeben

Wenn einer der angegebenen Werte falsch ist, generiert sqlcmd eine Fehlermeldung und wird beendet

sqlcmd -v MyVar1=etwas MyVar2=”etwas”

sqlcmd -v MeineVar1=etwas -v MeineVar2=”irgendwas”

-x

Bewirkt, dass sqlcmd Skriptvariablen ignoriert

Dieser Parameter ist praktisch, wenn ein Skript mehrere INSERT-Anweisungen enthält, die Zeichenfolgen im gleichen Format wie reguläre Variablen enthalten können, wie z

B

$(Variablenname).

Formatierungsoptionen

-hheader

Gibt die Anzahl der Zeilen an, die zwischen Spaltenüberschriften gedruckt werden

Standardmäßig werden die Überschriften einmal für jede Abfrageergebnismenge gedruckt

Diese Option legt die sqlcmd-Skriptvariable SQLCMDHEADERS fest

Mit -1 können Sie festlegen, dass keine Überschriften ausgegeben werden sollen

Ein ungültiger Wert führt dazu, dass sqlcmd eine Fehlermeldung generiert und dann beendet wird

-k [12]

Entfernt alle Steuerzeichen aus der Ausgabe, z

B

Tabulatorzeichen und Zeilenumbruchzeichen

Dieser Parameter behält die Spaltenformatierung bei, wenn Daten zurückgegeben werden

Wenn 1 angegeben ist, werden die Steuerzeichen durch ein einzelnes Leerzeichen ersetzt

Wenn 2 angegeben ist, werden aufeinanderfolgende Steuerzeichen durch ein einzelnes Leerzeichen ersetzt

-k ist dasselbe wie -k1.

-scol_separator

Gibt das Spaltentrennzeichen an

Der Standardwert ist ein Leerzeichen

Diese Option legt die sqlcmd-Skriptvariable SQLCMDCOLSEP fest

Um Zeichen zu verwenden, die für das Betriebssystem eine besondere Bedeutung haben, z

das kaufmännische Und (&) oder Semikolon (;), schließen Sie das Zeichen in Anführungszeichen (“) ein

Das Spaltentrennzeichen kann ein beliebiges 8-Bit-Zeichen sein

-wcolumn_width

Gibt die Bildschirmbreite für die Ausgabeoption an und legt die sqlcmd-Skriptvariable SQLCMDCOLWIDTH fest

Die Spaltenbreite muss eine Zahl größer als 8 und kleiner als 65536 sein

Wenn die angegebene Spaltenbreite außerhalb dieses Bereichs liegt, generiert sqlcmd eine Fehlermeldung

Die Standardbreite beträgt 80 Zeichen

Wenn eine Ausgabezeile die angegebene Spaltenbreite überschreitet, wird sie springt in die nächste Zeile.

-W Diese Option entfernt nachgestellte Leerzeichen aus einer Spalte

Verwenden Sie diese Option mit der Option -s, um Daten für den Export in eine andere Anwendung vorzubereiten

Diese Option kann nicht mit den Optionen -y oder -Y verwendet werden

-ydisplay_width_for_variable_length_types Legt die Skriptvariable sqlcmd fest

Der S-Standardwert ist 256

Es begrenzt die Anzahl der Zeichen, die für große Datentypen mit variabler Länge zurückgegeben werden:. varchar(max).nvarchar(max).varbinary(max).xml.UDT ( Benutzerdefinierte Datentypen) text

text

ima ge

Hinweis Je nach Implementierung können UDTs eine feste Länge haben

Wenn die Länge eines UDT mit fester Länge kleiner als der Wert für die Anzeigebreite ist, wirkt sich dies nicht auf den Wert des zurückgegebenen UDT aus

Wenn die Länge jedoch den Anzeigebreitenwert überschreitet, wird die Ausgabe abgeschnitten

Wichtig Verwenden Sie die Option -y 0 mit äußerster Vorsicht, da sie je nach Größe der zurückgegebenen Daten ernsthafte Server- und Netzwerkleistungsprobleme verursachen kann

-Ydisplay_width_on_fixed_length_types

Legt die Skriptvariable sqlcmd fest

Der Standardwert ist 0 (unbegrenzt)

Es begrenzt die Anzahl der zurückgegebenen Zeichen für die folgenden Datentypen:

char( n ) , wobei 1 =n=8000

nchar( nn ) , wobei 1 =n=4000

varchar( nn ) , wobei 1 =n=8000

nvarchar( nn ) , wobei 1 =n=4000

varbinary( nn ) , wobei 1 =n=4000

Variante

Optionen zur Fehlerberichterstattung

-B

Gibt an, dass sqlcmd beendet wird und einen DOS ERRORLEVEL-Wert zurückgibt, wenn ein Fehler auftritt

Der an die Variable DOS ERRORLEVEL zurückgegebene Wert ist 1, wenn die SQL Server-Fehlermeldung einen Schweregrad größer als 10 hat

Andernfalls ist der zurückgegebene Wert 0

Wenn die Option -V zusätzlich zu -b angegeben ist, meldet sqlcmd keinen Fehler wenn der Schweregrad unter den mit -V angegebenen Werten liegt

Befehlszeilen-Batchdateien können verwendet werden, um den Wert von ERRORLEVEL zu testen und den Fehler entsprechend zu korrigieren

sqlcmd meldet keine Fehler der Stufe 10 (Informationsmeldungen)

Wenn das sqlcmd-Skript einen falschen Kommentar, einen Syntaxfehler oder eine fehlende Skriptvariable enthält, wird ein ERRORLEVEL-Wert von 1 zurückgegeben

-merror_level

Steuert, welche Fehlermeldungen an stdout gesendet werden

Fehlermeldungen mit einem Schweregrad größer oder gleich diesem Wert werden gesendet

Wenn dieser Wert auf -1 gesetzt ist, werden alle Nachrichten gesendet, einschließlich Informationsnachrichten

Zwischen -m und -1 sind keine Leerzeichen erlaubt

Beispielsweise ist -m-1 gültig, aber -m -1 nicht

Diese Option legt auch die sqlcmd-Skriptvariable SQLCMDERRORLEVEL fest

Diese Variable hat einen Standardwert von 0.

-VErrorSeverity

Steuert den Schweregrad, der zum Festlegen der ERRORLEVEL-Variablen verwendet wird

ERRORLEVEL wird für Fehlermeldungen gesetzt, deren Schweregrad größer oder gleich diesem Wert ist

Werte kleiner als 0 werden als 0 zurückgegeben

Batch- und CMD-Dateien können verwendet werden, um den Wert der ERRORLEVEL-Variablen zu testen

Andere Optionen

-apacket_size

Fordert ein Paket mit einer anderen Größe an

Diese Option legt die sqlcmd-Skriptvariable SQLCMDPACKETSIZE fest

packet_size muss einen Wert zwischen 512 und 32767 haben

Der Standardwert ist 4096

Ein höherer Paketgrößenwert kann die Leistung verbessern, wenn Skripts ausgeführt werden, die zahlreiche SQL-Anweisungen zwischen GO-Befehlen enthalten

Sie können eine größere Paketgröße anfordern

Wenn die Anforderung jedoch abgelehnt wird, verwendet sqlcmd den Standardwert des Servers für die Paketgröße

-cBatchterminator

Gibt das Stapelabschlusszeichen an

Standardmäßig werden Befehle beendet und an SQL Server gesendet, indem das Wort „GO“ in einer Zeile selbst eingegeben wird

Verwenden Sie beim Neudefinieren des Stapelabschlusszeichens keine für Transact-SQL reservierten Schlüsselwörter oder Zeichen, die eine spezielle Betriebssystembedeutung haben, selbst wenn ihnen ein umgekehrter Schrägstrich vorangestellt ist

-L [c]

Listet die lokal konfigurierten Servercomputer und die Namen der Servercomputer auf, die Broadcast-Nachrichten über das Netzwerk senden

Dieser Parameter kann nicht in Verbindung mit anderen Parametern verwendet werden

Es können maximal 3.000 Server-Computer aufgelistet werden

Eine Warnmeldung wird angezeigt, wenn die Serverliste aufgrund der Puffergröße abgeschnitten wurde

Hinweis Aufgrund der Art der Netzwerkübertragung erhält sqlcmd möglicherweise nicht rechtzeitig eine Antwort von allen Servern

Daher kann die Liste der zurückgegebenen Server bei jedem Aufruf dieser Option variieren

Wenn der optionale c-Parameter angegeben wird, wird die Ausgabe ohne den Server:-Header angezeigt

Jede Serverzeile wird ohne führende Leerzeichen ausgegeben

Diese Darstellung wird als saubere Ausgabe bezeichnet

Einfache Ausgabe verbessert die Verarbeitungsleistung von Skriptsprachen

-p[1]

Druckt Leistungsstatistiken für jeden Ergebnissatz

Die folgende Ausgabe ist ein Beispiel für das Format von Leistungsstatistiken:

Netzwerkpaketgröße (Byte): n

x xist[s]:

Uhrzeit (ms.): Gesamt t1 durchschn

t2 (t3 x Akte pro Sek.)

Dabei gilt: x = Anzahl der vom SQL Server verarbeiteten Transaktionen

t1 = Gesamtdauer aller Transaktionen

t2 = Durchschnittliche Dauer einer einzelnen Transaktion

t3 = Durchschnittliche Anzahl von Transaktionen pro Sekunde

Alle Zeiten sind in Millisekunden angegeben

Wenn der optionale If-Parameter 1 angegeben wird, werden die Statistiken im durch Doppelpunkte getrennten Format ausgegeben, das einfach in eine Tabellenkalkulation importiert oder von einem Skript verarbeitet werden kann

Wenn der optionale Parameter mit einem anderen Wert als 1 angegeben wird, wird ein Fehler generiert und sqlcmd wird beendet

– X[1]

Deaktiviert Befehle, die die Systemsicherheit beeinträchtigen können, wenn sqlcmd aus einer Batchdatei ausgeführt wird

Die deaktivierten Befehle werden weiterhin erkannt; sqlcmd gibt eine Warnmeldung aus und setzt die Ausführung fort

Wenn der optionale Parameter 1 angegeben ist, generiert sqlcmd eine Fehlermeldung und wird dann beendet

Die folgenden Befehle werden deaktiviert, wenn die Option -X verwendet wird:

Ed

!!Befehl

Wenn die Option -X angegeben ist, verhindert sie die Übergabe von Umgebungsvariablen an sqlcmd

Es verhindert auch die Ausführung des Startskripts, das mit der Skriptvariable SQLCMDINI angegeben wurde

Weitere Informationen zu sqlcmd-Skriptvariablen finden Sie unter Verwenden von sqlcmd mit Skriptvariablen.

-?

Zeigt die Version von sqlcmd und eine Syntaxzusammenfassung der sqlcmd-Optionen an

Bemerkungen

Die Optionen müssen nicht in der Reihenfolge verwendet werden, in der sie im Syntaxabschnitt angezeigt werden

Wenn mehrere Ergebnisse zurückgegeben werden, druckt sqlcmd eine Leerzeile zwischen jeder Ergebnismenge in einem Stapel

Außerdem wird die Meldung betroffene Zeilen nicht angezeigt, wenn sie nicht auf die ausgeführte Anweisung zutrifft

Um sqlcmd interaktiv zu verwenden, geben Sie an der Eingabeaufforderung sqlcmd und eine oder mehrere der weiter oben in diesem Artikel beschriebenen Optionen ein

Weitere Informationen finden Sie unter Verwenden des Dienstprogramms sqlcmd

Hinweis Die Optionen -L, -Q, -Z und -i bewirken, dass sqlcmd nach der Ausführung beendet wird

Die volle Länge der sqlcmd-Kommandozeile in der Kommandoumgebung (Cmd.exe) inklusive aller Argumente und erweiterten Variablen entspricht der im Betriebssystem festgelegten Länge für Cmd.exe

Variables Ranking (vom niedrigsten zum höchsten)

Umgebungsvariablen auf Systemebene Umgebungsvariablen auf Benutzerebene Befehlsshell-Set ( SETX=Y) an der Eingabeaufforderung, bevor sqlcmd ausgeführt wird

sqlcmd-v X=Y :Setvar X Y

Hinweis Öffnen Sie die Systemsteuerung, klicken Sie auf System und dann auf die Registerkarte Erweitert, um die Umgebungsvariablen anzuzeigen

sqlcmd-Skriptvariablen

Variable Zugeordnete Schalter R/W Standardwert SQLCMDUSER -UR “” SQLCMDPASSWORD -P — “” SQLCMDSERVER -SR “DefaultLocalInstance” SQLCMDWORKSTATION -HR “Computername” SQLCMDDBNAME -d R “” SQLCMDLOGINTIMEOUT -l R/W “8” (Sekunden) SQLCMDSTATTIMEOUT -t R/W “0” = unbegrenzt warten SQLCMDHEADERS -HR/W “0” SQLCMDCOLSEP -SR/W ” ” SQLCMDCOLWIDTH -w R/W “0” SQLCMDPACKETSIZE -a R “4096” SQLCMDERRORLEVEL -MR/W 0 SQLCMDMAXVARTYPEWIDTH – y R/W „256“ SQLCMDMAXFIXEDTYPEWIDTH -y R/W „0“ = unbegrenzt SQLCMDEDITOR R/W „edit.com“ SQLCMDINI R „“ SQLCMDUSEAAD -GR/W „“

SQLCMDUSER, SQLCMDPASSWORD und SQLCMDSERVER werden gesetzt, wenn :Connect verwendet wird

R gibt an, dass der Wert nur einmal während der Programminitialisierung gesetzt werden kann

R/W gibt an, dass der Wert mit dem Befehl setvar geändert werden kann und bei nachfolgenden Befehlen der neue Wert angewendet wird

sqlcmd-Befehle

Zusätzlich zu den Transact-SQL-Anweisungen in sqlcmd sind auch die folgenden Befehle verfügbar:

GO [Zahl] : Liste

[ : ] RESET :Fehler

[ : ] ED : Aus

[:] !! :Perftrace

[ : ] BEENDEN :Verbinden

[ : ] EXIT :Ein Fehler

:r :hilfe

:ServerList :XML [EINAUS]

:Setvar :Listvar

Beachten Sie bei der Verwendung von sqlcmd-Befehlen Folgendes:

Mit Ausnahme von GO muss allen sqlcmd-Befehlen ein Doppelpunkt (:) vorangestellt werden

Wichtig Aus Gründen der Abwärtskompatibilität zu bestehenden osql-Skripten werden einige der mit [ : ] gekennzeichneten Befehle auch ohne Angabe des Doppelpunkts erkannt

sqlcmd-Befehle werden nur erkannt, wenn sie am Anfang einer Zeile stehen

Ohne sqlcmd – Befehl unterscheidet zwischen Groß- und Kleinschreibung

Jeder Befehl muss in einer eigenen Zeile stehen

Einem Befehl darf keine Transact-SQL-Anweisung oder ein anderer Befehl folgen.

Die Befehle werden sofort ausgeführt

Sie werden nicht wie Transact-SQL-Anweisungen in den Ausführungspuffer gestellt

Befehle bearbeiten

[ : ] Ed

Startet den Texteditor

Dieser Editor kann verwendet werden, um den aktuellen Transact-SQL-Batch oder den zuletzt ausgeführten Batch zu bearbeiten

Um den zuletzt ausgeführten Stapel zu bearbeiten, muss der ED-Befehl unmittelbar nach Abschluss der Ausführung des letzten Stapels eingegeben werden

Der Texteditor wird durch die Umgebungsvariable SQLCMDEDITOR definiert

Der Standardeditor ist „Bearbeiten“

Sie können den Editor ändern, indem Sie die Umgebungsvariable SQLCMDEDITOR festlegen

Wenn Sie beispielsweise Microsoft Notepad als Editor festlegen möchten, müssen Sie Folgendes an der Eingabeaufforderung eingeben:

SET SQLCMDEDITOR=Notizblock

[ : ] ZURÜCKSETZEN

Löscht den Statement-Cache.

:List

Gibt den Inhalt des Anweisungscache aus

Variablen

:SetvarVar [ “Wert” ]

Definiert sqlcmd-Skriptvariablen

Skriptvariablen haben folgendes Format: $(VARNAME).

Bei Variablennamen wird die Groß-/Kleinschreibung nicht beachtet

Skriptvariablen können wie folgt angegeben werden:

Implizit – mit einer Befehlszeilenoption

Beispielsweise legt die Option -l die sqlcmd-Variable SQLCMDLOGINTIMEOUT fest

Explizit – mit dem Befehl :Setvar.

Durch Definieren einer Umgebungsvariablen vor dem Ausführen von sqlcmd.

Hinweis Die Option X verhindert, dass Umgebungsvariablen an sqlcmd übergeben werden Variable, die mit :Setvar definiert wurde, hat Vorrang

Variablennamen dürfen keine Leerzeichen enthalten

Variablennamen können nicht die gleiche Form wie ein Variablenausdruck haben, z

B

$(var)

Wenn der Zeichenfolgenwert der Skriptvariablen Leerzeichen enthält, müssen Sie den Wert in Anführungszeichen einschließen

Wenn für eine Skriptvariable kein Wert angegeben ist, wird die Skriptvariable weggelassen.

:Listvar

Zeigt die Liste der aktuell gesetzten Skriptvariablen an

Hinweis Es werden nur Skriptvariablen angezeigt, die von sqlcmdor mit dem Befehl :Setvar gesetzt wurden

Ausgabebefehle

:Fehler

<<| STDERR| STDOUT

Leitet alle Fehlerausgaben an die durch filename angegebene Datei, an stderr oder an stdoutum

Der Error-Befehl kann mehrfach in einem Skript verwendet werden

Die Fehlerausgabe wird standardmäßig an stderr gesendet.

Dateiname

Erstellt und öffnet eine Datei, in die die Ausgabe geschrieben wird

Wenn die Datei bereits existiert, wird sie auf 0 Bytes gekürzt

Wenn der Zugriff auf die Datei aufgrund unzureichender Berechtigungen oder aus anderen Gründen nicht möglich ist, wird die Ausgabe nicht umgeleitet, sondern an das zuletzt angegebene Ziel oder an das Standardziel gesendet

STDERR

Leitet die Fehlerausgabe an den stderr-Datenstrom

Wenn dieser Stream umgeleitet wurde, wird die Fehlerausgabe von dem Ziel empfangen, an das der Stream umgeleitet wurde

STDOUT

Leitet die Fehlerausgabe an den stdout-Stream

Wenn dieser Stream umgeleitet wurde, wird die Fehlerausgabe von dem Ziel empfangen, an das der Stream umgeleitet wurde.

:Out filename| | | |

Erstellt und leitet alle Abfrageergebnisse zu oder von der durch filename, stderr oder stdoutum angegebenen Datei weiter

Standardmäßig wird die Ausgabe an stdout gesendet

Wenn die Datei bereits existiert, wird sie auf 0 Bytes gekürzt

Der Out-Befehl kann mehrfach in einem Skript verwendet werden.

😛 erftrace filename| | | |

Erstellt und leitet alle Leistungsverfolgungsinformationen zu oder von der Datei weiter, die durch filename, stderr oder stdoutum angegeben ist

Standardmäßig wird die Ausgabe der Leistungsverfolgung an stdout gesendet

Wenn die Datei bereits existiert, wird sie auf 0 Bytes gekürzt

Der Perftrace-Befehl kann mehrfach in einem Skript verwendet werden

Ausführungssteuerungsbefehle

:Bei Fehler[beendenignorieren]

Gibt die auszuführende Aktion an, wenn während der Skript- oder Stapelausführung ein Fehler auftritt

Wenn die Exit-Option verwendet wird, wird sqlcmd mit dem entsprechenden Fehlerwert beendet

Wenn die Option ignorieren verwendet wird, ignoriert sqlcmd den Fehler und legt fest, dass die Stapel- oder Skriptausführung fortgesetzt wird

Standardmäßig wird eine Fehlermeldung ausgegeben

[ : ] VERLASSEN

Bewirkt, dass sqlcmd beendet wird

[ : ] EXIT[ (Anweisung) ]

Ermöglicht die Verwendung des Ergebnisses einer SELECT-Anweisung als Rückgabewert von sqlcmd

Wenn numerisch, wird die erste Spalte der letzten Ergebniszeile in eine 4-Byte-Ganzzahl (Long) umgewandelt

MS-DOS, Linux und Mac übergeben das Low-Byte an den übergeordneten Prozess oder die Fehlerebene des Betriebssystems

Windows 200x übergibt die gesamte 4-Byte-Ganzzahl

Die Syntax lautet:

:EXIT(Abfrage)

Beispiel:

:EXIT(SELECT @@ROWCOUNT)

Sie können den EXIT-Parameter auch als Teil einer Stapeldatei einschließen

Geben Sie an der Eingabeaufforderung z

Beispiel: sqlcmd -Q “EXIT(SELECT COUNT(*) FROM ‘%1’)”

Das Dienstprogramm sqlcmd sendet alle Informationen zwischen den Klammern () an den Server

Wenn eine gespeicherte Systemprozedur einen Satz auswählt und einen Wert zurückgibt, wird nur die Auswahl zurückgegeben

Die EXIT**()**-Anweisung mit nichts zwischen den Klammern führt alles vor der Anweisung im Batch aus und wird dann ohne Rückgabewert beendet

Wenn eine fehlerhafte Abfrage angegeben wird, wird sqlcmd beendet, ohne einen Wert zurückzugeben

Die folgende Liste enthält a Auflistung der EXIT-Formate:

:AUSFAHRT

Führt den Stapel nicht aus, beendet das Dienstprogramm sofort und gibt keinen Wert zurück

:EXIT( )

Führt den Stapel aus, beendet dann das Dienstprogramm und gibt keinen Wert zurück

:EXIT(query)

Führt den Stapel aus, der die Abfrage enthält, und beendet dann das Dienstprogramm, nachdem die Ergebnisse der Abfrage zurückgegeben wurden

Wenn RAISERROR in einem sqlcmd-Skript verwendet wird und der Status 127 ausgelöst wird, wird sqlcmd beendet und die entsprechende Nachrichten-ID wird an den zurückgegebenen Client gesendet

Beispiel:

RAISERROR(50001, 10, 127)

Dieser Fehler führt dazu, dass das sqlcmd-Skript beendet wird und die Meldungs-ID 50001 an den Client zurückgegeben wird

Die Rückgabewerte −1 bis −99 sind für SQL Server reserviert

sqlcmd definiert die folgenden zusätzlichen Rückgabewerte:

Rückgabewerte BESCHREIBUNG -100 Vor der Auswahl des Rückgabewerts ist ein Fehler aufgetreten

-101 Bei der Auswahl eines Rückgabewerts wurden keine Zeilen gefunden

-102 Beim Auswählen des Rückgabewerts ist ein Konvertierungsfehler aufgetreten

GO [Nummer]

GO signalisiert sowohl das Ende eines Batches als auch die Ausführung von zwischengespeicherten Transact-SQL-Anweisungen

Der Stapel wird mehrmals als separate Stapel ausgeführt

Sie können eine Variable nicht mehr als einmal in einem einzelnen Stapel deklarieren

See also  Top dyndns server selber bauen New

Verschiedene Befehle

:r Dateiname

Analysiert zusätzliche Transact-SQL-Anweisungen und sqlcmd-Befehle aus der durch filename angegebenen Datei im Anweisungscache

Wenn die Datei Transact-SQL-Anweisungen enthält, denen kein GO folgt, müssen Sie in der ersten Zeile nach :r GO eingeben

.Hinweis <<> wird relativ zum Startverzeichnis gelesen, in dem > ausgeführt wurde

Die Datei wird gelesen und ausgeführt, nachdem ein Stapelabschlusszeichen gefunden wurde

Sie können den Befehl :r mehrmals verwenden

Die Datei kann einen beliebigen sqlcmd-Befehl enthalten

Dazu gehört das Batch-Terminator GO

Hinweis Die im interaktiven Modus angezeigte Zeilenanzahl wird für jeden gefundenen :r-Befehl um 1 erhöht

Der Befehl :r erscheint in der Ausgabe des Listenbefehls

:Serverliste

Listet die lokal konfigurierten Server und die Namen der Server auf, die Nachrichten über das Netzwerk senden.

:connectingserver_name[instance_name] [-l timeout] [-U user_name [-P password]]

Stellt eine Verbindung zu einer Instanz von SQL Server her

Schließt auch die aktuelle Verbindung

Timeout-Optionen:

Wert Verhalten 0 unbegrenzte Wartezeit n0> Wartezeit beträgt n Sekunden

Die Skriptvariable SQLCMDSERVER spiegelt die derzeit aktive Verbindung wider

Wenn das Zeitlimit nicht angegeben ist, wird standardmäßig der Wert der Variablen SQLCMDLOGINTIMEOUT verwendet

Wenn nur der Benutzername angegeben ist (entweder als Option oder als Umgebungsvariable), wird der Benutzer zur Eingabe eines Kennworts aufgefordert

Benutzer werden nicht aufgefordert, wenn die Umgebungsvariable SQLCMDUSER oder SQLCMDPASSWORD festgelegt wurde

Wenn weder Optionen noch Umgebungsvariablen angegeben sind, wird der Windows-Authentifizierungsmodus für die Anmeldung verwendet

Wenn Sie beispielsweise mit integrierter Sicherheit eine Verbindung zu einer Instanz1 von SQL Server myserver herstellen möchten, verwenden Sie den folgenden Befehl:

:myserver\instance1 verbinden

Wenn Sie mithilfe von Skriptvariablen eine Verbindung zur Standardinstanz auf myserver herstellen möchten, würden Sie Folgendes eingeben:

:setvar myusername test

:setvar meinservername meinserver

:connect $(meinServername) $(meinBenutzername)

[:] !!Befehl

Führt Betriebssystembefehle aus

Um einen Betriebssystembefehl auszuführen, geben Sie zwei Ausrufezeichen ( !! ) gefolgt vom Betriebssystembefehl in einer neuen Zeile ein

Beispiel:

:!! Dir

Hinweis Der Befehl wird auf dem Computer ausgeführt, auf dem sqlcmd ausgeführt wird.

:XML [ONOFF]

Weitere Informationen finden Sie in diesem Artikel unter XML-Ausgabeformat und JSON-Ausgabeformat.

:Help

Listet die sqlcmd-Befehle zusammen mit einer kurzen Beschreibung jedes Befehls auf

sqlcmd-Dateinamen

sqlcmd-Eingabedateien können mit der Option -i oder dem Befehl :r angegeben werden

Ausgabedateien können mit der Option -o oder den Befehlen :Error, :Out und :Perftrace angegeben werden

Im Folgenden finden Sie einige Richtlinien für die Verwendung dieser Dateien:

:Error , :Out und :Perftrace sollten einen separaten Dateinamen verwenden

Wird der gleiche Parameter < < > verwendet, können die Eingaben der Befehle vertauscht werden

Wenn eine Eingabedatei auf einem Remoteserver einen Laufwerksdateipfad wie „:Out c:\OutputFile.txt“ enthält und von sqlcmd auf einem lokalen Computer aufgerufen wird, wird die Ausgabedatei auf dem lokalen Computer und nicht auf dem Remoteserver erstellt

Gültige Dateipfade sind beispielsweise: C:\ , \\\\ und “C:\Some Folder\

Verwenden Sie Anführungszeichen, wenn der Pfad ein Leerzeichen enthält

Alle vorhandenen Dateien mit demselben Namen werden bei jeder neuen sqlcmd-Sitzung überschrieben

Informationsmeldungen

sqlcmd gibt alle vom Server gesendeten Informationsmeldungen aus

Das folgende Beispiel gibt eine Informationsmeldung aus, nachdem die Transact-SQL-Anweisungen ausgeführt wurden

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

SQLCMD

Geben Sie an der sqlcmd-Eingabeaufforderung Folgendes ein:

VERWENDE AdventureWorks2012;

GEHEN

Wenn Sie die EINGABETASTE drücken, wird die folgende Informationsmeldung angezeigt: Der Datenbankkontext wurde in „AdventureWorks2012“ geändert

Ausgabeformat der Transact-SQL-Abfrage

sqlcmd gibt zuerst einen Spaltenkopf aus, der die in der SELECT-Liste angegebenen Spaltennamen enthält

Die Spaltennamen werden durch das Zeichen SQLCMDCOLSEP getrennt

Standardmäßig ist dies ein Leerzeichen

Ist der Spaltenname kürzer als die Spaltenbreite, wird die Ausgabe bis zur nächsten Spalte mit Leerzeichen aufgefüllt

Auf diese Zeile folgt eine Trennlinie, die durch eine Reihe von Strichen dargestellt wird

Die folgende Ausgabe zeigt ein Beispiel

Starten Sie sqlcmd

Geben Sie an der sqlcmd-Eingabeaufforderung die folgende Abfrage ein:

VERWENDE AdventureWorks2012;

SELECT TOP (2) BusinessEntityID, Vorname, Nachname

VON Person.Person;

GEHEN

Wenn Sie die EINGABETASTE drücken, wird das folgende Resultset zurückgegeben

BusinessEntityID Vorname Nachname

———— ———-

285 Syed Abbas

293 Katharina Abel

(2 Reihe(n) betroffen)

Obwohl die BusinessEntityID-Spalte nur vier Zeichen breit ist, wurde sie erweitert, um den längeren Spaltennamen aufzunehmen

Standardmäßig endet die Ausgabe beim 80

Zeichen

Dies kann mit der Option -w oder durch Festlegen der Skriptvariablen SQLCMDCOLWIDTH geändert werden

XML-Ausgabeformat

Die aus der FOR XML-Klausel resultierende XML-Ausgabe wird unformatiert in einem kontinuierlichen Stream ausgegeben

Verwenden Sie den Befehl :XML ON, wenn Sie eine Ausgabe im XML-Format erwarten

Hinweis sqlcmd gibt Fehlermeldungen im üblichen Format zurück

Beachten Sie, dass die Fehlermeldungen auch im XML-Format in den XML-Textstrom geschrieben werden

Mit :XML ON zeigt :XML ON keine Informationsmeldungen an

Verwenden Sie den folgenden Befehl, um den XML-Modus zu deaktivieren: :XML OFF.

Der GO-Befehl sollte nicht verwendet werden, bevor der XML OFF-Befehl ausgegeben wurde, da XML OFF bewirkt, dass sqlcmd zur zeilenbasierten Ausgabe zurückkehrt

Es ist nicht möglich, XML-Daten (Stream) und Rowset-Daten zu mischen

Wenn der Befehl XML ON nicht verwendet wurde, bevor eine Transact-SQL-Anweisung ausgeführt wurde, die XML-Datenströme ausgibt, wird die Ausgabe nicht korrekt gerendert

Nachdem Sie den XML ON-Befehl verwendet haben, können Sie keine Transact-SQL-Anweisungen ausführen, die reguläre Rowsets ausgeben

Hinweis: Der :XML-Befehl unterstützt nicht die SET STATISTICS XML-Anweisung

JSON-Ausgabeformat

Verwenden Sie den Befehl :XML ON, wenn Sie eine Ausgabe im JSON-Format erwarten

Andernfalls enthält die Ausgabe sowohl den Spaltennamen als auch den JSON-Text

Diese Ausgabe ist kein gültiges JSON

Verwenden Sie zum Deaktivieren des XML-Modus den folgenden Befehl: :XML OFF.

Weitere Informationen finden Sie unter XML-Ausgabeformat in diesem Artikel.

Azure Active Directory-Authentifizierung verwenden

Beispiele für die Verwendung der Azure Active Directory-Authentifizierung:

sqlcmd -S Target_DB_or_DW.testsrv.database.windows.net -G -l 30 sqlcmd -S Target_DB_or_DW.testsrv.database.windows.net -G -U [email protected] -P MyAADPassword -l 30

Best Practices für die Verwendung von SQLCMD

Die folgenden Methoden sind bewährte Best Practices zur Verbesserung der Sicherheit und Effizienz

Verwenden Sie die integrierte Sicherheit von Windows

Verwenden Sie in automatisierten Umgebungen -X[1].

Sichern Sie Eingabe- und Ausgabedateien, indem Sie die entsprechenden NTFS-Dateisystemberechtigungen festlegen use.

Versuchen Sie aus Leistungsgründen, alle Aufgaben in einer einzigen sqlcmd-Sitzung auszuführen, nicht in mehreren verschiedenen Sitzungen.

Setzen Sie Batch- oder Abfrage-Timeouts auf Werte, die länger sind als die erwartete Ausführungszeit.

Maximieren Sie mit folgenden Methoden die Korrektheit:

Verwenden Sie -V16, um Meldungen mit Schweregrad 16 zu protokollieren

Meldungen des Schweregrads 16 weisen auf allgemeine Fehler hin, die der Benutzer korrigieren kann

Überprüfen Sie nach Beendigung des Prozesses den Exit-Code und die Variable DOS ERRORLEVEL

sqlcmd gibt normalerweise 0 (Null) zurück

Andernfalls wird der ERRORLEVEL-Wert wie durch -V konfiguriert gesetzt

Mit anderen Worten: Erwarten Sie nicht, dass ERRORLEVEL mit der von SQL Server gemeldeten Fehlernummer übereinstimmt

Die Fehlernummer ist ein SQL Server-spezifischer Wert, der der Systemfunktion @@ERROR entspricht

ERRORLEVEL ist ein SQLCMD-spezifischer Wert, der angibt, warum SQLCMD beendet wurde und von der Angabe des Befehlszeilenarguments -b betroffen ist

Die Verwendung von -V16 in Kombination mit Exit-Code-Prüfung und DOS ERRORLEVEL kann dazu beitragen, Fehler in automatisierten Umgebungen zu vermeiden, insbesondere Quality Gates vor einer Produktionsfreigabe

Nächste Schritte

Hilfe erhalten

SQL Tutorial – Working with Variables Update

Video unten ansehen

Neue Informationen zum Thema ms sql variable deklarieren

ms sql variable deklarieren Einige Bilder im Thema

 New SQL Tutorial - Working with Variables
SQL Tutorial – Working with Variables New

Einführung in Objekte und … – Access, VBA, SQL Aktualisiert

Objekte und Klassen in der VBA-Entwicklung verwenden. von Philipp Stiefel, ursprünglich veröffentlich 9.August 2016. Photo by Wokandapix used here under CC0 licensing. Wenn du bereits ein paar VBA Prozeduren geschrieben hast, hast du höchstwahrscheinlich auch Objekte in deinem VBA-Code verwendet.

+ Details hier sehen

SQL Server Programming Part 9 – Table Variables Update

Video ansehen

Weitere Informationen zum Thema ms sql variable deklarieren

ms sql variable deklarieren Ähnliche Bilder im Thema

 New Update SQL Server Programming Part 9 - Table Variables
SQL Server Programming Part 9 – Table Variables New

Château de Versailles | Site officiel New Update

28.03.2022 · Résidence officielle des rois de France, le château de Versailles et ses jardins comptent parmi les plus illustres monuments du patrimoine mondial et constituent la plus complète réalisation de l’art français du XVIIe siècle.

+ mehr hier sehen

Read more

22.000 Oeuvres d’art à consulter en ligne

Riches d’environ 60.000 oeuvres, les collections du château de Versailles illustrent plus de cinq siècles d’Histoire de France

Das Ensemble spiegelt die doppelte Berufung des Schlosses wider: Palais autrefois habité par les souveräns und musée dedié „à toutes les gloires de la France“, eingeweiht von Louis-Philippe en 1837.

SQL Server Programming Part 3 – Variables New

Video ansehen

Neue Informationen zum Thema ms sql variable deklarieren

ms sql variable deklarieren Einige Bilder im Thema

 Update New SQL Server Programming Part 3 - Variables
SQL Server Programming Part 3 – Variables Update New

Schema.org – Schema.org New Update

17.03.2022 · Schema.org is a set of extensible schemas that enables webmasters to embed structured data on their web pages for use by search engines and other applications.

+ Details hier sehen

Read more

: Sie sehen sich die Entwicklungsversion von Schema.org an

Weitere Einzelheiten finden Sie unter Wie wir arbeiten

Willkommen bei schema.org

Schema.org ist eine kollaborative Community-Aktivität mit dem Ziel, Schemata für strukturierte Daten im Internet, auf Webseiten, in E-Mail-Nachrichten und darüber hinaus zu erstellen, zu pflegen und zu fördern

Das Vokabular von Schema.org kann mit vielen verschiedenen Kodierungen verwendet werden , einschließlich RDFa, Mikrodaten und JSON-LD

Diese Vokabulare decken Entitäten, Beziehungen zwischen Entitäten und Aktionen ab und können durch ein gut dokumentiertes Erweiterungsmodell leicht erweitert werden

Über 10 Millionen Websites verwenden Schema.org, um ihre Webseiten und E-Mail-Nachrichten zu markieren

Viele Anwendungen von Google, Microsoft, Pinterest, Yandex und anderen verwenden diese Vokabulare bereits, um reichhaltige, erweiterbare Erfahrungen zu ermöglichen

Schema.org-Vokabulare wurden von Google, Microsoft, Yahoo und Yandex gegründet und werden in einem offenen Community-Prozess unter Verwendung Mailingliste [email protected] und über GitHub

Ein gemeinsames Vokabular erleichtert es Webmastern und Entwicklern, sich für ein Schema zu entscheiden und den größtmöglichen Nutzen aus ihren Bemühungen zu ziehen

In diesem Sinne haben sich die Gründer zusammen mit der größeren Community zusammengefunden, um eine gemeinsame Sammlung von Schemata bereitzustellen

Wir laden Sie ein, loszulegen! Sehen Sie sich unseren Blog unter blog.schema.org an oder sehen Sie sich den Veröffentlichungsverlauf für Version 14.0 an.

Temporary Tables vs Table Variables – SQL Server Basics Update New

Video unten ansehen

Weitere hilfreiche Informationen im Thema anzeigen ms sql variable deklarieren

ms sql variable deklarieren Einige Bilder im Thema

 New Update Temporary Tables vs Table Variables - SQL Server Basics
Temporary Tables vs Table Variables – SQL Server Basics Update

Download Visual Studio 2003 Retired Technical … Update New

21.09.2017 · Generally, a download manager enables downloading of large files or multiples files in one session. Many web browsers, such as Internet Explorer 9, include a download manager.

+ hier mehr lesen

Read more

Hinweis: Für diesen Download sind mehrere Dateien verfügbar

Sobald Sie auf die Schaltfläche „Herunterladen“ klicken, werden Sie aufgefordert, die benötigten Dateien auszuwählen

us.pdf 21.09.2017 Dateigröße: 94,4 MB 51,9 MB 3,2 MB 10,5 MB 23,9 MB

Variables in Sql Server | sql variables declaration Update New

Video ansehen

Neue Informationen zum Thema ms sql variable deklarieren

ms sql variable deklarieren Sie können die schönen Bilder im Thema sehen

 Update Variables in Sql Server | sql variables declaration
Variables in Sql Server | sql variables declaration Update New

FHEM Referenz Update New

If method is none, then that’s all there is.If method is const or linear, the time-weighted series of values is taken into account instead.The weight is the timespan between two subsequent updates. With the const method, the value is the value of the reading at the beginning of the timespan; with the linear method, the value is the arithmetic average of the values at the …

+ hier mehr lesen

Read more

Die letzten beiden Zeilen definieren einen Telnet- und einen WEB-Zugang, beide können bei Bedarf aber auch abgeschaltet werden

Das WEB-Interface ist erreichbar über

Die Kommunikation mit FHEM kann entweder in einer “Session” (über Telnet) oder über einzelne Client-Befehle (über fhem.pl) erfolgen

Beispiel:oderWenn FHEM als root gestartet wurde und ein OS-Benutzer fhem existiert, dann wechselt FHEM nach dem Start (über setuid) zu diesem Benutzer.Wenn FHEM mit der Kommandozeilenoption -d gestartet wurde (perl fhem.pl -d fhem.cfg ) , dann wird verbose auf 5 gesetzt und die Protokolle werden in STDOUT geschrieben

Die Umgebungsvariable FHEM_GLOBALATTR wird ausgewertet: Sie enthält durch Leerzeichen getrennte Name=Wert-Paare, wobei Name ein globales Attribut ist

So gesetzte Werte überschreiben die Werte aus der Konfigurationsdatei

Alle Geräte haben Attribute

Diese werden mit dem Befehl attr gesetzt, mit dem Befehl displayattr angezeigt und mit dem Befehl deleteattr entfernt

Es gibt globale Attribute, die von allen Geräten verwendet werden, und lokale Attribute, die nur für einzelne Geräteklassen gelten

Einige Geräte (wie FHEMWEB) definieren automatisch neue globale Attribute, wenn sie zum ersten Mal ein Gerät dieses Typs definieren

Sie können den Befehl verwenden

attr globales Benutzerattr

Verwenden Sie global für das Gerät, um neue globale Attribute zu deklarieren, und

attr userattr ,

neue lokale Attribute für bestimmte einzelne Geräte gemäß devspec zu deklarieren

ist eine durch Leerzeichen getrennte Liste, die die Namen der zusätzlichen Attribute enthält

Beispiele finden Sie in der attr-Befehlsdokumentation

Achten Sie darauf, keine zusätzlichen globalen Attribute zu überschreiben, die bereits zuvor von Ihnen oder einem Gerät definiert wurden

attr global userattr sollte so früh wie möglich in der Konfiguration erscheinen

Gerätespezifische Attribute sind im jeweiligen Geräteabschnitt dokumentiert

Die folgenden Attribute werden für Module verwendet, die das standardmäßige “Readings”-Update von fhem.pl verwenden

Konsultieren Sie die Modulattributliste, wenn Sie wissen möchten, ob dies unterstützt wird

Dieses Attribut akzeptiert eine durch Kommas getrennte Liste von Reading:Interval:Method:Function:HoldTime-Quintupeln

Sie können zum Lesen reguläre Ausdrücke verwenden

Wenn gesetzt, werden Aktualisierungen für die aufgelisteten Messwerte ignoriert und zugehörige Ereignisse für eine Sperrzeit von mindestens Intervallsekunden unterdrückt (Downsampling)

Nach Ablauf der Sperrfrist wird der Messwert mit einem Wert aktualisiert, der aus den Werten und Zeitstempeln der zuvor ignorierten Aktualisierungen innerhalb der Sperrfrist wie folgt berechnet wird:

Funktionsbeschreibung v der letzte gefundene Wert v0 der erste gefundene Wert min der kleinste gefundene Wert max der größte gefundene Wert mean der arithmetische Mittelwert aller Werte sd die Standardabweichung vom Mittelwert Median der Median aller Werte (benötigt holdTime und Funktion keine) Integral die arithmetische Summe (falls nicht zeitgewichtet) oder Integralfläche (falls zeitgewichtet) aller Werte n Anzahl der Samples t Zeitstempel des letzten Werts t0 Zeitstempel des ersten Werts

Wenn Methode none ist, dann ist das alles, was es gibt

Wenn method const oder linear ist, wird stattdessen die zeitgewichtete Wertereihe berücksichtigt

Das Gewicht ist die Zeitspanne zwischen zwei aufeinanderfolgenden Aktualisierungen

Bei der const-Methode ist der Wert der Wert des Messwerts zu Beginn der Zeitspanne; Bei der linearen Methode ist der Wert das arithmetische Mittel der Werte zu Beginn und am Ende der Zeitspanne

Verlängerungen von Sperrzeiten werden wie erwartet gehandhabt.

Typischerweise würde man die lineare Methode mit der Mittelwertfunktion für zeitlich kontinuierlich variierende Größen wie elektrische Leistungsaufnahme, Temperatur oder Geschwindigkeit verwenden

Für kumulierte Größen wie verbrauchte Energie, fallender Regen oder zurückgelegte Strecke wird die Keine-Methode mit der v-Funktion verwendet

Die konstante Methode ist für diskrete Größen, die konstant bleiben, bis der entsprechende Messwert aktualisiert wird, z

Zähler, Schalter und dergleichen.

Wenn die Haltezeit in Sekunden definiert ist, werden die Abtastungen im Speicher gehalten, was die Berechnung von Floating-Statistiken anstelle von Block-Statistiken ermöglicht

Wenn holdTime definiert ist, kann das Intervall undefiniert bleiben, so dass die Aktualisierungsrate der Messwerte unverändert bleibt, oder es kann auf einen Wert kleiner als holdTime für das Downsampling wie oben beschrieben mit einer vollständigen Historie der Messwerte im Speicher eingestellt werden

Beachten Sie, dass die historischen Samples nicht persistent sind und beim Neustart von FHEM verloren gehen

Der Ereignisaggregator berücksichtigt nur die Aktualisierungen, die nach der Vorverarbeitung gemäß den Anweisungen event-on-update-reading und event-on-change-reading verbleiben

Außerdem wird jede Aktualisierung eines Messwerts, die innerhalb einer Zeitspanne von der vorhergehenden Aktualisierung erfolgt, die kleiner als die Auflösung der Zeitgranularität von FHEM ist, verworfen

Wenn mehr als eine Funktion für denselben Messwert berechnet werden soll, muss der ursprüngliche Messwert multipliziert werden (z

B

durch Verwendung einer Benachrichtigung), bevor der Ereignisaggregator auf die abgeleiteten Messwerte angewendet wird.

Table Variables in SQL Server (Pound Tables) Update

Video unten ansehen

Neues Update zum Thema ms sql variable deklarieren

ms sql variable deklarieren Einige Bilder im Thema

 Update Table Variables in SQL Server (Pound Tables)
Table Variables in SQL Server (Pound Tables) Update

Sie können weitere Informationen zum Thema anzeigen ms sql variable deklarieren

Updating

Schlüsselwörter zum Thema ms sql variable deklarieren

Updating

Sie haben gerade den Thementitel angesehen ms sql variable deklarieren

Articles compiled by Tratamientorosacea.com. See more articles in category: DIGITAL MARKETING

Related Videos

Leave a Comment