Exportovat (0) Tisk
Rozbalit vše
Tento článek byl přeložen strojově počítačem. Původní text zobrazíte přesunutím ukazatele myši nad jednotlivé věty článku.
Překlad
Originál

Sqlcmd, nástroj

Složka Sqlcmd nástroj umožňuje zadat Transact-SQL příkazy, systém postupy a skript soubory na příkazový řádek Editor dotazu v SQLCMD režimu, v souboru skriptu systému Windows nebo o úlohu krok operačního systému (Cmd.exe) SQL Server Úloha agenta. Tento nástroj provést pomocí OLE databáze Transact-SQL listy.

Important noteImportant Note:

SQL Server Management Studio uses the Microsoft .NET FrameworkSqlClient for execution in regular and SQLCMD mode in Query Editor.Při vytváření Sqlcmd spuštění z příkazového řádku, Sqlcmd pomocí zprostředkovatel OLE databáze.Protože různé výchozí možnosti mohou použít, může se zobrazit různé chování při provést téhož dotazu v SQL Server Management Studio v režimu SQLCMD a v Sqlcmd nástroj.


sqlcmd 
[{ { -U login_id [ -P password ] } | –E trusted connection }] 
[ -z new password ] [ -Z new password and exit]
[ -S server_name [ \ instance_name ] ] [ -H wksta_name ] [ -d db_name ]
[ -l login time_out ] [ -A dedicated admin connection] 
[ -i input_file ] [ -o output_file ]
[ -f < codepage > | i: < codepage > [ < , o: < codepage > ] ]
[ -u unicode output] [ -r [ 0 | 1 ] msgs to stderr ] 
[ -R use client regional settings]
[ -q "cmdline query" ] [ -Q "cmdline query" and exit] 
[ -e echo input ] [ -t query time_out ] 
[ -I enable Quoted Identifiers ] 
[ -v var = "value"...] [ -x disable variable substitution ]
[ -h headers ][ -s col_separator ] [ -w column_width ] 
[ -W remove trailing spaces ]
[ -k [ 1 | 2 ] remove[replace] control characters ] 
[ -y display_width ] [-Y display_width ]
[ -b on error batch abort] [ -V severitylevel ] [ -m error_level ] 
[ -a packet_size ][ -c cmd_end ] 
[ -L [ c ] list servers[clean output] ] 
[ -p [ 1 ] print statistics[colon format]] 
[ -X [ 1 ] ] disable commands, startup script, enviroment variables [and exit] 
[ -? show syntax summary]

Možnosti týkající se přihlášení

-Ulogin_id

Je přihlašovací ID uživatele.

NoteNote:

Proměnná prostředí OSQLUSER je k dispozici z důvodu zpětné kompatibility.Systémové proměnné SQLCMDUSER má přednost před proměnné prostředí OSQLUSER.To znamená, že Sqlcmd and osql lze vedle sebe bez rušení.Také to znamená, že existující osql skripty budou nadále fungovat.

Pokud ani -U možnost, ani-P je-li zadán parametr , Sqlcmd pokusí se připojit pomocí Microsoft Režim ověřování systému Windows. Ověřování je založeno na účtu uživatele, který je spuštěn systém Windows Sqlcmd.

Pokud nastavení -U možnost se používá s -E možnost (popsaná dále v tomto tématu), je generována chybová zpráva.Pokud nastavení –U možnost následuje více než jeden argument, je generována chybová zpráva a program ukončí.

-Ppassword

Je heslo zadané uživatelem.Hesla rozlišují malá a velká písmena.Pokud je použita možnost - U a -P možnost není používán a proměnné prostředí SQLCMDPASSWORD nebyla sada, Sqlcmd vyzve uživatele k zadání hesla.Pokud nastavení -P možnost se používá na konci příkazový řádek bez hesla Sqlcmd používá výchozí heslo (NULL).

Security noteSecurity Note:

Nepoužívejte prázdná hesla.Používejte silná hesla.Další informace naleznete v tématuSilná hesla.

Zadání hesla se zobrazí vytisknutím zadání hesla v konzole: Password:

Vstup je skrytá.To znamená, že nic se zobrazí, a kurzor zůstane v poloze.

Proměnné prostředí SQLCMDPASSWORD umožňuje nastavit výchozí heslo pro aktuální relace.Hesla, proto nemají být pevně do dávkových souborů.

V následujícím příkladu nejprve nastaví proměnné SQLCMDPASSWORD na příkazový řádek a potom získá přístup k Sqlcmd nástroj.Na příkazový řádek zadejte příkaz:

SET SQLCMDPASSWORD= p@a$$w0rd

Security noteSecurity Note:

Heslo bude viditelný všem uživatelům, kteří mohou zobrazit na monitoru počítače.

Následující příkazový řádek zadejte:

sqlcmd

Pokud kombinaci uživatelského jména a hesla je nesprávné, zprostředkovatel OLE databáze vygeneruje chybovou zprávu.

NoteNote:

Z důvodu zpětné kompatibility má drženi proměnné prostředí OSQLPASSWORD.Systémové proměnné SQLCMDPASSWORD má přednost před proměnné prostředí OSQLPASSWORD; to znamená, že Sqlcmd and osql lze vedle sebe bez rušení a staré skripty budou nadále fungovat.

Pokud nastavení -P možnost se používá s -E , volba, chybová zpráva je generována.

Pokud nastavení -P možnost následuje více než jeden argument, je generována chybová zpráva a program ukončí.

-E trusted connection

Používá namísto použití uživatelského jména a hesla při přihlášení k důvěryhodné připojení SQL Server. Ve výchozím nastavení jsou bez -E Sqlcmd použije možnost důvěryhodné připojení.

Složka -E možnost ignoruje možné uživatelské jméno a heslo prostředí proměnné nastavení, například SQLCMDPASSWORD.Pokud nastavení -E možnost se používá spolu s -U možnost nebo -P , volba, chybová zpráva je generována.

-z new password

Změnit heslo:

sqlcmd -U someuser -P s0mep@ssword -z a_new_p@a$$w0rd

-Z new password and exit

Změnit heslo a ukončení:

sqlcmd -U someuser -P s0mep@ssword -Z a_new_p@a$$w0rd

-Sserver_name [ \instance_name ]

Určuje instance SQL Server ke kterému se chcete připojit. Nastaví Sqlcmd skriptovací proměnné SQLCMDSERVER.

Určit server_name Chcete-li se připojit k výchozí instance SQL Server v tomto počítači serveru. Specify server_name [ \instance_name ] to connect to a named instance of SQL Server on that server computer.Pokud není zadán žádný počítač serveru, Sqlcmd připojí k výchozí instance SQL Server v místním počítači. Tato možnost je vyžadováno, při provést Sqlcmd ze vzdáleného počítače v síti.

If you do not specify a server_name [ \instance_name ] when you start sqlcmd, SQL Server checks for and uses the SQLCMDSERVER environment variable.

NoteNote:

Z důvodu zpětné kompatibility má drženi proměnné prostředí OSQLSERVER.Systémové proměnné SQLCMDSERVER má přednost před proměnné prostředí OSQLSERVER; to znamená, že Sqlcmd and osql lze vedle sebe bez rušení a staré skripty budou nadále fungovat.

-Hwksta_name

Je název pracovní stanice.Tato možnost nastaví Sqlcmd skriptovací proměnné SQLCMDWORKSTATION.Název pracovní stanice je uveden v Hostname sloupecsys.Processes zobrazení katalogu a mohou být vráceny pomocí uložená procedura sp_who.Pokud tato možnost není zadán, výchozí je aktuální název počítače.Tento název slouží k identifikaci různých Sqlcmd relací.

-ddb_name

Problémy USE db_name výraz při spuštění Sqlcmd.Tato možnost nastaví Sqlcmd skriptovací proměnné SQLCMDDBNAME.Tato hodnota určuje počáteční databáze.Výchozí hodnota je vaše přihlášení databáze výchozí vlastnost.Jestliže databáze neexistuje, je vygenerována chybová zpráva a Sqlcmd ukončí.

-llogintime_out

Určuje počet sekund před Sqlcmd přihlášení ke zprostředkovatel OLE databáze časový limit při pokusu o připojení k serveru.Tato možnost nastaví Sqlcmd skriptovací proměnné SQLCMDLOGINTIMEOUT.Výchozí časový limit pro přihlášení Sqlcmd je osm sekund.Přihlašovací jméno čas - kontrol musí být číslo mezi 0 a 65534.Hodnota dodaných není numerický nebo nespadá do rozsahu, Sqlcmd vygeneruje chybovou zprávu.Hodnota 0 určuje vypršení časového limitu je neomezená.

-A dedicated admin connection

Přihlásí SQL Server pomocí speciální Správce připojení (aplikace DAC). Tento druh připojení se používá k odstraňování problémů se serverem.To bude pracovat pouze s serveru počítačů, které podporují aplikace DAC.Pokud aplikace DAC není k dispozici, Sqlcmd vygeneruje chybovou zprávu a potom ukončí.Další informace o aplikace DAC naleznete v tématu Použití speciální Správce připojení.

Možnosti vstupu a výstupu

-i input_file[,input_file2...]

Určuje soubor, který obsahuje dávka příkazy SQL nebo uložených procedur.Více souborů může být zadána, bude číst a zpracovávány v pořadí.Do not use any spaces between file names. sqlcmdwill first check to see whether all the specified files exist.Pokud jeden nebo více souborů neexistují, Sqlcmd bude ukončena.-I a možnosti -Q/q se vzájemně vylučují.

Příklady cena:

-i C:\ název_souboru < >

-i \\<Server>\<Share$>\<filename>

-i "C:\Some Folder\název souboru < > "

Cesty k souboru obsahující mezery je nutné uzavřít do uvozovek.

Tuto možnost lze použít více než jednou: -i input_file -i I input_file.

-ooutput_file

Určuje soubor, který přijímá výstup z Sqlcmd.

Pokud -u určena, output_file je uložen ve formátu Unicode. If the file name is not valid, an error message is generated, and sqlcmd exits. sqlcmd does not support concurrent writing of multiple sqlcmd processes to the same file.Výstupní soubor bude poškozené nebo nesprávné.Viz -f přepínač Další informace o formátech souborů.Tento soubor bude vytvořen, pokud ji neexistuje.Soubor se stejným názvem z předchozího Sqlcmd relace budou přepsány.Soubor je určen zde není STDOUT soubor. Jestliže STDOUT soubor je určen že tento soubor nebude použita.

Příklady cena:

-o C:\ název_souboru < >

-o \\<Server>\<Share$>\<filename>

-o "C:\Some Folder\<file name>"

Cesty k souboru obsahující mezery je nutné uzavřít do uvozovek.

-f < codepage > | i: < codepage > [ <, o: < codepage > ]

Určuje vstupní a výstupní znakové stránky.Číslo znaková stránka je číselná hodnota, určující nainstalované kódové stránce systému Windows.Další informace naleznete v tématuNastavení kolace v instalačním programu.

Pravidla pro převod znakové stránka:

  • Pokud nejsou zadány žádné kódové stránky, Sqlcmd použije aktuální znaková stránka pro vstupní i výstupní soubory, pokud vstupní soubor není soubor ve formátu Unicode, v takovém případě je žádný převod nutný.

  • Sqlcmd automaticky rozpozná big-endian i little-endian Unicode vstupní soubory.Pokud nastavení -u byla zadána možnost, výstup bude vždy little-endian Unicode.

  • Pokud žádné výstupní soubor zadán, bude výstup znaková stránka znakové stránky konzoly.To umožňuje výstup pouze na být na konzole zobrazeny správně.

  • Předpokládá více vstupních souborů jsou se, že stejné znakové stránka.Mohou být smíchány vstupní soubory Unicode a kódování Unicode.

Zadejte chcp na příkazový řádek ověřit znaková stránka programu Cmd.exe.

-u unicode output

Určuje, že output_file je uložen ve formátu Unicode, bez ohledu na formát input_file.

-r[ 0 | 1] msgs to stderr

Přesměruje výstup chybové zprávy (obrazovkyproudu stderr).Pokud nezadáte parametr nebo nezadáte 0, pouze chybové zprávy, které mají úroveň závažnosti 11 nebo vyšší jsou přesměrována.Pokud zadáte 1, všechny chybové zprávy, včetně PRINT výstup je přesměrován.Používáte-li -o nemá žádný vliv.Ve výchozím nastavení jsou zprávy odesílány do STDOUT.

-R use client regional settings

Nastaví SQL Server zprostředkovatel OLE databáze, kterou použijete místní nastavení klient, převede měny a data a čas na znaková data. Výchozí hodnotou je místní nastavení serveru.

Možnosti spuštění dotazu

-q" cmdline query "

Spustí dotaz při Sqlcmd spustí, ale neexistuje Sqlcmd po dokončení spuštění dotazu.Dotazy s více oddělenými středníky, mohou být provedeny.V uvozovkách dotazu, jak je znázorněno v následujícím příkladu.

Na příkazový řádek zadejte příkaz:

sqlcmd -d AdventureWorks -q "SELECT FirstName, LastName FROM Person.Contact WHERE LastName LIKE 'Whi%';"

sqlcmd -d AdventureWorks -q "SELECT TOP 5 FirstName FROM Person.Contact;SELECT TOP 5 LastName FROM Person.Contact;"

Important noteImportant Note:

GO zakončení nepoužívejte v dotazu.

Pokud -b určen spolu s touto možností, Sqlcmd ukončí k chybě. -b je popsán dále v tomto tématu.

-Q"cmdline query " and exit

Spustí dotaz při Sqlcmd spustí a okamžitě ukončí Sqlcmd.Dotazy s více oddělenými středníky, mohou být provedeny.

V uvozovkách dotazu, jak je znázorněno v následujícím příkladu.

Na příkazový řádek zadejte příkaz:

sqlcmd -d AdventureWorks -Q "SELECT FirstName, LastName FROM Person.Contact WHERE LastName LIKE 'Whi%';"

sqlcmd -d AdventureWorks -Q "SELECT TOP 5 FirstName FROM Person.Contact;SELECT TOP 5 LastName FROM Person.Contact;"

Important noteImportant Note:

GO zakončení nepoužívejte v dotazu.

Pokud -b určen spolu s touto možností, Sqlcmd ukončí k chybě. -b je popsán dále v tomto tématu.

-e echo input

Zápisy skriptů vstupní zařízení (standardní výstupSTDOUT).

-I enable Quoted Identifiers

Nastaví možnost připojení sada QUOTED_IDENTIFIER ON.Ve výchozím sada bude nastaven na hodnotu OFF.Další informace naleznete v tématusada QUOTED_IDENTIFIER (Transact-SQL).

-tquerytime_out

Určuje počet sekund před výraz (nebo výraz SQL) časový limit vypršel.Tato možnost nastaví Sqlcmd skriptovací proměnné SQLCMDSTATTIMEOUT.Jestliže time_out hodnota není zadána, neobsahuje příkaz čas mimo. The querytime_out must be a number between 1 and 65535.Hodnota dodaných není numerický nebo nespadá do rozsahu, Sqlcmd vygeneruje chybovou zprávu.

NoteNote:

Hodnota skutečné časový limit mohou lišit od zadaného time_out hodnotu o několik sekund.

-vvar=value[ var=value...]

Creates a sqlcmdscripting variable that can be used in a sqlcmd script.Pokud hodnota obsahuje mezery, uzavřete do uvozovek hodnotu.Můžete určit více VAR.VÝBĚR (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)="values" hodnoty.Jestliže nebudou nalezeny chyby v libovolné hodnoty Sqlcmd vygeneruje chybovou zprávu a potom ukončí.

sqlcmd -v MyVar1=something MyVar2="some thing"

sqlcmd -v MyVar1=something -v MyVar2="some thing"

-x disable variable substitution

Způsobí, že Sqlcmd ignorovat skriptovací proměnné.To je užitečné v případě, že skript obsahuje mnoho příkazů INSERT, které mohou obsahovat řetězce, které mají stejný formát jako běžné proměnné, jako je například $ (variable_name).

Možnosti formátování

-hheaders

Určuje počet řádků, které chcete vytisknout mezi sloupec nadpisy.Ve výchozím sada je tisk záhlaví jednou pro každou sada výsledky dotazu.Tato možnost nastaví Sqlcmd skriptovací proměnné SQLCMDHEADERS.Pomocí -1 , chcete-li určit, že záhlaví musí být nevytiskne.Způsobí, že libovolnou hodnotu, která není platná Sqlcmd generovat chybovou zprávu a poté ukončete program.

-scol_separator

Určuje, sloupec-znak oddělovače.Výchozí hodnota je prázdné místo.Tato možnost nastaví Sqlcmd skriptovací proměnné SQLCMDCOLSEP.Používat znaky, které mají zvláštní význam v operačním systému, jako je například ampersand (&), nebo středník (;), uzavřete znak je do uvozovek ("). Oddělovač sloupců může být libovolný znak 8 bitů.

-wcolumn_width

Určuje šířku obrazovky pro výstup.Tato možnost nastaví Sqlcmd skriptovací proměnné SQLCMDCOLWIDTH.Šířka sloupec musí být číslo vyšší než 8 a menší než 65 536.Je-li šířku sloupec zadaného nespadá do rozsahu, Sqlcmd generuje a chybovou zprávu.Výchozí šířka je 80 znaků.Výstupní lince přesahuje šířku sloupec zadaného, zalomí na do dalšího řádku.

-W remove trailing spaces

Tato možnost odebere ze sloupec koncové mezery.Pomocí této možnosti spolu s -s možností při přípravě dat je možné exportovat do jiné aplikace.Nelze použít s -y or -Y možnosti.

-k[ 1 | 2 ] remove[replace] control characters

Odstraní všechny znaky ovládacího prvku, jako jsou tabulátory nebo znaky nového řádku z výstupu.Tím bude zachováno formátování při vrácení dat sloupec.1 Je-li zadána, řídicí znaky jsou nahrazeny jedinou mezeru.Pokud není zadán 2, po sobě jdoucích řídicí znaky nahrazují jednu mezeru.

-ydisplay_width

Nastaví Sqlcmd skriptovací proměnné SQLCMDMAXFIXEDTYPEWIDTH.Výchozí hodnota = 0 (není zadána).Omezuje počet znaků, které jsou vráceny pro datové typy velké proměnné délky:

  • varchar(max)

  • nvarchar(max)

  • varbinary(max)

  • xml

  • uživatelsky definovaný typ (typy dat definované uživatelem)

  • text

  • ntext

  • image

NoteNote:

UDTs může být pevné délky v závislosti na implementaci.Pokud je tato délka pevně stanovenou délku uživatelsky definovaný typ kratší, display_width, vrácena hodnota uživatelsky definovaný typ nebudou ovlivněna. Avšak pokud je delší než délka display_width, je výstup zkrácen.

Je-li display_width 0, výstup zkrácen na 1 MB.Můžete použít: zabránit zkrácení výstup pomocí příkazu XML ON.: Příkaz XML ON je popsán dále v tomto tématu.

Important noteImportant Note:

Poté příkazem -y 0 možnost s krajní opatrností, protože na serveru v síti, v závislosti na velikosti vrácená data může způsobit vážné výkonem.

-Ydisplay_width

Nastaví Sqlcmd skriptovací proměnné SQLCMDMAXVARTYPEWIDTH.Výchozí hodnota je 256.Omezuje počet znaků, které jsou vráceny pro následující typy dat:

  • char

  • nchar

  • varchar(n) kde 1<n<8000

  • nvarchar(n) kde 1<n<4000

  • sql_variant

Možnosti hlášení chyb

-b on error batch abort

Určuje, že Sqlcmd ukončí a vrátí hodnotu DOS ERRORLEVEL, když dojde k chybě.Je hodnota vrácená proměnnou DOS ERRORLEVEL 1 when the SQL Server chybová zpráva obsahuje úroveň závažnosti vyšší než 10; v opačném případě je vrácená hodnota 0.Pokud sada -V možnost byla nastavena v kromě na -b, Sqlcmd není ohlásí chybu, pokud závažnost úroveň je nižší než hodnoty nastaveny pomocí -V. Command prompt batch files can test the value of ERRORLEVEL and handle the error appropriately. sqlcmd does not report errors for severity level 10 (informational messages).

Pokud nastavení sqlcmd skript obsahuje nesprávné komentář, Chyba syntaxe nebo skriptovací proměnná chybí, je vrácena hodnota ERRORLEVEL 1.

-V severitylevel

Řídí na úroveň závažnosti, která se používá k sada proměnné ERRORLEVEL.Chybové zprávy, které mají úrovně závažnosti menší nebo rovna této hodnota sada ERRORLEVEL.Hodnoty, které jsou menší než 0, jsou hlášeny jako 0.Soubory dávka a CMD slouží k testování hodnotu proměnné ERRORLEVEL.

-merror_level

Ovládací prvky, které jsou odeslány chybové zprávy STDOUT.Zprávy, které mají úroveň závažnosti menší nebo rovna této úrovni jsou odesílány.Tato hodnota je nastavena -1, všechny zprávy včetně informační zprávy jsou odesílány.Mezi nejsou povoleny mezery -m and -1.For example, -m-1 is valid, and -m-1 is not.

Tato možnost také nastaví Sqlcmd skriptovací proměnné SQLCMDERRORLEVEL.Tato proměnná má výchozí hodnota je 0.

Různé možnosti

-apacket_size

Požadavky paket jinou velikost.This option sets the sqlcmd scripting variable SQLCMDPACKETSIZE. packet_size must be a value between 512 and 32767.Výchozí hodnota = 4096.Větší velikost paket lze vylepšit výkon pro spouštění skriptů, které mají mnoho příkazů SQL mezi příkazy GO.Můžete požadovat větší velikost paket.Avšak, pokud je žádost odmítnuta, Sqlcmd použije výchozí nastavení serveru pro velikost paket.

-ccmd_end

Určuje dávka zakončení.Standardně jsou příkazy ukončena a odeslat na SQL Serverzadáním slova „ GO"na řádku samostatně. Nepoužívejte při obnovení dávka zakončení Transact-SQL vyhrazená klíčová slova nebo znaky, které mají zvláštní význam v operačním systému, i když předcházet zpětné lomítko.

-L [ c ] list servers[clean output]

Zobrazí seznam počítačů místně konfigurované serveru a názvy počítačů serveru, které jsou vysílání v síti.Tento parametr nelze použít v kombinaci s jinými parametry.Maximální počet počítačů serveru, které mohou být uvedeny je 3000.Pokud seznam serverů je zkrácen velikost vyrovnávací paměti, zobrazí se zpráva s upozorněním.

NoteNote:

Z důvodu povahy vysílání v sítích, Sqlcmd neobdrží odpověď včas ze všech serverů.Seznam serverů, které jsou vráceny může tedy u každé vyvolání této možnosti lišit.

Je-li c volitelný parametr zadán, zobrazí se výstup bez servery: řádek záhlaví a řádek každého serveru je uvedena bez úvodní mezery. To se označuje jako čistý výstup.Čistý výstup zvyšuje výkon zpracování skriptovacích jazyků.

-p[ 1 ] print statistics[colon format]

Tiskne statistiky výkonu pro každou sada výsledků dotazu dotazu.Zde je příklad formátu pro statistiku výkonu:

Network packet size (bytes): n

x xact[s]:

Clock Time (ms.): total t1 avg t2 (t3 xacts per sec.)

kde:

x = Počet transakcí, které jsou zpracovány SQL Server.

t1 = Celkový čas pro všechny transakce.

t2 = Průměrná čas pro jednu transakci.

t3 = Průměrný počet transakcí za sekundu.

Všechny časy jsou v milisekundách.

Pokud volitelný parametr 1 je zadán, výstupní formát statistik je ve formátu oddělené dvojtečkou, který lze snadno importovat do tabulky nebo zpracování skriptu.

Pokud je parametr volitelný libovolnou hodnotu než 1, chyba je generována a Sqlcmd ukončí.

-X [ 1 ] disable commands, startup script, enviroment variables [and exit]

Zakáže příkazy, které mohou ohrozit zabezpečení systému při Sqlcmd proveden z dávkového souboru.Zakázané příkazy jsou stále uznány; Sqlcmd zprávu s upozorněním a pokračuje.Pokud volitelný parametr 1 určena, Sqlcmd vygeneruje chybovou zprávu a potom ukončí.Následující příkazy jsou zakázány při -X možnost se používá:

  • ED

  • !! command

Pokud nastavení -X není zadána možnost, proměnné prostředí zabrání předáním Sqlcmd.Zabraňuje také tomu určena pomocí proměnné SQLCMDINI skriptovací z prováděný spouštěcí skript.Další informace o sqlcmd Viz skriptovací proměnné Pomocí skriptovací proměnné sqlcmd.

-? show syntax summary

Zobrazí souhrn syntaxe Sqlcmd možnosti.

Možnosti není nutné pro použití v pořadí uvedeném v části syntaxe.

Více výsledky vráceny, Sqlcmd vytiskne prázdný řádek mezi každý výsledek sada v dávce.Kromě toho "<x>nevztahuje se na výraz provedeny ovlivněné řádky"zpráva nezobrazí.

Chcete-li použít Sqlcmd interaktivně, zadejte Sqlcmd na příkazový řádek s jedné nebo více možnosti popsané dříve v tomto tématu.Další informace naleznete v tématu . Pomocí sqlcmd, nástroj

NoteNote:

Možnosti -L, -Q, -Z or -i cause Sqlcmd ukončit po spuštění.

Celková délka Sqlcmd příkazový řádek v příkazovém prostředí (Cmd.exe), včetně všech argumentů a rozšířené proměnné je, která je určena operačního systému pro program Cmd.exe.

  1. Proměnné prostředí úroveň systému.

  2. Proměnné prostředí individuální řízení přístupu

  3. (Příkaz prostředísada X = Y) nastavit na příkazový řádek před spuštěním Sqlcmd.

  4. sqlcmd -v X=Y

  5. : Setvar X Y

NoteNote:

Chcete-li zobrazit proměnné prostředí Ovládací panely, open Systema potom klepněte na tlačítko Upřesnit tab.

Proměnná

Související přepínače

R/W

Výchozí

SQLCMDUSER

-U

R

""

SQLCMDPASSWORD

-P

--

""

SQLCMDSERVER

-S

R

"DefaultLocalInstance"

SQLCMDWORKSTATION

-H

R

"Název_počítače"

SQLCMDDBNAME

-d

R

""

SQLCMDLOGINTIMEOUT

-l

R/W

"8" (sekundy)

SQLCMDSTATTIMEOUT

-t

R/W

"0" = čekání bez omezení

SQLCMDHEADERS

-h

R/W

"0"

SQLCMDCOLSEP

-s

R/W

" "

SQLCMDCOLWIDTH

-w

R/W

"0"

SQLCMDPACKETSIZE

-a

R

"4096"

SQLCMDERRORLEVEL

-m

R/W

0

SQLCMDMAXVARTYPEWIDTH

-y

R/W

"256"

SQLCMDMAXFIXEDTYPEWIDTH

-Y

R/W

"0" = neomezeno

SQLCMDEDITOR

R/W

"edit.model COM."

SQLCMDINI

R

""

SQLCMDUSER, SQLCMDPASSWORD a SQLCMDSERVER jsou sada při : Připojení

je používán.

R označuje že hodnotu lze pouze nastavit jednou během inicializace programu.

R/W označuje, že hodnota možné měnit pomocí setvar příkazu a následné příkazy budou ovlivněny novou hodnotu.

Kromě Transact-SQL příkazy v rámci Sqlcmdnásledující příkazy jsou také k dispozici:

GO [count]

: Seznam

[:] RESET

:ERROR

[:] ED

: Výstup

[:] !!

: Perftrace

[:] QUIT

: Připojení

[:] EXIT

: On Error

: r

: Nápověda

: ServerList

:XML [ON | OFF]

: Setvar

: Listvar

Znát následující při použití Sqlcmd příkazy:

  • Všechna Sqlcmd příkazy, s výjimkou GO, musí být předponou dvojtečkou (:).)

    Important noteImportant Note:

    Chcete-li zachovat zpětnou kompatibilitu s existující osql skripty, některé příkazy rozpozná bez za dvojtečkou.Je označen [:.

  • Sqlcmd příkazy se uznávají pouze v případě, že jsou zobrazeny na začátku řádku.

  • Všechna Sqlcmd příkazy jsou případ odolné.

  • Každý příkaz musí být na samostatném řádku.výraz nemůže být následován Transact-SQL výraz nebo jiného výraz.

  • Příkazy prováděny okamžitě.Není uvedení ve vyrovnávací paměti spuštění jako Transact-SQL příkazy jsou.

Příkazy pro úpravy

[:] ED

Spustí textového editoru.Tento editor lze upravit aktuální Transact-SQL dávka nebo poslední provedené dávka. Chcete-li upravit poslední provedené dávka, ED příkazu je nutné zadat ihned po poslední dávka dokončila spuštění.

Textový editor je definována proměnná prostředí SQLCMDEDITOR."Upravit, je výchozím editorem.Chcete-li změnit editor, sada proměnné prostředí SQLCMDEDITOR.Například sada editoru k Microsoft Program Poznámkový blok, na příkazový řádek, typ:

SET SQLCMDEDITOR=notepad

[:] RESET

Vymaže mezipaměť výraz.

: Seznam

Vytiskne obsah mezipaměti výraz.

Proměnné

:Setvar <var> [ "value" ]

Definuje Sqlcmd skriptovací proměnné.Skriptovací proměnné mají následující formát: $(VARNAME).

V názvech proměnných se nerozlišují malá a velká písmena.

skriptovací proměnné může být sada následujícími způsoby:

  • Implicitně pomocí parametru příkazového řádku.Například -l Nastaví možnost SQLCMDLOGINTIMEOUT Sqlcmd Proměnná.

  • Explicitně pomocí : Setvar příkazu.

  • Definováním proměnnou prostředí před spuštěním Sqlcmd.

NoteNote:

Složka -X možnost zabrání předávaný proměnných prostředíSqlcmd.

Pokud je proměnná definována pomocí : Setvar a proměnnou prostředí mají stejný název, proměnná, definovaná pomocí : Setvar přednost.

Názvy proměnných nesmí obsahovat znaky pro prázdné místo.

Názvy proměnných nemůže mít stejný formulář jako proměnné výraz, například $ (var).

Pokud hodnota řetězce skriptovací proměnné obsahuje mezery, uzavřete do uvozovek hodnotu.Pokud nezadáte hodnotu pro proměnnou skriptování, skriptovací proměnné je zrušen.

: Listvar

Zobrazí seznam skriptovací proměnných, které jsou aktuálně sada.

NoteNote:

Pouze proměnné, která jsou nastavena skriptovací Sqlcmda ty, které jsou nastaveny pomocí : Setvar příkazu budou zobrazeny.

Výstupní příkazy

:ERROR <filename>|STDERR|STDOUT

Všechny chyby výstup přesměrovat do souboru, určený file nameKomu proudu stderr or to STDOUT.Složka Chyba příkaz objevit vícekrát skriptu.Standardně je chyba výstup odeslán proudu stderr.

file name

Vytvoří a otevře soubor, který bude přijímat výstup.Pokud soubor již existuje, bude zkrácen na 0 bajtů.Pokud soubor není k dispozici z důvodu oprávnění nebo jiných důvodů, výstup nejsou zapnuty a bude odeslán na poslední zadaný nebo výchozí cílové.

PROUDU STDERR

Výstup chyb do přepínače proudu stderr datového proudu.Pokud to byla přesměrována, cílová databáze, ke kterému byla přesměrována datový proud obdrží výstupní chyby.

STDOUT

Výstup chyb do přepínače STDOUT datového proudu.Pokud to byla přesměrována, cílová databáze, ke kterému byla přesměrována datový proud obdrží výstupní chyby.

:Out <filename>| STDERR| STDOUT

Vytvoří a přesměruje všechny výsledky dotazu do souboru určeného parametrem file nameKomu proudu stderr or to STDOUT.Ve výchozím nastavení je výstup odeslán STDOUT.Pokud soubor již existuje, bude zkrácen na 0 bajtů.Složka Ven příkaz objevit vícekrát skriptu.

:Perftrace <filename>| STDERR| STDOUT

Vytvoří a přesměruje všechny informace o trasování výkonu do souboru určeného parametrem file nameKomu proudu stderr or to STDOUT.Ve výchozím nastavení je odeslán výstup sledování výkonu STDOUT.Pokud soubor již existuje, bude zkrácen na 0 bajtů.Složka Perftrace příkaz objevit vícekrát skriptu.

Příkazy provádění řízení

:On Error[ exit | ignore]

Nastaví akce, které se mají provést, když dojde k chybě během skriptu nebo dávka spuštění.

When the exitoption is used, sqlcmd exits with the appropriate error value.

Pokud má ignore možnost použita, Sqlcmd ignoruje chybu a pokračuje v provádění dávka nebo skript.Ve výchozím nastavení budou vytištěny chybovou zprávu.

[:] QUIT

Způsobí, že Sqlcmd ukončit.

[:] EXIT[ (statement) ]

Umožňuje použít výsledek výraz SELECT jako vrácená hodnota z Sqlcmd.První sloupec v prvním řádku výsledek je převeden na 4bajtové celé číslo (dlouhé).MS-DOS předává nízké bajt nadřazeného procesu nebo úroveň chyby operačního systému.Windows 200 x průchodů celé 4bajtové celé číslo.Syntaxe je:

:EXIT(query)

Příklad:

:EXIT(SELECT @@ROWCOUNT)

Můžete také zahrnout EXIT parametr jako součást dávka souboru.Na příkazový řádek zadejte například:

sqlcmd -Q "EXIT(SELECT COUNT(*) FROM '%1')"

The sqlcmd utility sends everything between the parentheses () to the server.Pokud vybere sada systémová uložená procedura a vrátí hodnotu, bude vrácena pouze výběr.The EXIT() statement with nothing between the parentheses executes everything before it in the batch and then exits without a return value.

Zadán nesprávný dotaz, Sqlcmd bude ukončena bez vrácené hodnoty.

Zde je seznam formátů EXIT:

  • : UKONČENÍ

Nespustit dávka, okamžitě ukončí a vrátí hodnotu žádné.

  • : () UKONČENÍ

Provede dávka, ukončí a vrátí hodnotu žádné.

  • : EXIT(query)

Provede dávka, který obsahuje dotaz a poté se ukončí po vrátí výsledky dotazu.

RAISERROR je-li použit v rámci Sqlcmd skript a stav 127 je aktivována, Sqlcmd bude ukončíte a vrátíte se ID zprávy zpět do klient.Příklad:

RAISERROR(50001, 10, 127)

Tato chyba způsobí Sqlcmd za účelem skriptu a vrátí ID zprávy 50001 klient.

Vrácené hodnoty -1-99, jsou vyhrazena společností SQL Server; Sqlcmd definuje následující další vrácené hodnoty:

Vrácení hodnoty

Popis

-100

Došlo k chybě před k výběru vrácenou hodnotu.

-101

Při výběru vrácené hodnoty nebyly nalezeny žádné řádky.

-102

Při výběru vrácené hodnoty došlo k chybě převodu.

GO [count]

GO signály konce dávka a provádění všech uložených v mezipaměti Transact-SQL příkazy. Pokud zadáte hodnotu parametru count, bude proveden v mezipaměti příkazy count čas jako jedna jediná dávka.

Různé příkazy

:r <filename>

Parses additional Transact-SQL statements and sqlcmd commands from the file specified by <filename>into the statement cache.

If the file contains Transact-SQL statements that arenot followed by GO,you must enter GO on the line that follows :r.

NoteNote:

< filename > je přečíst relativní spouštěcí adresář, ve kterém Sqlcmd byl spuštěn.

Soubor bude číst a spuštěn poté, co je zjištěna dávka zakončení.Můžete vydat více : r příkazy.Soubor může obsahovat libovolné Sqlcmd příkazu.To zahrnuje dávka zakončení PŘEJÍT.

NoteNote:

Počet řádků zobrazených v interaktivním režimu se zvýší o jednu pro každý : r příkazu došlo k.Složka : r příkaz se zobrazí ve výstupu příkazu seznamu.

: Serverlist

Seznam místně konfigurované servery a názvy serverů, vysílání v síti.

: Připojení server_name[\instance_name] [-l timeout] [-U user_name [-P password]]

Připojení k instance SQL Server. Také zavírá aktuální připojení.

Časový limit možnosti:

0

Čekání na trvale

n>0

Počkejte n sekund

Skriptovací proměnné SQLCMDSERVER bude odrážet aktuální aktivní připojení.

Pokud timeout není zadán, je výchozí hodnota proměnné SQLCMDLOGINTIMEOUT.

If only user_nameis specified (either as an option, or as an environment variable), the user will be prompted to enter a password.Toto není hodnota true, pokud byly nastaveny proměnné prostředí SQLCMDUSER nebo SQLCMDPASSWORD.Je-li možnosti ani proměnné prostředí jsou k dispozici, režim ověřování systému Windows slouží k přihlášení.Například připojit k instance, instance1, z SQL Server, myserver, pomocí integrované zabezpečení použijete následující:

:connect myserver\instance1

Chcete-li se připojit k výchozí instance myserver pomocí skriptovacích proměnných, použijete následující:

:setvar myusername test

:setvar myservername myserver

:connect $(myservername) $(myusername)

[:] !!< command>

Provede příkazy operačního systému.Provedení příkazu operačního systému, řádek začínal dvě značky vykřičník)!!) Následuje příkazu operačního systému.Příklad:

:!!Dir

NoteNote:

V počítači, ve kterém je příkaz spuštěn Sqlcmd je spuštěn.

:XML [ON | OFF]

Další informace naleznete v tématu "Výstupního formátu XML," dále v tomto tématu

: Nápověda

Seznamy Sqlcmd příkazy spolu s krátký popis jednotlivých příkazů.

Sqlcmd názvy souborů

Sqlcmd vstupních souborů může být zadán s -i možnost nebo : r příkazu.Výstupní soubory mohou být určeny s -o možnost nebo :ERROR, : Výstup and : Perftrace příkazy.Zde jsou některé pokyny pro práci s těmito soubory:

  • :ERROR, : Výstup and : Perftrace Použijte samostatné <filename>. Pokud stejné <filename> je použit, vstupy z příkazů může být intermixed.

  • Pokud vstupní soubor umístěný na vzdáleném serveru je volána ze Sqlcmd v místním počítači a soubor například obsahuje cena k jednotce soubor: mimo c:\OutputFile.txt.Výstupní soubor bude vytvořeno, v místním počítači a nikoli na vzdáleném serveru.

  • Platný soubor cesty patří: C:\<filename>,\\<Server>\<Share$>\<filename> and "C:\Some Folder\<file name>".Pokud je v cestě mezerou, použít uvozovky.

  • Každý nový Sqlcmd relace přepíše existující soubory, které mají stejné názvy.

Informační zprávy

Sqlcmd vytiskne všechny informační zprávy odesílané serverem.V následujícím příkladu po Transact-SQL příkazy jsou spouštěny, informační zpráva vytištěna.

Na příkazový řádek zadejte následující příkazy:

sqlcmd

At the sqlcmd prompt type:

USE AdventureWorks;

GO

Po stisknutí klávesy ENTER se vytiskne následující informační zpráva: "Kontextu změněných databáze na"Společnosti Adventure Works""

Formát výstupu z dotazy jazyka Transact-SQL

Sqlcmd vytiskne první záhlaví sloupec, který obsahuje názvy sloupců uvedeného v seznamu vyberte.Názvy sloupců jsou odděleny pomocí SQLCMDCOLSEP znaků.Ve výchozím nastavení je toto místo.Pokud je kratší než šířka sloupec název sloupec, je výstup čalouněny mezerami až do dalšího sloupec.

Tento řádek bude následovat oddělovací čáru, která je posloupnost znaků pomlčka.Následující výstup zobrazuje příklad.

START Sqlcmd.V Sqlcmd příkazový řádek zadejte následující:

USE AdventureWorks;

SELECT TOP (2) ContactID, FirstName, LastName

FROM Person.Contact;

GO

Při stisknutí klávesy ENTER následující výsledek sada je retuned.

ContactID FirstName LastName

----------- ------------ ----------

1 Syed Abbas

2 Catherine Abel

(2 row(s) affected)

Přestože je během ContactID sloupec je pouze 4 znaků na šířku, byla rozšířena tak, aby delší název sloupce. Standardně je ukončeno výstup na 80 znaků.Lze změnit pomocí -w možnost, nebo nastavením skriptovací proměnné SQLCMDCOLWIDTH.

Výstupní formát XML

XML je výstupní, že výsledek klauzule FOR XML je výstupní, neformátovaný, v souvislé proudu.

Pokud očekáváte, že výstup XML, použijte následující příkaz: :XML ON.

NoteNote:

Sqlcmd vrací chybové zprávy v obvyklém formátu.Všimněte si, že chybové zprávy jsou také výstup v proudu XML text ve formátu XML.Pomocí :XML ON, Sqlcmd nezobrazí informační zprávy.

Chcete-li sada XML režim vypnout, použijte následující příkaz: :XML OFF.

Příkaz Přejít by měl dříve, než je vydán příkaz XML VYPNUTA, protože příkaz XML OFF přepne nezobrazí Sqlcmd zpět do výstupu řádkovou orientaci.

Data XML (datovým proudem) a data sada řádků nelze směšovat.Pokud výraz XML ON nebylo vydáno před Transact-SQL výraz, že výstup XML proudy proveden, výstup bude být zdeformované. Pokud má byl vydán příkaz XML ON, nelze provést Transact-SQL příkazy, které výstup pravidelné řádek sady.

NoteNote:

Složka : XML výraz výraz sada STATISTICS XML nepodporuje.

Pomocí následujících postupů maximalizovat zabezpečení a efektivitu.

  • Použít integrované zabezpečení.

  • Pomocí -X automatizované prostředích.

  • Zabezpečení vstupní a výstupní soubory pomocí příslušné oprávnění systému souborů NTFS.

  • Chcete-li zvýšit výkon, proveďte tolik v jednom Sqlcmd relace jako můžete namísto v sérii relací.

  • Nastavovat hodnoty časového limitu provedení dávka nebo dotaz vyšší, než očekáváte, že bude trvat provést dávka nebo dotazu.

Byl tento obsah pro vás užitečný?
(Zbývající počet znaků: 1500)
Děkujeme za váš názor.
Zobrazit:
© 2014 Microsoft