Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Az sqlcmd segédprogram lehetővé teszi Transact-SQL utasítások, rendszereljárások és szkriptfájlok megadását különböző módokon:
- A parancssorban.
- Lekérdezésszerkesztőben SQLCMD módban.
- Windows-szkriptfájlban.
- Egy SQL Server Agent-feladat operációs rendszerbeli (
cmd.exe) feladatlépésében.
Note
Bár a Microsoft Entra ID az Azure Active Directory (Azure AD) új neve, a meglévő környezetek megzavarásának megakadályozása érdekében az Azure AD továbbra is megmarad néhány rögzített elemben, például felhasználói felületi mezőkben, kapcsolatszolgáltatókban, hibakódokban és parancsmagokban. Ebben a cikkben a két név felcserélhető.
sqlcmd-variánsok
Az sqlcmd két változata létezik:
sqlcmd (Go): A
go-mssqldb-alapú sqlcmd, néha go-sqlcmd néven. Ez a verzió egy önálló eszköz, amelyet az SQL Servertől függetlenül tölthet le. Windowson, macOS-en, Linuxon és tárolókban fut.sqlcmd (ODBC): A platformhoz igazított, ODBC-alapú sqlcmd, amely az SQL Serverrel vagy a Microsoft parancssori segédprogramokkal érhető el, és a
mssql-toolscsomag egy része Linuxon. Windowson, macOS-en, Linuxon és tárolókban is fut.
Ha meg szeretné tudni, hogy az sqlcmd melyik változata és verziója van telepítve a rendszeren, tekintse meg az sqlcmd segédprogram telepített verziójának ellenőrzését.
Az sqlcmd beszerzéséről további információt az sqlcmd segédprogram letöltése és telepítése című témakörben talál.
TDS 8.0-támogatás
Az SQL Server 2025 (17.x) TDS 8.0-s támogatást nyújt az sqlcmd segédprogramhoz.
Syntax
Usage:
sqlcmd [flags]
sqlcmd [command]
Examples:
# Install/Create, Query, Uninstall SQL Server
sqlcmd create mssql --accept-eula --using https://aka.ms/AdventureWorksLT.bak
sqlcmd open ads
sqlcmd query "SELECT @@version"
sqlcmd delete
# View configuration information and connection strings
sqlcmd config view
sqlcmd config cs
Available Commands:
completion Generate the autocompletion script for the specified shell
config Modify sqlconfig files using subcommands like "sqlcmd config use-context mssql"
create Install/Create SQL Server, Azure SQL, and Tools
delete Uninstall/Delete the current context
help Help about any command
open Open tools (e.g ADS) for current context
query Run a query against the current context
start Start current context
stop Stop current context
Flags:
-?, --? help for backwards compatibility flags (-S, -U, -E etc.)
-h, --help help for sqlcmd
--sqlconfig string configuration file (default "/Users/<currentUser>/.sqlcmd/sqlconfig")
--verbosity int log level, error=0, warn=1, info=2, debug=3, trace=4 (default 2)
--version print version of sqlcmd
Use "sqlcmd [command] --help" for more information about a command.
Az sqlcmd szintaxisának és használatának részletesebb információkért lásd ODBC sqlcmd szintaxis.
Az sqlcmd (ODBC) jelentős változásai
A sqlcmd (Go) segédprogram számos kapcsolót és viselkedést módosít. A legfrissebb lista a hiányzó zászlókról a visszafelé kompatibilitás érdekében elérhető a Visszafelé kompatibilitási zászlók implementálásának prioritása GitHub megbeszélésében.
Az sqlcmd (Go) korábbi verzióiban a
-Pkapcsoló ideiglenesen el lett távolítva, és az SQL Server-hitelesítéshez csak az alábbi mechanizmusokon keresztül lehetett jelszavakat biztosítani:- A
SQLCMDPASSWORDkörnyezeti változó - A
:CONNECTparancs - Amikor a rendszer kéri, a felhasználó beírhatja a jelszót a kapcsolat befejezéséhez
- A
-r0vagy1argumentumot igényel-Rkapcsoló el lesz távolítva.-Ikapcsoló el lesz távolítva. Az idézett azonosító viselkedésének letiltásához adjon hozzáSET QUOTED IDENTIFIER OFF-et a szkriptekhez.-Negy sztringértéket vesz fel, amely lehet az egyiktrue,falsevagydisablea titkosítási választás megadásához. (defaultugyanaz, mint a paraméter kihagyása)- Ha nincs megadva
-Nés-C, sqlcmd a kiszolgálótanúsítvány érvényesítése nélkül egyezteti a kiszolgálóval a hitelesítést. - Ha
-Nvan megadva, de-Cnem, sqlcmd a kiszolgálótanúsítvány érvényesítését igényli. A titkosításfalseértéke továbbra is a bejelentkezési csomag titkosításához vezethet. - Ha
-Nés-Cis meg van adva, sqlcmd a titkosítási egyeztetéshez használja az értékeiket. - Az ügyfél-/kiszolgálótitkosítási egyeztetésről további információt MS-TDS PRELOGINtalál.
Important
Az SQL Server 2025 (17.x) esetében a
-Nleheto(aoptionalesetén),m(az alapértelmezettmandatoryesetén) vagys(astrictesetén). Ha nem adja meg-N, akkor-Nmlesz az alapértelmezett (amandatoryesetében). Ez egy jelentős változás az SQL Server 2022 (16.x) és a korábbi verziókhoz képest.- Ha nincs megadva
-uA létrehozott Unicode kimeneti fájlhoz hozzá van írva az UTF-16 Little-Endian byte-order mark (BOM).Bizonyos viselkedések, amelyekkel a kompatibilitás
OSQLfenntartása érdekében tartottak, módosulhattak, például egyes adattípusok oszlopfejléceinek igazítása.Minden parancsnak el kell férnie egy sorban, még
EXITis. Az interaktív mód nem ellenőrzi a parancsok nyitott zárójeleit vagy idézőjeleit, és nem kéri az egymást követő sorokat. Ez a viselkedés eltér az ODBC-verziótól, így aEXIT(query)által futtatott lekérdezés több sorra is kiterjedhet.
Az sqlcmd (Go) segédprogram kapcsolatai TCP-kapcsolatokra korlátozódnak. A nevesített csövek jelenleg nem támogatottak a go-mssqldb meghajtóban.
Enhancements
:Connectválasztható-Gparamétert használ az Azure SQL Database egyik hitelesítési módszerének kiválasztásához :SqlAuthentication,ActiveDirectoryDefault,ActiveDirectoryIntegrated,ActiveDirectoryServicePrincipal,ActiveDirectoryManagedIdentityActiveDirectoryPassword. További információ: Hitelesítés a Microsoft Entra-azonosítóval az sqlcmd-ben. Ha-Gnincs megadva, a rendszer integrált biztonságot vagy SQL Server-hitelesítést használ egy-Ufelhasználóneves paraméter meglététől függően.A
--driver-logging-levelparancssori paraméter lehetővé teszi a nyomkövetések megtekintését azgo-mssqldbillesztőprogramból. A64használatával tekintse meg az összes nyomot.Az sqlcmd (Go) függőleges formátumban tudja kinyomtatni az eredményeket. Állítsa be a
-F verticalparancssori kapcsolót. ASQLCMDFORMATszkriptelési változó is szabályozza azt.Note
Ez eltér az
-Fsqlcmd (ODBC) címkétől, ami-Na tanúsítvány gazdagépnevének megadására szolgál.
Parancssori opciók
Az alábbi táblázat az sqlcmdben elérhető parancssori beállításokat és az általuk támogatott operációs rendszereket sorolja fel.
Bejelentkezéssel kapcsolatos beállítások
-A
Csak Windowsra érvényes. A Linux és a macOS nem támogatott.
Dedikált rendszergazdai kapcsolattal (DAC) jelentkezik be az SQL Serverre. Ez a kapcsolat a kiszolgáló hibaelhárítására szolgál. Ez a kapcsolat csak a DAC-t támogató kiszolgálószámítógépekkel működik. Ha a DAC nem érhető el, sqlcmd hibaüzenetet generál, majd kilép. További információ a DAC-ról: Diagnosztikai kapcsolat adatbázis-rendszergazdák számára. A -A beállítás nem támogatott a -G beállítással. Ha -Ahasználatával csatlakozik az Azure SQL Database-hez, rendszergazdának kell lennie a logikai SQL-kiszolgálón. A DAC nem érhető el a Microsoft Entra rendszergazdái számára.
Note
A dedikált rendszergazdai kapcsolat (DAC) macOS vagy Linux rendszeren történő létrehozásának módjáról a programozási útmutatóban olvashat.
-C
Ezt a beállítást az ügyfél úgy konfigurálja, hogy a kiszolgálótanúsítványt hitelesítés nélkül implicit módon megbízhatónak tekintse. Ez a beállítás egyenértékű a ADO.NET TRUSTSERVERCERTIFICATE = truebeállítással.
Az sqlcmd (Go) segédprogramra a következő feltételek vonatkoznak:
- Ha nincs megadva
-Nés-C, sqlcmd a kiszolgálótanúsítvány érvényesítése nélkül egyezteti a kiszolgálóval a hitelesítést. - Ha
-Nvan megadva, de-Cnem, sqlcmd a kiszolgálótanúsítvány érvényesítését igényli. A titkosításfalseértéke továbbra is a bejelentkezési csomag titkosításához vezethet. - Ha
-Nés-Cis meg van adva, sqlcmd a titkosítási egyeztetéshez használja az értékeiket.
-d db_name
Az sqlcmd USE <db_name>indításakor egy utasítást ad ki. Ez a beállítás beállítja a sqlcmd szkriptelési változót SQLCMDDBNAME. Ez a paraméter a kezdeti adatbázist adja meg. Az alapértelmezett a bejelentkezéshez tartozó alapértelmezett adatbázis tulajdonsága. Ha az adatbázis nem létezik, hibaüzenet jelenik meg, és sqlcmd kilép.
-D
A -S számára megadott kiszolgálónevet gazdanév helyett DSN-ként értelmezi. További információ: DSN-támogatás az sqlcmd és a bcp esetében.
Note
A -D lehetőség csak Linux és macOS rendszerű ügyfeleken érhető el. Windows-ügyfeleken ez egy elavult beállításra utal, amelyet eltávolítottak, és figyelmen kívül hagyják.
-l bejelentkezési_időkorlát
Megadja, hogy hány másodperc telik el, mielőtt időtúllépés történik az sqlcmd ODBC-illesztőhöz való bejelentkezéskor, amikor megpróbál csatlakozni egy kiszolgálóhoz. Ez a beállítás beállítja a sqlcmd szkriptelési változót SQLCMDLOGINTIMEOUT. Az alapértelmezett időtúllépés az sqlcmd bejelentkezésnél 8 másodperc. Ha az Azure SQL Database-hez vagy az -G Azure Synapse Analyticshez való csatlakozást és a Microsoft Entra-azonosítóval történő hitelesítést választja, legalább 30 másodperces időtúllépési érték ajánlott. A bejelentkezési időtúllépésnek 0 és 65534közötti számnak kell lennie. Ha a megadott érték nem numerikus, vagy nem esik ebbe a tartományba, sqlcmd hibaüzenetet generál. A 0 értéke azt határozza meg, hogy az időtúllépés végtelen legyen.
-E
Megbízható kapcsolatot használ a felhasználónév és jelszó használata helyett az SQL Serverre való bejelentkezéshez. Alapértelmezés szerint -E megadása nélkül sqlcmd a megbízható kapcsolati lehetőséget használja.
A -E beállítás figyelmen kívül hagyja a felhasználónév és a jelszó környezeti változójának lehetséges beállításait, például a SQLCMDPASSWORD. Ha a -E beállítást a -U vagy a -P beállítással együtt használja, hibaüzenet jelenik meg.
Note
Az integrált hitelesítést linuxos vagy macOS-ügyfélről használó megbízható kapcsolatok létesítéséről további információt az Integrált hitelesítés használata című témakörben talál.
-g
Az oszloptitkosítás beállítása Enabled-ra. További információ: Always Encrypted. Csak a Windows tanúsítványtárolóban tárolt főkulcsok támogatottak. A -g beállításhoz legalább sqlcmd13.1-esverzió szükséges. A verzió meghatározásához hajtsa végre a(z) sqlcmd -?-et.
-G
Ezt a lehetőséget az ügyfél használja az Azure SQL Database-hez vagy az Azure Synapse Analyticshez való csatlakozáskor annak megadásához, hogy a felhasználó microsoft Entra-hitelesítéssel legyen hitelesítve. Ez a beállítás beállítja a sqlcmd szkriptelési változót SQLCMDUSEAAD = true. A -G beállításhoz legalább sqlcmd13.1-esverzió szükséges. A verzió meghatározásához hajtsa végre a(z) sqlcmd -?-et. További információ: Microsoft Entra-hitelesítés az Azure SQL-hez. A -A beállítás nem támogatott a -G beállítással.
A -G lehetőség csak az Azure SQL Database-re és az Azure Synapse Analyticsre vonatkozik.
A Microsoft Entra interaktív hitelesítése jelenleg nem támogatott Linux vagy macOS rendszeren. A Microsoft Entra integrált hitelesítéséhez az SQL Server 17.6.1-es vagy újabb verziójához és egy megfelelően konfigurált Kerberos-környezethezszükséges az ODBC-illesztőprogram letöltése.
A Microsoft Entra-hitelesítéssel kapcsolatos további információkért lásd: Hitelesítés a Microsoft Entra-azonosítóval az sqlcmd-ben.
-H workstation_name
Egy munkaállomás neve. Ez a beállítás beállítja a sqlcmd szkriptelési változót SQLCMDWORKSTATION. A munkaállomás neve a hostname katalógusnézet sys.sysprocesses oszlopában található, és a tárolt eljárás sp_whohasználatával adható vissza. Ha ez a beállítás nincs megadva, az alapértelmezett beállítás az aktuális számítógépnév. Ez a név különböző sqlcmd munkamenetek azonosítására használható.
-j
Nyers hibaüzeneteket jelenít meg a képernyőn.
-K application_intent
Deklarálja az alkalmazás számítási feladatainak típusát a kiszolgálóhoz való csatlakozáskor. Az egyetlen jelenleg támogatott érték a ReadOnly. Ha nincs megadva -K, sqlcmd nem támogatja a másodlagos replikával való kapcsolatot egy rendelkezésre állási csoportban. További információért lásd: Írásvédett számítási feladatok kiszervezése egy Always On rendelkezésre állási csoport másodlagos replikájára.
Note
-K A SUSE Linux Enterprise Server (SLES) nem támogatja. Az ApplicationIntent=ReadOnly átadott DSN-fájlban azonban megadhatja a kulcsszót. További információért lásd a cikk későbbi részében az sqlcmd és a bcp DSN-támogatását.
További információ: Magas rendelkezésre állás és vészhelyreállítás Linux és macOS rendszeren.
-M multisubnet_failover
A -M paramétert mindig adja meg, amikor csatlakozik egy SQL Server rendelkezésre állási csoport figyelőjéhez vagy egy SQL Server feladatátvételi fürt példányához.
-M gyorsabb észlelést és kapcsolatot biztosít az (jelenleg) aktív kiszolgálóval. Ha nincs megadva -M, -M ki van kapcsolva.
További információkért lásd:
- Csatlakozás Always On rendelkezésre állási csoport figyelőhöz
- Always On rendelkezésre állási csoportok létrehozásának és konfigurálásának referenciája
- Feladatátvételi fürtözés és az Always On rendelkezésre állási csoportok (SQL Server)
- Írásvédett számítási feladat áthelyezése egy Always On rendelkezésre állási csoport másodlagos replikájába
Note
-M A SUSE Linux Enterprise Server (SLES) nem támogatja. Az MultiSubnetFailover=Yes átadott DSN-fájlban azonban megadhatja a kulcsszót. További információért lásd a cikk későbbi részében az sqlcmd és a bcp DSN-támogatását.
További információ: Magas rendelkezésre állás és vészhelyreállítás Linux és macOS rendszeren.
-N[s|m|o]
Az ügyfél ezt a lehetőséget használja titkosított kapcsolat kéréséhez.
-N lehet o (a optional), m (az mandatoryalapértelmezett), vagy s (a strict). Ha nem adja meg -N, akkor -Nm lesz az alapértelmezett (a mandatory esetében). Ez az SQL Server 2022 (16.x) és a korábbi verziók kompatibilitástörő változása, ahol -No az alapértelmezett.
Az sqlcmd (Go) segédprogramhoz egy sztringértéket kell megadnia, ami lehet -N, true vagy false, hogy ezáltal meghatározza a titkosítási lehetőséget. (default ugyanaz, mint a paraméter kihagyása):
Ha nincs megadva
-Nés-C, sqlcmd a kiszolgálótanúsítvány érvényesítése nélkül egyezteti a kiszolgálóval a hitelesítést.Ha
-Nvan megadva, de-Cnem, sqlcmd a kiszolgálótanúsítvány érvényesítését igényli. A titkosításfalseértéke továbbra is a bejelentkezési csomag titkosításához vezethet.Ha
-Nés-Cis meg van adva, sqlcmd a titkosítási egyeztetéshez használja az értékeiket.Az sqlcmd (ODBC) fájlban adja
-Fmeg a gazdagép nevét a tanúsítványban. Például:sqlcmd -S server01 -Q "SELECT TOP 100 * FROM WideWorldImporters.Sales.Orders" -A -Ns -F server01.adventure-works.comNote
Ez eltér az
-Fsqlcmd (Go) kapcsolótól, amely az eredmények függőleges formátummal való nyomtatására szolgál.
-P jelszó
Felhasználó által megadott jelszó. A jelszavak megkülönböztetik a kis- és nagybetűket.
-U A beállítás használata esetén a rendszer nem használja a -P beállítást, és a SQLCMDPASSWORD környezeti változó nincs beállítva, az sqlcmd jelszó megadását kéri a felhasználótól. Nem javasoljuk null (üres) jelszó használatát, de a null jelszót a paraméter értékéhez ("") egy összefüggő idézőjelpár használatával adhatja meg.
Important
A -P használata nem biztonságos. Ne adja meg a jelszót a parancssorban. Másik lehetőségként használja a SQLCMDPASSWORD környezeti változót, vagy interaktívan adja meg a jelszót a -P lehetőség kihagyásával.
Javasoljuk, hogy használjon erős jelszót.
A jelszókérés a következő módon jelenik meg a konzolra való nyomtatással: Password:
A felhasználói bevitel el van rejtve. Ez azt jelenti, hogy semmi sem jelenik meg, és a kurzor a helyén marad.
A SQLCMDPASSWORD környezeti változó lehetővé teszi az aktuális munkamenet alapértelmezett jelszavának beállítását. Ezért a jelszavakat nem kell keményen kötegelt fájlokba kódolni. Az alábbi példa először beállítja a SQLCMDPASSWORD változót a parancssorban, majd hozzáfér az sqlcmd segédprogramhoz.
Írja be a következő parancsot a parancssorba. Cserélje le a <password> érvényes jelszóra.
SET SQLCMDPASSWORD=<password>
sqlcmd
SET SQLCMDPASSWORD=<password>
sqlcmd
SET SQLCMDPASSWORD=<password>
sqlcmd
Ha a felhasználónév és a jelszó kombinációja helytelen, hibaüzenet jelenik meg.
Note
A OSQLPASSWORD környezeti változó megmarad a visszamenőleges kompatibilitás érdekében. A SQLCMDPASSWORD környezeti változó elsőbbséget élvez a OSQLPASSWORD környezeti változóval szemben. Ez azt jelenti, hogy sqlcmd és osql interferencia nélkül használhatók egymás mellett. A régi szkriptek továbbra is működnek.
Ha a -P opciót a -E opcióval használja, hibaüzenet keletkezik.
Ha a -P beállítást egynél több argumentum követi, hibaüzenet jelenik meg, és a program kilép.
A speciális karaktereket tartalmazó jelszó hibaüzenetet hozhat létre. A speciális karaktereket el kell kerülni, amikor a -P-t használja, vagy inkább a SQLCMDPASSWORD környezeti változót kell használnia.
Linuxon és macOS rendszeren, ha a -G beállítás nélkül -Uvan használva, -P egy hozzáférési jogkivonatot tartalmazó fájlt (v17.8+) ad meg. A jogkivonatfájlnak UTF-16LE (nincs BOM) formátumúnak kell lennie.
A hozzáférési jogkivonatok különböző módszerekkel szerezhetők be. Meg kell győződnie arról, hogy a hozzáférési jogkivonat bájtról bájtra helyes, mert ezt as-isküldi el. Az alábbi példaparancs beolvas egy hozzáférési jogkivonatot. A parancs az Azure CLI- és Linux-parancsokat használja, és a megfelelő formátumban menti azt egy fájlba. Ha a rendszer vagy a terminál alapértelmezett kódolása nem ASCII vagy UTF-8, előfordulhat, hogy módosítania kell a iconv beállításait. Ügyeljen arra, hogy gondosan biztosítsa az eredményül kapott fájlt, és törölje, ha már nincs rá szükség.
az account get-access-token --resource https://database.windows.net --output tsv | cut -f 1 | tr -d '\n' | iconv -f ascii -t UTF-16LE > /tmp/tokenFile
-S [protokoll:]kiszolgáló[\instance_name][,port]
Megadja az SQL Server azon példányát, amelyhez csatlakozni szeretne. Beállítja a sqlcmd szkriptelési változót SQLCMDSERVER.
Adja meg a server_name az SQL Server alapértelmezett példányához való csatlakozáshoz az adott kiszolgálószámítógépen. Adja meg server_name[\instance_name] parancsot az SQL Server egy nevesített példányához való csatlakozáshoz a kiszolgálón. Ha nincs megadva kiszolgálószámítógép, sqlcmd csatlakozik a helyi számítógépen található SQL Server alapértelmezett példányához. Ez a beállítás akkor szükséges, ha sqlcmd-t hajt végre egy távoli számítógépről a hálózaton keresztül.
protokoll lehet tcp (TCP/IP), lpc (megosztott memória) vagy np (elnevezett csövek).
Ha nem ad meg server_name[\instance_name] értéket az sqlcmd indításakor, az SQL Server a SQLCMDSERVER környezeti változót ellenőrzi és használja.
Note
A OSQLSERVER környezeti változó megmarad a visszamenőleges kompatibilitás érdekében. A SQLCMDSERVER környezeti változó elsőbbséget élvez a OSQLSERVER környezeti változóval szemben. Ez azt jelenti, hogy sqlcmd és osql interferencia nélkül használhatók egymás mellett. A régi szkriptek továbbra is működnek.
A Linuxon és macOS-en futó ODBC-illesztőhöz szükséges -S. Az egyetlen érvényes protokollérték a .tcp
-U login_id
A bejelentkezési név vagy az adatbázisba foglalt felhasználónév. A tartalmazott adatbázis felhasználóinak meg kell adniuk az adatbázis neve opciót (-d).
Note
A OSQLUSER környezeti változó megmarad a visszamenőleges kompatibilitás érdekében. A SQLCMDUSER környezeti változó elsőbbséget élvez a OSQLUSER környezeti változóval szemben. Ez azt jelenti, hogy sqlcmd és osql interferencia nélkül használhatók egymás mellett. A régi szkriptek továbbra is működnek.
Ha nem adja meg a -U vagy a -P beállítást, sqlcmd a Windows hitelesítési móddal próbál csatlakozni. A hitelesítés az sqlcmd futtató felhasználó Windows-fiókján alapul.
Ha a -U beállítást használja a -E lehetőséggel (a cikk későbbi részében ismertetjük), hibaüzenet jön létre. Ha a -U beállítást egynél több argumentum követi, hibaüzenet jelenik meg, és a program kilép.
-z new_password
Módosítsa a jelszót. Cserélje le <oldpassword> a régi jelszóra, és <newpassword> az új jelszóra.
sqlcmd -U someuser -P <oldpassword> -z <newpassword>
sqlcmd -U someuser -P <oldpassword> -z <newpassword>
sqlcmd -U someuser -P <oldpassword> -z <newpassword>
-Z new_password
Módosítsa a jelszót, és lépjen ki. Cserélje le <oldpassword> a régi jelszóra, és <newpassword> az új jelszóra.
sqlcmd -U someuser -P <oldpassword> -Z <newpassword>
sqlcmd -U someuser -P <oldpassword> -Z <newpassword>
sqlcmd -U someuser -P <oldpassword> -Z <newpassword>
Bemeneti/kimeneti beállítások
-f codepage | i:codepage[,o:codepage] | o:codepage[,i:codepage]
Megadja a bemeneti és kimeneti kódlapokat. A kódlapszám egy numerikus érték, amely egy telepített Windows-kódlapot határoz meg.
Kódlapkonvertálási szabályok:
Ha nincs megadva kódlap, sqlcmd az aktuális kódlapot használja mind a bemeneti, mind a kimeneti fájlokhoz, kivéve, ha a bemeneti fájl Unicode-fájl, amely esetben nincs szükség átalakításra.
sqlcmd automatikusan felismeri a big endian és a little-endian Unicode bemeneti fájlokat is. Ha a
-ubeállítás meg van adva, a kimenet mindig kis endian Unicode.Ha nincs megadva kimeneti fájl, a kimeneti kódlap a konzol kódlapja. Ezzel a módszerrel a kimenet megfelelően jelenik meg a konzolon.
A rendszer feltételezi, hogy több bemeneti fájl is ugyanahhoz a kódlaphoz tartoznak. Unicode- és nem Unicode-bemeneti fájlok keverhetők.
Írja be chcp a parancssorba a cmd.exekódlapjának ellenőrzéséhez.
Note
Linux rendszeren a kódlapszám egy numerikus érték, amely egy telepített Linux-kódlapot határoz meg (amely a 17.5.1.1-es verzió óta érhető el).
-F hostname_in_certificate
Egy másik, várt köznapi nevet (CN) vagy tulajdonosi alternatív nevet (SAN) ad meg a kiszolgálótanúsítványban, amelyet a kiszolgálótanúsítvány érvényesítése során használni szeretne. E beállítás nélkül a tanúsítvány érvényesítése biztosítja, hogy a tanúsítvány cn vagy SAN értéke megegyezik a kiszolgáló nevével, amelyhez csatlakozik. Ez a paraméter akkor tölthető ki, ha a kiszolgáló neve nem felel meg a CN-nek vagy a SAN-nak, például DNS-aliasok használatakor.
-i input_file[,input_file2...]
Azonosítja azt a fájlt, amely Transact-SQL utasítások vagy tárolt eljárások kötegét tartalmazza. Több fájl is megadható, amelyek olvasása és feldolgozása sorrendben történik. Ne használjon szóközöket a fájlnevek között.
sqlcmd először ellenőrzi, hogy az összes megadott fájl létezik-e. Ha egy vagy több fájl nem létezik, sqlcmd kilép. A -i és a -Q/-q lehetőségek kölcsönösen kizárják egymást.
Note
Ha egy -i vagy több további paramétert követő beállítást használ, akkor szóközt kell használnia a paraméter és az érték között. Ez egy ismert probléma a sqlcmd (Go) esetében.
Elérésiút-példák:
-i C:\<filename>
-i \\<Server>\<Share$>\<filename>
-i "C:\Some Folder\<file name>"
A szóközöket tartalmazó fájl elérési útjait idézőjelek közé kell foglalni.
Ez a beállítás többször is használható:
sqlcmd -i <input_file1> -i <input_file2>
sqlcmd -i <input_file1> -i <input_file2>
sqlcmd -i <input_file1> -i <input_file2>
-o output_file
Az sqlcmd kimenetét fogadó fájlt azonosítja.
Ha -u van megadva, a output_file Unicode formátumban lesz tárolva. Ha a fájlnév érvénytelen, hibaüzenet jelenik meg, és sqlcmd kilép.
sqlcmd nem támogatja több sqlcmd folyamat egyidejű írását ugyanarra a fájlra. A fájlkimenet sérült vagy helytelen. A -f lehetőség a fájlformátumok szempontjából is fontos. Ez a fájl akkor jön létre, ha nem létezik. Egy korábbi sqlcmd munkamenet azonos nevű fájlja felülíródik. Az itt megadott fájl nem a stdout fájl. Ha egy stdout fájl van megadva, a rendszer nem használja ezt a fájlt.
Elérésiút-példák:
-o C:< filename>
-o \\<Server>\<Share$>\<filename>
-o "C:\Some Folder\<file name>"
A szóközöket tartalmazó fájl elérési útjait idézőjelek közé kell foglalni.
-r[0 | 1]
Átirányítja a hibaüzenet kimenetét a képernyőre (stderr). Ha nem ad meg paramétert, vagy ha 0ad meg, csak a 11-es vagy annál magasabb súlyosságú hibaüzenetek lesznek átirányítva. Ha 1ad meg, a rendszer átirányítja az összes hibaüzenet kimenetét, beleértve a PRINT is. Ez a beállítás nincs hatással a -ohasználata esetén. Alapértelmezés szerint a rendszer stdoutküld üzeneteket.
Note
Az sqlcmd (Go) segédprogramhoz -r0 vagy 1 argumentum szükséges.
-R
Csak a következőkre vonatkozik: ODBC sqlcmd.
Az sqlcmd lokalizálja az SQL Serverről az ügyfél területi beállításai alapján lekért numerikus, pénznem-, dátum- és időoszlopokat. Alapértelmezés szerint ezek az oszlopok a kiszolgáló területi beállításaival jelennek meg.
Note
Linuxon és macOS rendszeren -R jelenleg csak (amerikai angol) formázást használ en_US .
-u
Megadja, hogy a output_file Unicode formátumban legyen tárolva, a input_fileformátumától függetlenül.
Note
Az sqlcmd (Go) segédprogram esetén a létrehozott Unicode kimeneti fájlhoz az UTF-16 Little-Endian bájtsorrendi jel (BOM) kerül írásra.
Lekérdezés-végrehajtási beállítások
-e
Bemeneti szkripteket ír a szabványos kimeneti eszközre (stdout).
-I
Csak a következőkre vonatkozik: ODBC sqlcmd.
Beállítja a SET QUOTED_IDENTIFIER kapcsolat opciót ON-re. Az alapértelmezett beállítás: OFF. További információ: SET QUOTED_IDENTIFIER.
Note
Ha le szeretné tiltani az idézett azonosító viselkedését az sqlcmd (Go) segédprogramban, adjon hozzá SET QUOTED IDENTIFIER OFF a szkriptekhez.
-q "parancsmag-lekérdezés"
Lekérdezést hajt végre az sqlcmd indításakor, de nem lép ki az sqlcmd-ből , amikor a lekérdezés befejeződött. Több pontosvessző által tagolt lekérdezés is végrehajtható. Használjon idézőjeleket a lekérdezés körül az alábbi példában látható módon.
A parancssorba írja be a következőt:
sqlcmd -d AdventureWorks2022 -q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
sqlcmd -d AdventureWorks2022 -q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
sqlcmd -d AdventureWorks2022 -q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
Important
Ne használja a GO terminátort a lekérdezésben.
Ha -b van megadva ezzel a beállítással együtt, sqlcmd hiba esetén kilép.
-b című cikket máshol ismertetjük.
-Q "parancsmag-lekérdezés"
Lekérdezést hajt végre, amikor sqlcmd elindul, majd azonnal kilép sqlcmd. Többszörös pontosvesszővel elválasztott lekérdezések végrehajthatók.
Használjon idézőjeleket a lekérdezés körül az alábbi példában látható módon.
A parancssorba írja be a következőt:
sqlcmd -d AdventureWorks2022 -Q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -Q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
sqlcmd -d AdventureWorks2022 -Q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -Q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
sqlcmd -d AdventureWorks2022 -Q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -Q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
Important
Ne használja a GO terminátort a lekérdezésben.
Ha -b van megadva ezzel a beállítással együtt, sqlcmd hiba esetén kilép.
-b című cikket máshol ismertetjük.
-t query_timeout
Meghatározza, hogy egy parancs (vagy Transact-SQL utasítás) hány másodperc után lép időtúllépésbe. Ez a beállítás az sqlcmd szkriptelési változót SQLCMDSTATTIMEOUTállítja be. Ha nincs megadva query_timeout érték, a parancs nem lép időtúllépésbe. A query_timeout1 és 65534 közötti számnak kell lennie. Ha a megadott érték nem numerikus, vagy nem ebbe a tartományba esik, sqlcmd hibaüzenetet generál.
Note
A tényleges időtúllépési érték néhány másodperccel eltérhet a megadott query_timeout értéktől.
-v var = érték [ var = érték... ]
Csak Windowsra érvényes. A Linux és a macOS nem támogatott.
Létrehoz egy sqlcmd szkriptelési változót, amely használható egy sqlcmd szkriptben.
- Windows
-
Linux és macOS
Ha az érték szóközöket tartalmaz, akkor idézőjelek közé foglalja az értéket. Több <var>="<value>" értéket is megadhat. Ha a megadott értékek bármelyikében hiba lép fel, sqlcmd hibaüzenetet generál, majd kilép.
sqlcmd -v MyVar1=something MyVar2="some thing"
sqlcmd -v MyVar1=something -v MyVar2="some thing"
sqlcmd -v MyVar1=something MyVar2="some thing"
sqlcmd -v MyVar1=something -v MyVar2="some thing"
sqlcmd -v MyVar1=something MyVar2="some thing"
sqlcmd -v MyVar1=something -v MyVar2="some thing"
-x
Az sqlcmd a szkriptelési változók figyelmen kívül hagyását okozza. Ez a paraméter akkor hasznos, ha egy szkript számos olyan INSERT utasítást tartalmaz, amelyek olyan sztringeket tartalmazhatnak, amelyek formátuma megegyezik a normál változókkal, például $(<variable_name>).
Formázási beállítások
-h fejlécek
Megadja az oszlopfejlécek között nyomtatandó sorok számát. Az alapértelmezett beállítás a fejlécek nyomtatása minden lekérdezési eredménykészlethez. Ez a beállítás beállítja a sqlcmd szkriptelési változót SQLCMDHEADERS. A -1 használatával megadhatja, hogy a fejlécek ne legyenek kinyomtatva. Minden érvénytelen érték miatt sqlcmd hibaüzenetet generál, majd kilép.
-k [1 | 2]
Eltávolítja az összes vezérlőkaraktert, például a tabulátorokat és az új sorkaraktereket a kimenetből. Ez a paraméter megőrzi az oszlopformázást az adatok visszaadásakor.
-
-keltávolítja a vezérlőkaraktereket. -
-k1minden vezérlőkaraktert lecserél egy szóközre. -
-k2az egymást követő vezérlőkaraktereket egyetlen szóközre cseréli.
-s col_separator
Az oszlopelválasztó karaktert adja meg. Az alapértelmezett érték egy üres terület. Ez a beállítás beállítja a sqlcmd szkriptelési változót SQLCMDCOLSEP. Ha olyan karaktereket szeretne használni, amelyek különleges jelentéssel bírnak az operációs rendszer számára, például az ampersand (&) vagy pontosvessző (;), idézőjelek közé (") foglalja a karaktert. Az oszlopelválasztó bármilyen 8 bites karakter lehet.
-w screen_width
Megadja a kimenet képernyőszélességét. Ez a beállítás beállítja a sqlcmd szkriptelési változót SQLCMDCOLWIDTH. Az oszlopszélességnek 8-nél nagyobb és 65536-nél kisebb számnak kell lennie. Ha a megadott oszlopszélesség nem esik ebbe a tartományba, sqlcmd hibaüzenetet hoz létre. Az alapértelmezett szélesség 80 karakter. Ha egy kimeneti sor túllépi a megadott oszlopszélességű értéket, az a következő sorra tördel.
-W
Ez a beállítás eltávolítja a záró szóközöket egy oszlopból. Ezt a lehetőséget a -s beállítással együtt használhatja egy másik alkalmazásba exportálandó adatok előkészítésekor. Nem használható a -y vagy -Y beállításokkal.
-y változó_hossz_típus_megjelenítési_szélesség
Beállítja sqlcmd szkriptelési változót SQLCMDMAXVARTYPEWIDTH. Az alapértelmezett érték a 256. Korlátozza a nagy változóhosszúságú adattípusokhoz visszaadott karakterek számát:
- varchar(max)
- nvarchar(max)
- varbinary(max)
- xml
- felhasználó által definiált adattípusok (UDT-k)
- text
- ntext
- image
Az UDT-k a megvalósítástól függően rögzített hosszúságúak lehetnek. Ha egy rögzített hosszúságú UDT rövidebb, mint display_width, a visszaadott UDT értéke nem lesz hatással. Ha azonban a hossz hosszabb, mint display_width, a kimenet csonkolt lesz.
Caution
Használja a -y 0 lehetőséget rendkívül óvatosan, mert a visszaadott adatok méretétől függően jelentős teljesítményproblémákat okozhat mind a kiszolgálón, mind a hálózaton.
-Y fixed_length_type_display_width
Beállítja sqlcmd szkriptelési változót SQLCMDMAXFIXEDTYPEWIDTH. Az alapértelmezett érték a 0 (korlátlan). A következő adattípusokhoz visszaadott karakterek számát korlátozza:
- karakter (n), ahol 1 <≤ n< ≤ 8000
- nchar(n), ahol 1 <= n<= 4000
- varchar(n), ahol 1 <= n<= 8000
- nvarchar(n), ahol 1 <= n<= 4000
- varbinary(n), ahol 1 <= n<= 4000
- sql_variant
Hibajelentési lehetőségek
-b
Megadja, hogy sqlcmd kilép, és hiba esetén DOS ERRORLEVEL értéket ad vissza. A ERRORLEVEL változónak visszaadott érték 1, ha az SQL Server hibaüzenetének súlyossági szintje 10-nél nagyobb; ellenkező esetben a visszaadott érték 0. Ha a -V beállítás be van állítva, az -bsqlcmd nem jelent hibát, ha a súlyossági szint alacsonyabb, mint a használt -Vértékek. A parancssori kötegfájlok tesztelhetik a ERRORLEVEL értékét, és megfelelően kezelhetik a hibát.
sqlcmd nem jelzi a 10-es súlyossági szintű (tájékoztató üzenetek) hibákat.
Ha a sqlcmd szkript helytelen megjegyzést, vagy szintaxishibát tartalmaz, vagy hiányzik belőle egy szkriptelési változó, a visszaadott eredmény ERRORLEVEL1.
-m error_level
Ez a funkció szabályozza, hogy mely hibaüzeneteket küldi a rendszer a stdout-ra. A rendszer olyan üzeneteket küld, amelyek súlyossági szintje nagyobb vagy egyenlő ennél a szintnél. Ha ez az érték -1értékre van állítva, a rendszer minden üzenetet elküld, beleértve az információs üzeneteket is. A -m és a -1között nem engedélyezett szóközök használata. Például -m-1 érvényes, és -m -1 nem.
Ez a beállítás a sqlcmd szkriptelési változót is beállítja SQLCMDERRORLEVEL. Ez a változó alapértelmezett értéke 0.
-V hiba_súlyossági_szint
A ERRORLEVEL változó beállításához használt súlyossági szintet szabályozza. A ERRORLEVELmegadott értéknél nagyobb vagy azzal egyenlő súlyossági szinttel rendelkező hibaüzenetek. A 0-nál kisebb értékek 0ként jelennek meg. A Batch- és CMD-fájlok a ERRORLEVEL változó értékének tesztelésére használhatók.
Egyéb beállítások
-a packet_size
Eltérő méretű csomagot kér. Ez a beállítás beállítja a sqlcmd szkriptelési változót SQLCMDPACKETSIZE.
packet_size512 és 32767közötti értéknek kell lennie. Az alapértelmezett érték a 4096. A nagyobb csomagméret javíthatja azon szkriptek végrehajtását, amelyek GO parancsok között sok Transact-SQL utasítással rendelkeznek. Nagyobb csomagméretet kérhet. Ha azonban a kérés megtagadva, sqlcmd a kiszolgáló alapértelmezett csomagméretét használja.
-c batch_terminator
A köteg terminátorát adja meg. Alapértelmezés szerint a parancsok leállnak, és az SQL Serverre küldik a GO szót egy sorba beírva. A kötegfolyamat lezáró visszaállításakor ne használjon Transact-SQL fenntartott kulcsszavakat vagy az operációs rendszer számára speciális jelentéssel bíró karaktereket. Még akkor sem, ha fordított perjellel vannak megelőzve.
-L[c]
Csak Windowsra érvényes. A Linux és a macOS nem támogatott.
Felsorolja a helyileg konfigurált kiszolgálószámítógépeket, valamint a hálózaton sugárzott kiszolgálószámítógépek nevét. Ez a paraméter nem használható más paraméterekkel kombinálva. A felsorolt kiszolgálói számítógépek maximális száma 3000. Ha a kiszolgálólista a puffer mérete miatt csonkolódik, figyelmeztető üzenet jelenik meg.
Note
A hálózatokon való műsorszórás jellege miatt előfordulhat, hogy sqlcmd nem kap időben választ az összes kiszolgálótól. Ezért a visszaadott kiszolgálók listája ennek a beállításnak minden egyes meghívása esetén eltérő lehet.
Ha az opcionális paraméter c van megadva, a kimenet a Servers: fejlécsor nélkül jelenik meg, és minden kiszolgálósor bevezető szóközök nélkül jelenik meg. Ezt a bemutatót tiszta kimenetnek nevezzük. A tiszta kimenet javítja a szkriptnyelvek feldolgozási teljesítményét.
-p[1]
Minden eredményhalmaz teljesítménystatisztikáit nyomtatja ki. Az alábbi megjelenítés a teljesítménystatisztikák formátumára mutat példát:
Network packet size (bytes): n
x xact[s]:
Clock Time (ms.): total t1 avg t2 (t3 xacts per sec.)
Where:
-
x= Az SQL Server által feldolgozott tranzakciók száma. -
t1= Az összes tranzakció teljes ideje. -
t2= Egyetlen tranzakció átlagos ideje. -
t3= A másodpercenkénti tranzakciók átlagos száma.
Minden időezredmásodpercben van.
Ha meg van adva az opcionális 1 paraméter, a statisztikai adatok kimeneti formátuma kettősponttal elválasztott formátumban van, amely könnyen importálható egy számolótáblába vagy egy szkripttel feldolgozható.
Ha az opcionális paraméter nem 1érték, a rendszer hibát generál, és sqlcmd kilép.
-X[1]
Azokat a parancsokat tiltja le, amelyek veszélyeztethetik a rendszer biztonságát, amikor a sqlcmd kötegfájlból lesz végrehajtva. A letiltott parancsok továbbra is felismerve vannak; sqlcmd figyelmeztetést ad ki, és folytatódik. Ha meg van adva az opcionális 1 paraméter, sqlcmd hibaüzenetet generál, majd kilép. A -X beállítás használatakor a következő parancsok lesznek letiltva:
ED-
!!parancs
Ha a -X beállítás meg van adva, megakadályozza a környezeti változók átadását sqlcmd. Emellett megakadályozza a SQLCMDINI szkriptelési változóval megadott indítási szkript végrehajtását. Az sqlcmd szkriptelési változók további információ: sqlcmd – Használat szkriptelési változókkal.
-?
Megjeleníti az sqlcmd verzióját és egy összefoglalót a sqlcmd szintaxis opcióiról.
Note
MacOS rendszeren futtassa inkább a sqlcmd '-?' (idézőjelekkel).
Remarks
A beállításokat nem kell használni a szintaxis szakaszban látható sorrendben.
Note
Ha egy -i vagy több további paramétert követő beállítást használ, akkor szóközt kell használnia a paraméter és az érték között. Ez egy ismert probléma a sqlcmd (Go) esetében.
Ha több eredményt ad vissza, sqlcmd egy üres sort nyomtat ki a köteg egyes eredményhalmazai között. Ezenkívül a <x> rows affected üzenet nem jelenik meg, ha az nem vonatkozik a végrehajtott utasításra.
Ha interaktívan szeretné használni sqlcmd, írja be a parancssorba a sqlcmd a cikkben korábban ismertetett lehetőségek bármelyikével. További információ: Az sqlcmd használata.
Note
A beállítások -l, -Q, -Z vagy -isqlcmd kilépését okozzák a végrehajtás után.
Az sqlcmd parancssori teljes hosszát (például cmd.exe vagy bash) az alapul szolgáló operációs rendszer határozza meg, beleértve az összes argumentumot és kiterjesztett változót.
DSN-támogatás sqlcmd és bcp esetén
Az sqlcmd vagy a bcp -S opció (vagy a sqlcmd :Connect parancs) esetében megadhatja az adatforrás nevét (DSN) a kiszolgáló neve helyett, ha a -D van megadva.
-D lehetővé teszi, hogy az sqlcmd vagy a bcp a -S opció által a DSN-ben megadott kiszolgálóhoz csatlakozzon.
A rendszer DSN-jei a odbc.ini fájlban vannak tárolva az ODBC SysConfigDir könyvtárban (/etc/odbc.ini standard telepítések esetén). A felhasználói DSN-eket a rendszer egy felhasználó kezdőkönyvtárában .odbc.ini (~/.odbc.ini) tárolja.
Windows rendszereken a rendszer- és felhasználói DSN-ek a beállításjegyzékben vannak tárolva, és a odbcad32.exe segítségével kezelhetők.
A bcp és az sqlcmd nem támogatja a fájlDSN-eket.
Az illesztőprogram által támogatott bejegyzések listáját a DSN és kapcsolatsztring kulcsszavak és attribútumok között találja.
A DSN-ben csak a DRIVER bejegyzésre van szükség, de egy távoli kiszolgálóhoz való csatlakozáshoz az sqlcmd vagy a bcp értékre van szüksége az SERVER elemben. Ha az SERVER elem üres vagy nem található a DSN-ben, az sqlcmd és a bcp megpróbál csatlakozni a helyi rendszer alapértelmezett példányához.
Ha a bcp-t Windows rendszereken használja, az SQL Server 2017 (14.x) és a korábbi verziók megkövetelik az SQL Native Client 11 illesztőprogramot (sqlncli11.dll), míg az SQL Server 2019 (15.x) és újabb verziókhoz az SQL Server-illesztőprogramhozmsodbcsql17.dll () készült Microsoft ODBC Driver 17 szükséges.
Ha a DSN-ben és az sqlcmd vagy bcp parancssorban is ugyanez a beállítás van megadva, a parancssori beállítás felülírja a DSN-ben használt értéket. Ha például a DSN tartalmaz egy bejegyzést DATABASE , és az sqlcmd parancssor tartalmazza -d, a rendszer az átadott -d értéket használja. Ha Trusted_Connection=yes a DSN-ben meg van adva, a rendszer Kerberos-hitelesítést használ; a rendszer figyelmen kívül hagyja a felhasználónevet (-U) és a jelszót (-Pha meg van adva).
Az isql használatára meghívható meglévő szkriptek a következő alias definiálásával módosíthatók: alias isql="sqlcmd -D".
sqlcmd – ajánlott eljárások
Az alábbi eljárásokkal maximalizálhatja a biztonságot és a hatékonyságot.
Integrált biztonság használata.
Használjon
-X[1]automatizált környezetekben.A bemeneti és kimeneti fájlok biztonságossá tételéhez használja a megfelelő fájlrendszer-engedélyeket.
A teljesítmény növelése érdekében egy sqlcmd munkamenetben végezze el a lehető legtöbb műveletet a munkamenetek sorozata helyett.
Állítsa be a köteg vagy lekérdezés végrehajtási időkorlátját az előrejelzettnél hosszabbra, hogy biztosítsa a köteg vagy lekérdezés sikeres végrehajtását.
A helyesség maximalizálása érdekében használja az alábbi eljárásokat:
A
-V 16használatával naplózhatja a súlyosságú 16 szintű üzeneteket. A 16-os súlyosságú üzenetek olyan általános hibákat jeleznek, amelyeket a felhasználó kijavíthat.Ellenőrizze a kilépési kódot és
DOS ERRORLEVELa változót a folyamat kilépése után. sqlcmd általában0ad vissza, ellenkező esetben aERRORLEVELáltal konfigurált-Vállítja be. Más szóval aERRORLEVELvárhatóan nem lesz ugyanaz az érték, mint az SQL Serverről jelentett hibaszám. A hibaszám egy SQL Server-specifikus érték, amely megfelel a rendszerfüggvény @@ERROR.ERRORLEVELegy sqlcmd-specifikus érték, amely jelzi, hogy miért sqlcmd leállt, és értékét-bparancssori argumentum megadásával befolyásolja.
A -V 16-nak a kilépési kód és a DOS ERRORLEVEL ellenőrzésével együtt történő használata segíthet az automatizált környezetekben a hibák észlelésében, különösen az éles kiadás előtti minőségi kapuknál.
Kapcsolódó tartalom
- Az sqlcmd segédprogram telepített verziójának ellenőrzése
- Az sqlcmd segédprogram letöltése és telepítése
- Az sqlcmd segédprogram parancsai
- Sqlcmd használata szkriptelési változókkal
- Gyors kezdés: SQL Server Linux-konténerképek futtatása a Dockerrel
- Az sqlcmd segédprogram indítása
- T-SQL végrehajtása szkriptfájlból sqlcmd használatával
- Az sqlcmd használata
- Csatlakozás SQL Serverhez sqlcmd használatával
- SQLCMD-szkriptek szerkesztése a Lekérdezésszerkesztővel
- CmdExec-feladatlépés létrehozása