Megosztás a következőn keresztül:


sqlcmd segédprogram

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database a Microsoft Fabric

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.

Jegyzet

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ő.

Megtudhatja, hogy melyik verziót telepítette

Az sqlcmd két verziója létezik:

  • A go-mssqldb-alapú sqlcmd, néha go-sqlcmdstílusú. Ez a verzió egy önálló eszköz, amelyet az SQL Servertől függetlenül tölthet le.

  • Az ODBC-alapú sqlcmd, amely az SQL Serverrel vagy a Microsoft parancssori segédprogramokkal érhető el, valamint a linuxos mssql-tools csomag része.

A telepített verzió meghatározásához futtassa a következő utasítást a parancssorban:

sqlcmd "-?"
sqlcmd "-?"
sqlcmd -?

Ha sqlcmd (Go) új verzióját használja, a kimenet a következő példához hasonló:

Version: 1.8.2

Verzió ellenőrzése

A sqlcmd --version segítségével meghatározhatja, hogy melyik verzió van telepítve. Legalább 1.0.0-s verzióval kell rendelkeznie.

Fontos

A csomagkezelőn keresztül történő sqlcmd (Go) telepítése a környezeti útvonalon lecseréli a sqlcmd (ODBC)-t sqlcmd (Go)-ra. A módosítás érvénybe lépéséhez be kell zárnia és újra meg kell nyitnia az aktuális parancssori munkameneteket. Az sqlcmd (ODBC) nincs eltávolítva, és továbbra is használható a végrehajtható fájl teljes elérési útjának megadásával. A PATH változót is frissítheti, hogy jelezze, melyik elsőbbséget élvezi. Ehhez a Windows 11-ben nyissa meg a Rendszerbeállításokat, és lépjen a Névjegy > Speciális rendszerbeállításokrészhez. Amikor megnyílik rendszertulajdonságok, válassza a Környezeti változók gombot. Az alsó részén, a Rendszerváltozókalatt válassza az Elérési út lehetőséget, majd a Szerkesztésparancsot. Ha a helyen található sqlcmd (Go) a (C:\Program Files\sqlcmd az alapértelmezett) van felsorolva a C:\Program Files\Microsoft SQL Server\<version>\Tools\Binnelőtt, akkor a sqlcmd (Go) kerül használatra. Megfordíthatja a sorrendet, hogy sqlcmd (ODBC) legyen ismét az alapértelmezett.

Az sqlcmd letöltése és telepítése

sqlcmd (Go) platformfüggetlenül telepíthető Microsoft Windows, macOS és Linux rendszereken. Előfordulhat, hogy az 1.6-nál újabb verziók nem minden csomagkezelőben érhetők el. A rendelkezésre állásukhoz még nincs becsült dátum.

winget (Windows Package Manager CLI)

  1. Amennyiben még nem rendelkezik vele, telepítse a Windows Package Manager klienst.

  2. Futtassa a következő parancsot sqlcmd (Go) telepítéséhez.

    winget install sqlcmd
    

Csokoládés

  1. Telepítse Chocolatey, ha még nincs telepítve.

  2. Futtassa a következő parancsot sqlcmd (Go) telepítéséhez.

    choco install sqlcmd
    

Közvetlen letöltés

  1. Töltse le a megfelelő -windows-amd64.zip vagy -windows-arm.zip objektumot az sqlcmd (Go) legújabb kiadásából a GitHub kódtárából.

  2. Bontsa ki a sqlcmd.exe fájlt a letöltött zip mappából.

Előre telepített

Azure Cloud Shell

Az Azure Cloud Shellből kipróbálhatja az sqlcmd segédprogramot, mivel alapértelmezés szerint előre telepítve van:

Azure Data Studio

Azure Data Studioalkalmazásban az SQLCMD utasítások futtatásához válassza a szerkesztő eszköztárában a SQLCMD engedélyezése opciót.

SQL Server Management Studio (SSMS)

Ha SQLCMD-utasításokat szeretne futtatni SQL Server Management Studio (SSMS) alkalmazásban, válassza az SQLCMD módot a felső navigációs Lekérdezés menü legördülő listájából.

Az SSMS a Microsoft .NET-keretrendszer SqlClient-t használja a végrehajtáshoz rendszeres és SQLCMD módban a Lekérdezésszerkesztőben . Ha sqlcmd fut a parancssorból, sqlcmd az ODBC-illesztőt használja. Mivel különböző alapértelmezett beállítások alkalmazhatók, eltérő viselkedés jelenhet meg, amikor ugyanazt a lekérdezést sqlCMD módban és az sqlcmd segédprogramban hajtja végre az SSMS-ben.

TDS 8.0-támogatás

Az SQL Server 2025 (17.x) előzetes verziója bemutatja az sqlcmd segédprogram TDS 8.0-s támogatását.

Szintaxis

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 -P kapcsoló 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 SQLCMDPASSWORD környezeti változó
    • A :CONNECT parancs
    • Amikor a rendszer kéri, a felhasználó beírhatja a jelszót a kapcsolat befejezéséhez
  • -r 0 vagy 1 argumentumot igényel

  • -R kapcsoló el lesz távolítva.

  • -I kapcsoló 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.

  • -N egy sztringértéket vesz fel, amely lehet az egyik true, falsevagy disable a titkosítási választás megadásához. (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 -N van megadva, de -C nem, sqlcmd a kiszolgálótanúsítvány érvényesítését igényli. A titkosítás false értéke továbbra is a bejelentkezési csomag titkosításához vezethet.
    • Ha -N és -C is 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.

    Fontos

    Az SQL Server 2025 (17.x) előzetes verziójában a -N lehet o (a optional-hez), m (az alapértelmezett mandatory-hez) vagy s (a strict-hez). Ha nem adja meg -N, akkor -Nm lesz az alapértelmezett (a mandatory esetében). Ez egy jelentős változás az SQL Server 2022 (16.x) és a korábbi verziókhoz képest.

  • -u A 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 OSQL fenntartá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 a EXIT(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.

Erősítés

  • :Connectválasztható -G paramé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 -G nincs megadva, a rendszer integrált biztonságot vagy SQL Server-hitelesítést használ egy -U felhasználóneves paraméter meglététől függően.

  • A --driver-logging-level parancssori paraméter lehetővé teszi a nyomkövetések megtekintését az go-mssqldb illesztőprogramból. A 64 haszná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 vertical parancssori kapcsolót. A SQLCMDFORMAT szkriptelési változó is szabályozza azt.

    Jegyzet

    Ez eltér az -Fsqlcmd (ODBC) címkétől, ami -N a tanúsítvány gazdagépnevének megadására szolgál.

Parancssori beállítások

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.

Parancssori lehetőség Windows rendszeren támogatott Linux és macOS rendszeren támogatott
Bejelentkezéssel kapcsolatos beállítások
-Egy Igen Nem
-C Igen Igen
-d db_name Igen Igen
-D Igen Igen
-l bejelentkezési_időtúllépés Igen Igen
-E Igen Igen
-g Igen Igen
-G Igen Igen
-H workstation_name Igen Igen
-j Igen Igen
-K alkalmazási_szándék Igen Igen
-M multisubnet_failover Igen Igen
-N Igen Igen
-P jelszó Igen Igen
-S [protokoll:]kiszolgáló[\instance_name][,port] Igen Igen
-U login_id Igen Igen
-z new_password Igen Igen
-Z new_password Igen Igen
Bemeneti/kimeneti beállítások
-f codepage | i:codepage[,o:codepage] | o:codepage[,i:codepage] Igen Igen
-i input_file[,input_file2...] Igen Igen
-o kimeneti_fájl Igen Igen
-r[0 | 1] Igen Igen
-R Igen Igen
-u Igen Igen
Lekérdezés-végrehajtási beállítások
-e Igen Igen
-Én Igen Igen
-q "cmdline query" Igen Igen
-Q "cmdline query" Igen Igen
-t query_timeout Igen Igen
-v var = érték [ var = érték... ] Igen Nem
-x Igen Igen
Formázási beállítások
-h fejlécek Igen Igen
-k [1 | 2] Igen Igen
-s col_separator Igen Igen
-w screen_width Igen Igen
-W Igen Igen
-y változó_hosszúságú_típus_megjelenítési_szélesség Igen Igen
-Y fix hosszúságú típus megjelenítési szélessége Igen Igen
Hibajelentési lehetőségek
-b Igen Igen
-m error_level Igen Igen
-V hiba_súlyossági_szint Igen Igen
Egyéb beállítások
-a csomag_méret Igen Igen
-c batch_terminator Igen Igen
-L[c] Igen Nem
-p[1] Igen Igen
-X[1] Igen Igen
-? Igen Igen

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.

Jegyzet

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 -N van megadva, de -C nem, sqlcmd a kiszolgálótanúsítvány érvényesítését igényli. A titkosítás false értéke továbbra is a bejelentkezési csomag titkosításához vezethet.
  • Ha -N és -C is 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.

Jegyzet

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őtúllépés

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.

Jegyzet

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 alkalmazási_szándék

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.

Jegyzet

-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:

Jegyzet

-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

Az ügyfél ezt a lehetőséget használja titkosított kapcsolat kéréséhez.

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):

Jegyzet

Linux és macOS rendszeren az [s|m|o]sqlcmd 18.0-s verziója lett hozzáadva. -N lehet o (a optional), m (az mandatoryalapértelmezett), vagy s (a strict). Az SQL Server 2025 (17.x) előzetes verziójában, ha nem tartalmazza a -N kifejezést, a -Nm (a mandatory esetén) az alapértelmezett. Ez az SQL Server 2022 (16.x) és a korábbi verziók kompatibilitástörő változása, ahol -No az alapértelmezett.

  • 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 -N van megadva, de -C nem, sqlcmd a kiszolgálótanúsítvány érvényesítését igényli. A titkosítás false értéke továbbra is a bejelentkezési csomag titkosításához vezethet.

  • Ha -N és -C is meg van adva, sqlcmd a titkosítási egyeztetéshez használja az értékeiket.

  • Az sqlcmd (ODBC) fájlban adja -F meg 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.com
    

    Jegyzet

    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.

Fontos

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őt 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.

Jegyzet

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.

Jegyzet

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).

Jegyzet

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 új_jelszó

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 uj_jelszo

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 -u beá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.

Jegyzet

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).

-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.

Jegyzet

Ha a -i lehetőséget, majd egy vagy több további paramétert 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.

Útvonal 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 kimeneti_fájl

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.

Útvonal 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.

Jegyzet

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.

Jegyzet

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.

Jegyzet

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).

-Én

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.

Jegyzet

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;"

Fontos

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;"

Fontos

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 lekérdezési_késleltetés

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.

Jegyzet

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.

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.

  • -k eltávolítja a vezérlőkaraktereket.
  • -k1 minden vezérlőkaraktert lecserél egy szóközre.
  • -k2 az egymást követő vezérlőkaraktereket egyetlen szóközre cseréli.

-s oszlopszeparátor

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 képernyő szélesség

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ószélesség_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)
  • szöveg
  • kontextus
  • kép

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.

Figyelem

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 rögzített_hosszúságú_típus_kijelző_szélesség

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 hiba_szint

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 csomag_méret

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.

Jegyzet

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.)

Hol?

  • 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.

Jegyzet

MacOS rendszeren futtassa inkább a sqlcmd '-?' (idézőjelekkel).

Megjegyzések

A beállításokat nem kell használni a szintaxis szakaszban látható sorrendben.

Jegyzet

Ha a -i lehetőséget, majd egy vagy több további paramétert 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.

Jegyzet

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.

Változó elsőbbsége (alacsonytól magasig)

  1. Rendszerszintű környezeti változók
  2. Felhasználói szintű környezeti változók
  3. Az sqlcmd SET X=Y futtatása előtt a parancssorban beállított parancshéj () beállítása a parancssorban történik.
  4. sqlcmd -v X=Y
  5. :Setvar X Y

Jegyzet

A környezeti változók megtekintéséhez nyissa meg Vezérlőpult, nyissa meg Rendszer, majd válassza a Speciális lapot.

sqlcmd szkriptelési változók

Változó Kapcsolódó opció R/W Alapértelmezett
SQLCMDUSER -U R ""
SQLCMDPASSWORD -P -- ""
SQLCMDSERVER -S R AlapértelmezettHelyiPéldány
SQLCMDWORKSTATION -H R Számítógépnév
SQLCMDDBNAME -d R ""
SQLCMDLOGINTIMEOUT -l R/W 8" (másodperc)
SQLCMDSTATTIMEOUT -t R/W "0" = várakozás határozatlan ideig
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" = korlátlan
SQLCMDEDITOR R/W edit.com
SQLCMDINI R ""
SQLCMDUSEAAD -G R/W ""
  • SQLCMDUSER, SQLCMDPASSWORDés SQLCMDSERVER:Connect használatakor vannak beállítva.

  • R azt jelzi, hogy az érték csak egyszer állítható be a program inicializálása során.

  • R/W azt jelzi, hogy az érték a :setvar paranccsal módosítható, és az azt követő parancsokat az új érték befolyásolja.

sqlcmd parancsok

Az sqlcmd Transact-SQL utasítások mellett a következő parancsok is elérhetők:

  • GO [ <count> ]
  • :List
  • [:]RESET
  • :Error
  • [:]ED 1
  • :Out
  • [:]!!
  • :Perftrace
  • [:]QUIT
  • :Connect
  • [:]EXIT
  • :On Error
  • :r
  • :Help
  • :ServerList 1
  • :XML [ ON | OFF ] 1
  • :Setvar
  • :Listvar

1 Linux vagy macOS rendszeren nem támogatott.

Vegye figyelembe a következőket sqlcmd parancsok használatakor:

  • Minden sqlcmd parancsnak, kivéve GO, kettősponttal (:) kell kezdődniük.

    Fontos

    A meglévő osql- szkriptekkel való visszamenőleges kompatibilitás fenntartása érdekében a parancsok egy része a kettőspont nélkül lesz felismerve, amelyet a :jelez.

  • sqlcmd parancsok csak akkor lesznek felismerve, ha egy sor elején jelennek meg.

  • Minden sqlcmd parancs nem érzékeny a nagy- és kisbetűkre.

  • Minden parancsnak külön sorban kell lennie. A parancsokat nem lehet Transact-SQL utasítással vagy más paranccsal követni.

  • A parancsok végrehajtása azonnal történik. Nem kerülnek a végrehajtási pufferbe, mint ahogy a Transact-SQL utasítások.

Parancsok szerkesztése

[:]ED

Elindítja a szövegszerkesztőt. Ez a szerkesztő az aktuális Transact-SQL köteg vagy az utolsó végrehajtott köteg szerkesztésére használható. Az utolsó végrehajtott köteg szerkesztéséhez a ED parancsot közvetlenül az utolsó köteg végrehajtása után kell beírni.

A szövegszerkesztőt a SQLCMDEDITOR környezeti változó határozza meg. Az alapértelmezett szerkesztő Edit. A szerkesztő módosításához állítsa be a SQLCMDEDITOR környezeti változót. Ha például a szerkesztőt a Microsoft Jegyzettömbre szeretné állítani, írja be a parancssorba a következőt:

SET SQLCMDEDITOR=notepad

[:]VISSZAÁLLÍTÁS

Törli a nyilatkozat gyorsítótárát.

:Lista

Kinyomtatja az utasítások gyorsítótárának tartalmát.

Változók

:Setvar <var> [ "érték" ]

Definiálja sqlcmd szkriptelési változókat. A szkriptelési változók formátuma a következő: $(VARNAME).

A változók nevei nem érzékenyek a kis- és nagybetűkre.

A szkriptelési változók a következő módokon állíthatók be:

  • Implicit módon parancssori lehetőség használata. A -l beállítás például beállítja az SQLCMDLOGINTIMEOUTsqlcmd változót.
  • Kifejezetten a :Setvar parancs használatával.
  • Környezeti változó definiálásával sqlcmdfuttatása előtt.

Jegyzet

A -X beállítás megakadályozza a környezeti változók átadását sqlcmd.

Ha egy :Setvar használatával definiált változónak és egy környezeti változónak ugyanaz a neve, akkor a :Setvar használatával definiált változó elsőbbséget élvez.

A változónevek nem tartalmazhatnak üres szóköz karaktereket.

A változónevek nem vehetik fel ugyanazt az alakot, mint egy változókifejezés, például $(var).

Ha a szkriptelési változó sztringértéke üres szóközöket tartalmaz, az értéket idézőjelek közé kell foglalni. Ha nincs megadva egy szkriptelési változó értéke, a szkriptelési változó el lesz dobva.

:Listvar

Megjeleníti az aktuálisan beállított szkriptelési változók listáját.

Jegyzet

Csak az sqlcmd által beállított szkriptelési változók és a :Setvar parancs használatával beállított változók jelennek meg.

Kimeneti parancsok

:Hiba <fájlnév> | STDERR | STDOUT

Az összes hibakimenet átirányítása a fájlnéváltal megadott fájlra, stderr vagy stdout. A :Error parancs többször is megjelenhet egy szkriptben. Alapértelmezés szerint a hiba kimenet a stderr-ra kerül.

  • fájlnév

    Létrehoz és megnyitja a kimenetet fogadó fájlt. Ha a fájl már létezik, a program nulla bájtra csonkolja. Ha a fájl engedélyek vagy egyéb okok miatt nem érhető el, a kimenet nem lesz átváltva, és a rendszer az utolsó megadott vagy alapértelmezett célhelyre küldi.

  • STDERR

    A hibakimenetet a stderr streamre váltja. Ha ezt átirányították, a cél, amelyre a stream átirányítva lett, megkapja a hibakimenetet.

  • STDOUT

    A hibakimenetet a stdout streamre váltja. Ha ezt átirányították, a cél, amelyre a stream átirányítva lett, megkapja a hibakimenetet.

:Out <fájlnév> | STDERR | STDOUT

Létrehozza és átirányítja az összes lekérdezési eredményt a fájlnéváltal megadott fájlra, stderr vagy stdout. Alapértelmezés szerint a kimenet a stdout-ra küldődik. Ha a fájl már létezik, a program nulla bájtra csonkolja. A :Out parancs többször is megjelenhet egy szkriptben.

:Perftrace <fájlnév> | STDERR | STDOUT

Létrehozza és átirányítja az összes teljesítménykövetési információt a fájlnéváltal megadott fájlra, stderr vagy stdout. Alapértelmezés szerint a teljesítmény-követési kimenet a stdout-hez van küldve. Ha a fájl már létezik, a program nulla bájtra csonkolja. A :Perftrace parancs többször is megjelenhet egy szkriptben.

Végrehajtási vezérlőparancsok

:Hiba esetén [ kilépés | figyelmen kívül hagyás ]

Beállítja azt a műveletet, amelyet akkor kell végrehajtani, ha hiba történik a szkript vagy a köteg végrehajtása során.

A exit beállítás használatakor sqlcmd a megfelelő hibaértékkel lép ki.

A ignore beállítás használatakor sqlcmd figyelmen kívül hagyja a hibát, és folytatja a köteg vagy szkript végrehajtását. Alapértelmezés szerint egy hibaüzenet jelenik meg.

[:]KILÉPÉS

Az sqlcmd kilépését okozza.

[:]EXIT [ ( utasítás ) ]

Lehetővé teszi egy SELECT utasítás eredményének használatát sqlcmdvisszatérési értékeként. Ha numerikus, az utolsó eredménysor első oszlopa 4 bájtos egész számmá (hosszú) lesz konvertálva. Az MS-DOS, a Linux és a macOS az alacsony bájtot adja át a szülőfolyamat vagy az operációs rendszer hibaszintjének. A Windows 2000 és újabb verziók a teljes 4 bájtos egész számot továbbítja. A szintaxis: :EXIT(query)

Például:

:EXIT(SELECT @@ROWCOUNT)

A :EXIT paramétert kötegfájl részeként is felveheti. Írja be például a parancssorba a következőt:

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

Az sqlcmd segédprogram mindent a zárójelek (()) között küld a kiszolgálónak. Ha egy rendszer által tárolt eljárás kiválaszt egy halmazt, és értéket ad vissza, csak a kijelölés lesz visszaadva. A zárójelek között semmit nem tartalmazó :EXIT() utasítás mindent végrehajt a kötegben, majd visszatérési érték nélkül lép ki.

Helytelen lekérdezés megadásakor sqlcmd visszatérési érték nélkül lép ki.

Íme a EXIT formátumok listája:

  • :EXIT

    Nem hajtja végre a köteget, majd azonnal kilép, és nem ad vissza semmilyen értéket.

  • :EXIT( )

    Végrehajtja a feladatot, majd kilép, és nem ad vissza értéket.

  • :EXIT(query)

    Végrehajtja a lekérdezést tartalmazó köteget, majd kilép a lekérdezés eredményeinek visszaadása után.

Ha RAISERROR egy sqlcmd szkriptben van használatban, és 127-es állapotot emel ki, sqlcmd kilép, és visszaadja az üzenetazonosítót az ügyfélnek. Például:

RAISERROR(50001, 10, 127)

Ez a hiba az sqlcmd szkript végét okozza, és visszaadja az 50001-es üzenetazonosítót az ügyfélnek.

A -1-99 visszatérési értékeit az SQL Server lefoglalja, sqlcmd pedig a következő további visszatérési értékeket határozza meg:

Visszaadott érték Leírás
-100 Hiba történt a visszatérési érték kiválasztása előtt.
-101 Nem található sor a visszatérési érték kiválasztásakor.
-102 Konvertálási hiba történt a visszatérési érték kiválasztásakor.

GO [darabszám]

GO jelzi mind a tétel végét, mind a gyorsítótárazott Transact-SQL utasítások végrehajtását. A csomag végrehajtása többször, külön csomagokként történik. Egyetlen kötegben nem deklarálhat egy változót többször.

Egyéb parancsok

:r <fájlnév>

További Transact-SQL utasításokat és sqlcmd parancsokat elemez a fájlnév által megadott fájlból az utasítás-gyorsítótárba. A fájlnév az indítókönyvtárhoz képest olvasható, amelyben az sqlcmd fut.

Ha a fájl olyan Transact-SQL utasításokat tartalmaz, amelyeket nem követ GO, akkor a GOkövető sorba kell beírnia a :r.

A fájl olvasása és végrehajtása egy batch terminátor találkozása után történik. Több :r parancsot is kiadhat. A fájl bármilyen sqlcmd parancsot tartalmazhat, beleértve a batch terminatort GOis.

Jegyzet

Az interaktív módban megjelenített sorok száma minden :r észlelt parancs esetében egy-egyel nő. A :r parancs megjelenik a listaparancs kimenetében.

:Szerverlista

Felsorolja a helyileg konfigurált kiszolgálókat és a hálózaton sugárzott kiszolgálók nevét.

Csatlakozás server_name[\instance_name] [-l időtúllépés] [-U user_name [-P jelszó]]

Az SQL Server egy példányához csatlakozik. Az aktuális kapcsolatot is bezárja.

Időtúllépési lehetőségek:

Érték Magatartás
0 Várjon örökre
n>0 Várjon n másodpercig

A SQLCMDSERVER szkriptelési változó az aktuális aktív kapcsolatot tükrözi.

Ha nincs megadva időtúllépési, a SQLCMDLOGINTIMEOUT változó értéke az alapértelmezett érték.

Ha csak user_name van megadva (lehetőségként vagy környezeti változóként), a rendszer kéri a felhasználót, hogy adjon meg jelszót. A felhasználók nem kapnak felhívást, ha a SQLCMDUSER vagy SQLCMDPASSWORD környezeti változók be vannak állítva. Ha nem ad meg beállításokat vagy környezeti változókat, a rendszer Windows-hitelesítési módot használ a bejelentkezéshez. Ha például az SQL Server instance1, myserveregy példányához szeretne csatlakozni integrált biztonság használatával, a következő parancsot kell használnia:

:connect myserver\instance1

Ha szkriptelési változók használatával szeretne csatlakozni az alapértelmezett myserver-példányhoz, használja a következő beállításokat:

:setvar myusername test
:setvar myservername myserver
:connect $(myservername) $(myusername)

[:]!! parancs

Operációsrendszer-parancsokat hajt végre. Operációsrendszer-parancs végrehajtásához indítson el egy vonalat két felkiáltójellel (!!), majd az operációs rendszer parancsával. Például:

:!! dir

Jegyzet

A parancs azon a számítógépen lesz végrehajtva, amelyen sqlcmd fut.

:XML [ BE | KI ]

További információért lásd ebben a cikkben az XML kimeneti formátumot és a JSON kimeneti formátumot.

:Segítség

Felsorolja sqlcmd parancsokat, valamint az egyes parancsok rövid leírását.

sqlcmd fájlnevek

sqlcmd bemeneti fájlokat a -i beállítással vagy a :r paranccsal lehet megadni. A kimeneti fájlok megadhatók a -o beállítással vagy a , :Errorés :Out parancsokkal:Perftrace. Az alábbiakban néhány útmutatást talál a fájlok kezeléséhez:

  • :Error, :Outés :Perftrace külön fájlnévértékeket kell használnia. Ha ugyanazt a fájlnevet használja,, a parancsok bemenetei össze lesznek keverődve.

  • Ha egy távoli kiszolgálón található bemeneti fájlt egy helyi számítógépen sqlcmd hív meg, és a fájl tartalmaz egy meghajtófájl elérési útját(például :Out c:\OutputFile.txt), a kimeneti fájl a helyi számítógépen jön létre, nem pedig a távoli kiszolgálón.

  • Az érvényes fájlelérési utak a következők: C:\<filename>, \\<Server>\<Share$>\<filename>és "C:\Some Folder\<file name>". Ha van szóköz az elérési úton, használj idézőjeleket.

  • Minden új sqlcmd munkamenet felülírja az azonos nevű meglévő fájlokat.

Tájékoztató üzenetek

sqlcmd kinyomtatja a kiszolgáló által küldött tájékoztató üzeneteket. Az alábbi példában a Transact-SQL utasítások végrehajtása után egy tájékoztató üzenet lesz kinyomtatva.

Indítsa el sqlcmd. Az sqlcmd parancssorba írja be a lekérdezést:

USE AdventureWorks2022;
GO

Az ENTERlenyomásakor a következő tájékoztató üzenet lesz kinyomtatva:

Changed database context to 'AdventureWorks2022'.

A Transact-SQL lekérdezések kimeneti formátuma

sqlcmd először kinyomtat egy oszlopfejlécet, amely tartalmazza a kiválasztási listában megadott oszlopneveket. Az oszlopnevek a SQLCMDCOLSEP karakterrel vannak elválasztva. Alapértelmezés szerint ez egy szóköz. Ha az oszlop neve rövidebb az oszlopszélességnél, a kimenetet szóközökkel kell kipárnázni a következő oszlopig.

Ezt a sort egy elválasztó vonal követi, amely kötőjelkarakterek sorozata. Az alábbi kimenet egy példát mutat be.

Indítsa el sqlcmd. Az sqlcmd parancssorba írja be a lekérdezést:

USE AdventureWorks2022;

SELECT TOP (2) BusinessEntityID,
               FirstName,
               LastName
FROM Person.Person;
GO

Az ENTERlenyomásakor a következő eredményhalmaz lesz visszaadva.

BusinessEntityID FirstName    LastName
---------------- ------------ ----------
285              Syed         Abbas
293              Catherine    Abel
(2 row(s) affected)

Bár az BusinessEntityID oszlop csak négy karakter széles, a hosszabb oszlopnévhez igazodva bővül. Alapértelmezés szerint a kimenet 80 karakter hosszúságú lesz. Ez a szélesség a -w beállítással vagy a SQLCMDCOLWIDTH szkriptelési változó beállításával módosítható.

XML-kimeneti formátum

A FOR XML záradék eredményeként kapott XML-kimenet formázatlanul kerül kiadásra folyamatos adatfolyamban.

Ha XML-kimenetre számít, használja a következő parancsot: :XML ON.

Jegyzet

sqlcmd a szokásos formátumban ad vissza hibaüzeneteket. A hibaüzenetek xml formátumú XML-szövegstreamben is jelennek meg. A :XML ONhasználatával sqlcmd nem jelenít meg tájékoztató üzeneteket.

Az XML mód kikapcsolásához használja a következő parancsot: :XML OFF.

A GO parancs nem jelenhet meg a :XML OFF parancs kiadása előtt, mert a :XML OFF parancs a sqlcmd-et sororientált kimenetre váltja.

Az XML- (streamelt) adatok és a sorhalmazok adatai nem keverhetők össze. Ha a :XML ON parancsot nem adták ki az XML-adatfolyamokat kibocsátó Transact-SQL utasítás végrehajtása előtt, a kimenet el nem érhető. A :XML ON parancs kiadása után nem hajthat végre Transact-SQL normál sorkészleteket kibocsátó utasításokat.

Jegyzet

A :XML parancs nem támogatja a SET STATISTICS XML utasítást.

JSON kimeneti formátum

Ha JSON-kimenetre számít, használja a következő parancsot: :XML ON. Ellenkező esetben a kimenet tartalmazza az oszlop nevét és a JSON-szöveget is. Ez a kimenet nem érvényes JSON.

Az XML mód kikapcsolásához használja a következő parancsot: :XML OFF.

További információért lásd ebben a cikkben a XML-kimeneti formátumot alatt.

Microsoft Entra-hitelesítés használata

Példák a Microsoft Entra-hitelesítés használatára:

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 bob@contoso.com -P MyAzureADPassword -l 30
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 bob@contoso.com -P MyAzureADPassword -l 30
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 bob@contoso.com -P MyAzureADPassword -l 30

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ásának időtúllépési értékeit a vártnál magasabbra.

A helyesség maximalizálása érdekében használja az alábbi eljárásokat:

  • A -V 16 haszná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 ERRORLEVEL a változót a folyamat kilépése után. sqlcmd általában 0 ad vissza, ellenkező esetben a ERRORLEVELáltal konfigurált -V állítja be. Más szóval a ERRORLEVEL vá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. ERRORLEVEL egy sqlcmd-specifikus érték, amely jelzi, hogy miért sqlcmd leállt, és értékét -b parancssori 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.