Delen via


dtexec Utility

van toepassing op:SQL Server SSIS Integration Runtime in Azure Data Factory

Het hulpprogramma voor de dtexec-opdrachtprompt wordt gebruikt om SQL Server Integration Services-pakketten te configureren en uit te voeren. Het hulpprogramma dtexec biedt toegang tot alle pakketconfiguratie- en uitvoeringsfuncties, zoals parameters, verbindingen, eigenschappen, variabelen, logboekregistratie en voortgangsindicatoren. Met het hulpprogramma dtexec kunt u pakketten uit deze bronnen laden: de Integration Services-server, een .ispac-projectbestand, een Microsoft SQL Server-database, de SSIS Package Store en het bestandssysteem.

Opmerking

Wanneer u de huidige versie van het dtexec-hulpprogramma gebruikt om een pakket uit te voeren dat is gemaakt door een eerdere versie van Integration Services, wordt het pakket tijdelijk bijgewerkt naar de huidige pakketindeling. U kunt het hulpprogramma dtexec echter niet gebruiken om het bijgewerkte pakket op te slaan. Zie Integration Services-pakketten upgraden voor meer informatie over het permanent upgraden van een pakket naar de huidige versie.

Dit onderwerp bevat de volgende secties:

Integratieservices-server en Project-bestand

Wanneer u dtexec gebruikt om pakketten uit te voeren op de Integration Services-server, roept dtexec de catalog.create_execution (SSISDB Database), catalog.set_execution_parameter_value (SSISDB Database) en catalog.start_execution (SSISDB Database) opgeslagen procedures aan om een uitvoering te maken, parameterwaarden in te stellen en de uitvoering te starten. Alle uitvoeringslogboeken zijn te zien vanaf de server in de gerelateerde weergaven of met behulp van standaardrapporten die beschikbaar zijn in SQL Server Management Studio. Zie Rapporten voor de Integration Services-server voor meer informatie over de rapporten.

Hier volgt een voorbeeld van het uitvoeren van een pakket op de Integration Services-server.

DTExec /ISSERVER "\SSISDB\folderB\Integration Services Project17\Package.dtsx" /SERVER "." /Envreference 2 /Par "$Project::ProjectParameter(Int32)";1 /Par "Parameter(Int32)";21 /Par "CM.sqlcldb2.SSIS_repro.InitialCatalog";ssisdb /Par "$ServerOption::SYNCHRONIZED(Boolean)";True  

Wanneer u dtexec gebruikt om een pakket uit te voeren vanuit het .ispac-projectbestand, zijn de gerelateerde opties: /Proj[ect] en /Pack[age] die worden gebruikt om het projectpad en de pakketstroomnaam op te geven. Wanneer u een project converteert naar het projectimplementatiemodel door de wizard Integration Services-projectconversie uit te voeren vanuit SQL Server Management Studio, genereert de wizard een .ispac-projectbestand. Zie SSIS-projecten (Deploy Integration Services) en -pakketten voor meer informatie.

U kunt dtexec gebruiken met hulpprogramma's voor planning van derden om pakketten te plannen die zijn geïmplementeerd op de Integration Services-server.

Overwegingen bij de installatie op 64-bits computers

Op een 64-bits computer installeert Integration Services een 64-bits versie van het dtexec-hulpprogramma (dtexec.exe). Als u bepaalde pakketten in de 32-bits modus moet uitvoeren, moet u de 32-bits versie van het dtexec-hulpprogramma installeren. Als u de 32-bits versie van het dtexec-hulpprogramma wilt installeren, moet u clienthulpprogramma's of SQL Server Data Tools (SSDT) selecteren tijdens de installatie.

Op een 64-bits computer waarop zowel de 64-bits als de 32-bits versie van een hulpprogramma voor de Integration Services-opdrachtprompt is geïnstalleerd, wordt standaard de 32-bits versie uitgevoerd bij de opdrachtprompt. De 32-bits versie wordt uitgevoerd omdat het mappad voor de 32-bits versie wordt weergegeven in de omgevingsvariabele PATH vóór het mappad voor de 64-bits versie. (Normaal gesproken is het 32-bits pad <station>:\Program Files(x86)\Microsoft SQL Server\110\DTS\Binn, terwijl het 64-bits pad <station>:\Program Files\Microsoft SQL Server\110\DTS\Binn is.)

Opmerking

Als u SQL Server Agent gebruikt om het hulpprogramma uit te voeren, gebruikt SQL Server Agent automatisch de 64-bits versie van het hulpprogramma. SQL Server Agent gebruikt het register, niet de omgevingsvariabele PATH, om het juiste uitvoerbare bestand voor het hulpprogramma te vinden.

Om ervoor te zorgen dat u de 64-bits versie van het hulpprogramma uitvoert bij de opdrachtprompt, kunt u een van de volgende acties uitvoeren:

  • Open een commandpromptvenster, wijzig naar de map met de 64-bits versie van het hulpprogramma (<station>:\Program Files\Microsoft SQL Server\110\DTS\Binn) en voer vervolgens het hulpprogramma uit vanaf die locatie.

  • Voer bij de opdrachtprompt het hulpprogramma uit door het volledige pad (<station>:\Program Files\Microsoft SQL Server\110\DTS\Binn) in te voeren voor de 64-bits versie van het hulpprogramma.

  • Wijzig de volgorde van de paden in de omgevingsvariabele PATH permanent door het 64-bits pad (<station>:\Program Files\Microsoft SQL Server\110\DTS\Binn) vóór het 32-bits pad (<station>:\ Program Files(x86)\Microsoft SQL Server\110\DTS\Binn) in de variabele te plaatsen.

Overwegingen voor computers met parallelle installaties

Wanneer SQL Server 2019 Integration Services (SSIS) is geïnstalleerd op een computer waarop SQL Server 2005 Integration Services (SSIS) of SQL Server 2008 Integration Services (SSIS) is geïnstalleerd, worden meerdere versies van het hulpprogramma dtexec geïnstalleerd.

Voer het hulpprogramma uit bij de opdrachtprompt door het volledige pad in te voeren (<schijf>:\Program Files\Microsoft SQL Server\<version>\DTS\Binn) om ervoor te zorgen dat u de juiste versie van het hulpprogramma uitvoert.

Fasen van uitvoering

Het hulpprogramma heeft vier fasen die het doorloopt terwijl het wordt uitgevoerd. De fasen zijn als volgt:

  1. Opdrachtbronnenfase: De opdrachtprompt leest de lijst met opties en argumenten die zijn opgegeven. Alle volgende fasen worden overgeslagen als er een /? of /HELP-optie wordt aangetroffen.

  2. Fase van het laden van het pakket: het pakket dat is gespecificeerd door de optie /SQL, /FILE, of /DTS wordt geladen.

  3. Configuratiefase: Opties worden in deze volgorde verwerkt:

    • Opties waarmee pakketvlagmen, variabelen en eigenschappen worden ingesteld.

    • Opties waarmee de pakketversie en build worden gecontroleerd.

    • Opties voor het configureren van het runtimegedrag van het hulpprogramma, zoals rapportage.

  4. Validatie- en uitvoeringsfase: het pakket wordt uitgevoerd of gevalideerd zonder uit te voeren als de optie /VALIDATE is opgegeven.

Afsluitcodes geretourneerd

Afsluitcodes die zijn geretourneerd door het dtexec-hulpprogramma

Wanneer een pakket wordt uitgevoerd, kan dtexec een afsluitcode retourneren. De afsluitcode wordt gebruikt om de variabele ERRORLEVEL te vullen, waarvan de waarde vervolgens kan worden getest in voorwaardelijke instructies of vertakkingslogica in een batchbestand. De volgende tabel bevat de waarden die het dtexec-hulpprogramma kan instellen bij het afsluiten.

Waarde Beschrijving
0 Het pakket is succesvol uitgevoerd.
1 Het pakket is mislukt.
3 Het pakket is geannuleerd door de gebruiker.
4 Het hulpprogramma kan het aangevraagde pakket niet vinden. Kan het pakket niet vinden.
5 Het hulpprogramma kan het aangevraagde pakket niet laden. Het pakket kan niet worden geladen.
6 De hulpprogramma heeft een interne fout ondervonden als gevolg van syntactische of semantische fouten in de opdrachtregel.

Syntaxisregels

Syntaxisregels voor hulpprogramma's

Alle opties moeten beginnen met een slash (/) of een minteken (-). De hier weergegeven opties beginnen met een slash (/), maar het minteken (-) kan worden vervangen.

Een argument moet tussen aanhalingstekens staan als het een spatie bevat. Als het argument niet tussen aanhalingstekens staat, kan het argument geen witruimte bevatten.

Dubbele aanhalingstekens binnen een geciteerde string geven enkele aanhalingstekens weer die als geëscaleerd beschouwd worden.

Opties en argumenten zijn niet hoofdlettergevoelig, met uitzondering van wachtwoorden.

Dtexec gebruiken vanuit de xp_cmdshell

Dtexec gebruiken vanuit de xp_cmdshell

U kunt dtexec uitvoeren vanaf de xp_cmdshell prompt. In het volgende voorbeeld ziet u hoe u een pakket met de naam UpsertData.dtsx uitvoert en de retourcode negeert:

EXEC xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'  

In het volgende voorbeeld ziet u hoe u hetzelfde pakket uitvoert en de retourcode vastlegt:

DECLARE @returncode int  
EXEC @returncode = xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'  

Belangrijk

In Microsoft SQL Server is de optie xp_cmdshell standaard uitgeschakeld voor nieuwe installaties. De optie kan worden ingeschakeld door de sp_configure systeem opgeslagen procedure uit te voeren. Zie xp_cmdshell Serverconfiguratieoptievoor meer informatie.

Dtexec gebruiken vanuit Bash

De Bash-shell is een populaire shell voor Linux. Het kan ook worden gebruikt in Windows. U kunt dtexec uitvoeren vanuit de Bash-prompt. U ziet dat een puntkomma (;) een operator voor opdrachtscheidingstekens is in Bash. Dit is met name belangrijk bij het doorgeven van waarden aan het pakket met behulp van de /Conn[ection] of /Par[arameter] '/Set opties, omdat ze de puntkomma gebruiken om de naam en de waarde van het opgegeven item te scheiden. In het volgende voorbeeld ziet u hoe u de puntkomma en andere items correct kunt escapen wanneer u Bash gebruikt en waarden doorgeeft aan een pakket:

dtexec /F MyPackage.dtsx /CONN "MyConnection"\;"\"MyConnectionString\""

Syntaxis

dtexec /option [value] [/option [value]]...  

Parameterwaarden

  • /? [option_name]: (optioneel). Geeft de opdrachtpromptopties weer of geeft help weer voor de opgegeven option_name en sluit vervolgens het hulpprogramma.

    Als u een option_name argument opgeeft, start dtexec SQL Server Books Online en wordt het onderwerp dtexec Utility weergegeven.

  • /Ca[llerInfo]: (optioneel). Hiermee geeft u aanvullende informatie op voor de uitvoering van een pakket. Wanneer u een pakket uitvoert met behulp van SQL Server Agent, stelt de agent dit argument in om aan te geven dat de pakketuitvoering wordt aangeroepen door SQL Server Agent. Deze parameter wordt genegeerd wanneer het dtexec-hulpprogramma wordt uitgevoerd vanaf de opdrachtregel.

  • /CheckF[ile]filespec: (optioneel). Hiermee stelt u in het pakket de eigenschap CheckpointFileName in op het pad en de bestandsnaam die in filespec is opgegeven. Dit bestand wordt gebruikt wanneer het pakket opnieuw wordt opgestart. Als deze optie is opgegeven en er geen waarde wordt opgegeven voor de bestandsnaam, wordt de CheckpointFileName voor het pakket ingesteld op een lege tekenreeks. Als deze optie niet is opgegeven, blijven de waarden in het pakket behouden.

  • /CheckP[ointing]{on\off} : (optioneel). Hiermee stelt u een waarde in die bepaalt of het pakket controlepunten gebruikt tijdens de uitvoering van het pakket. De waarde op geeft aan dat een mislukt pakket opnieuw moet worden uitgevoerd. Wanneer het mislukte pakket opnieuw wordt uitgevoerd, gebruikt de runtime-engine het controlepuntbestand om het pakket opnieuw op te starten vanaf het punt van de fout.

    De standaardwaarde is ingeschakeld als de optie wordt gedeclareerd zonder een waarde. De pakketuitvoering mislukt als de waarde is ingesteld op Ingeschakeld en het controlepuntbestand niet kan worden gevonden. Als deze optie niet is opgegeven, blijft de waarde die in het pakket is ingesteld, behouden. Zie Pakketten opnieuw opstarten met behulp van controlepuntenvoor meer informatie.

    De optie /CheckPointing op optie van dtexec is gelijk aan het instellen van de eigenschap SaveCheckpoints van het pakket op True en de eigenschap CheckpointUsage op Always.

  • /Com[mandFile]filespec: (optioneel). Hiermee geeft u de opdrachtopties die worden uitgevoerd met dtexec. Het bestand dat is opgegeven in filespec , wordt geopend en de opties uit het bestand worden gelezen totdat EOF in het bestand wordt gevonden. filespec is een tekstbestand. Het argument filespec geeft de bestandsnaam en het pad van het opdrachtbestand op dat moet worden gekoppeld aan de uitvoering van het pakket.

  • /Conf[igFile]filespec: (optioneel). Hiermee geeft u een configuratiebestand waaruit waarden moeten worden geëxtraheerd. Met deze optie kunt u een runtimeconfiguratie instellen die verschilt van de configuratie die tijdens het ontwerptijd voor het pakket is opgegeven. U kunt verschillende configuratie-instellingen opslaan in een XML-configuratiebestand en vervolgens de instellingen laden voordat het pakket wordt uitgevoerd met behulp van de optie /ConfigFile .

    U kunt de optie /ConfigFile gebruiken om extra configuraties tijdens runtime te laden die u niet tijdens het ontwerp hebt opgegeven. U kunt de optie /ConfigFile echter niet gebruiken om geconfigureerde waarden te vervangen die u ook tijdens het ontwerp hebt opgegeven. Zie Pakketconfiguraties voor meer informatie over hoe pakketconfiguraties worden toegepast.

  • /Conn[ection]id_or_name; connection_string [[; id_or_name; connection_string]...]: (Optioneel). Hiermee geeft u op dat de verbindingsbeheerder met de opgegeven naam of GUID zich in het pakket bevindt en een verbindingsreeks opgeeft.

    Voor deze optie moeten beide parameters worden opgegeven: de verbindingsbeheernaam of GUID moet worden opgegeven in het argument id_or_name en er moet een geldige verbindingsreeks worden opgegeven in het argument connection_string . Zie SSIS-verbindingen (Integration Services) voor meer informatie.

    Tijdens runtime kunt u de optie /Connection gebruiken om pakketconfiguraties te laden vanaf een andere locatie dan de locatie die u tijdens het ontwerp hebt opgegeven. De waarden van deze configuraties vervangen vervolgens de waarden die oorspronkelijk zijn opgegeven. U kunt de optie /Connection echter alleen gebruiken voor configuraties, zoals SQL Server-configuraties, die gebruikmaken van een verbindingsbeheer. Zie Package Configurations and Behavior Changes to Integration Services Features in SQL Server 2016 (Pakketconfiguraties en gedragswijzigingen in Integration Services-functies in SQL Server 2016) voor meer informatie over hoe pakketconfiguraties worden toegepast.

  • /Cons[oleLog] [[displayoptions];[ list_options; src_name_or_guid]...]: (optioneel). Geeft opgegeven logboekvermeldingen weer aan de console tijdens het uitvoeren van het pakket. Als deze optie wordt weggelaten, worden er geen logboekvermeldingen weergegeven in de console. Als de optie is opgegeven zonder parameters die de weergave beperken, wordt elke logboekvermelding weergegeven. Als u de vermeldingen wilt beperken die worden weergegeven in de console, kunt u de kolommen opgeven die moeten worden weergegeven met behulp van de parameter displayoptions en de typen logboekvermelding beperken met behulp van de parameter list_options .

    Opmerking

    Wanneer u een pakket uitvoert op de Integration Services-server met behulp van de parameter /ISSERVER , is de console-uitvoer beperkt en zijn de meeste opties /Cons[oleLog] niet van toepassing. Alle uitvoeringslogboeken zijn te zien vanaf de server in de gerelateerde weergaven of met behulp van standaardrapporten die beschikbaar zijn in SQL Server Management Studio. Zie Rapporten voor de Integration Services-server voor meer informatie over de rapporten.

    De displayoptions-waarden zijn als volgt:

    • N (naam)

    • C (computer)

    • O (operator)

    • S (bronnaam)

    • G (bron-GUID)

    • X (uitvoerings-GUID)

    • M (bericht)

    • T (Begin- en eindtijd)

    De list_options waarden zijn als volgt:

    • I - Specificeert de insluitingslijst. Alleen de bronnamen of GUID's die zijn opgegeven, worden vastgelegd.

    • E - Hiermee geeft u de uitsluitingslijst op. De bronnamen of GUID's die zijn opgegeven, worden niet vastgelegd.

    • De src_name_or_guid parameter die is opgegeven voor opname of uitsluiting is een gebeurtenisnaam, bronnaam of bron-GUID.

    Als u meerdere /ConsoleLog-opties op dezelfde opdrachtprompt gebruikt, werken ze als volgt:

    • Hun volgorde van verschijnen heeft geen effect.

    • Als er geen insluitingslijsten aanwezig zijn op de opdrachtregel, worden uitsluitingslijsten toegepast op allerlei soorten logboekvermeldingen.

    • Als er insluitingslijsten aanwezig zijn op de opdrachtregel, worden uitsluitingslijsten toegepast op de samenvoeging van alle insluitingslijsten.

    Zie de sectie Opmerkingen voor verschillende voorbeelden van de optie /ConsoleLog.

  • /D[ts]package_path: (optioneel). Laadt een pakket uit de SSIS Package Store. Pakketten die zijn opgeslagen in de SSIS Package Store, worden geïmplementeerd met behulp van het verouderde pakketimplementatiemodel. Als u pakketten wilt uitvoeren die zijn geïmplementeerd op de Integration Services-server met behulp van het projectimplementatiemodel, gebruikt u de optie /ISServer . Zie Implementatie van projecten en pakketten voor meer informatie over het pakket- en projectimplementatiemodel.

    Het argument package_path geeft het relatieve pad van het SSIS-pakket op, te beginnen bij de hoofdmap van het SSIS-pakketarchief en bevat de naam van het SSIS-pakket. Als het pad of de bestandsnaam die is opgegeven in het argument package_path een spatie bevat, moet u aanhalingstekens plaatsen rond het argument package_path .

    De optie /DTS kan niet samen met de optie /File of /SQL worden gebruikt. Als er meerdere opties zijn opgegeven, mislukt dtexec .

  • /De[crypt]password: (Optioneel). Hiermee stelt u het ontsleutelingswachtwoord in dat wordt gebruikt wanneer u een pakket laadt met wachtwoordversleuteling.

  • (Optioneel) Hiermee maakt u de foutopsporingsdumpbestanden, MDMP en .tmp, wanneer een of meer opgegeven gebeurtenissen plaatsvinden terwijl het pakket wordt uitgevoerd. Het argument foutcode geeft het type gebeurteniscode-fout, waarschuwing of informatie op waarmee het systeem de foutopsporingsdumpbestanden maakt. Als u meerdere gebeurteniscodes wilt opgeven, scheidt u elk foutcodeargument door een puntkomma (;). Neem geen aanhalingstekens op bij de foutcode-parameter.

    In het volgende voorbeeld worden de dumpbestanden voor foutopsporing gegenereerd wanneer de DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER fout optreedt.

    /Dump 0xC020801C  
    

    /Dumpfoutcode: Integration Services slaat standaard de debug dumpbestanden op in de map <schijf>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps.

    Opmerking

    Debug-dumpbestanden kunnen gevoelige informatie bevatten. Gebruik een toegangsbeheerlijst (ACL) om de toegang tot de bestanden te beperken of kopieer de bestanden naar een map met beperkte toegang. Voordat u uw foutopsporingsbestanden bijvoorbeeld naar microsoft-ondersteuningsservices verzendt, wordt u aangeraden gevoelige of vertrouwelijke informatie te verwijderen.

    Als u deze optie wilt toepassen op alle pakketten die door het dtexec-hulpprogramma worden uitgevoerd, voegt u een DumpOnCodes-REG_SZ-waarde toe aan de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath registersleutel. De gegevenswaarde in DumpOnCodes geeft de foutcode of codes op die het systeem activeren om foutopsporingsdumpbestanden te maken. Meerdere foutcodes moeten worden gescheiden door een puntkomma (;).

    Als u een DumpOnCodes-waarde toevoegt aan de registersleutel en de optie /Dump gebruikt, maakt het systeem foutopsporingsdumpbestanden die zijn gebaseerd op beide instellingen.

    Zie Dumpbestanden genereren voor pakketuitvoering voor meer informatie over het opsporen van fouten in dumpbestanden.

  • /DumpOnError: (Optioneel) Maakt de foutopsporingsdumpbestanden, .mdmp en .tmp, wanneer er een fout optreedt tijdens het uitvoeren van het pakket.

    Standaard slaat Integration Services de dumpbestanden voor foutopsporing op in de map <station>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps.

    Opmerking

    Debug-dumpbestanden kunnen gevoelige informatie bevatten. Gebruik een toegangsbeheerlijst (ACL) om de toegang tot de bestanden te beperken of kopieer de bestanden naar een map met beperkte toegang. Voordat u uw foutopsporingsbestanden bijvoorbeeld naar microsoft-ondersteuningsservices verzendt, wordt u aangeraden gevoelige of vertrouwelijke informatie te verwijderen.

    Als u deze optie wilt toepassen op alle pakketten die door het dtexec-hulpprogramma worden uitgevoerd, voegt u een DumpOnError-REG_DWORD-waarde toe aan de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath registersleutel. De waarde van de DumpOnError REG_DWORD waarde bepaalt of de optie /DumpOnError moet worden gebruikt met het hulpprogramma dtexec :

    • Een niet-nul gegevenswaarde geeft aan dat het systeem foutopsporingsdumpbestanden maakt wanneer er een fout optreedt, ongeacht of u de optie /DumpOnError gebruikt met het hulpprogramma dtexec .

    • Een nulgegevenswaarde geeft aan dat het systeem de foutopsporingsdumpbestanden niet maakt, tenzij u de optie /DumpOnError met het hulpprogramma dtexec gebruikt .

    Zie Dumpbestanden genereren voor pakketuitvoering voor meer informatie over het opsporen van fouten in dumpbestanden

  • /Env[Reference]environment reference ID: (Optioneel). Hiermee geeft u de omgevingsreferentie (ID) op die wordt gebruikt door de pakketuitvoering, voor een pakket dat is geïmplementeerd op de Integration Services-server. De parameters die zijn geconfigureerd om te binden aan variabelen, gebruiken de waarden van de variabelen die zich in de omgeving bevinden.

    U gebruikt de optie /Env[Reference] samen met de /ISServer en de /Server-opties .

    Deze parameter wordt gebruikt door SQL Server Agent.
    -- /F[ile]filespec: (optioneel). Laadt een pakket dat is opgeslagen in het bestandssysteem. Pakketten die zijn opgeslagen in het bestandssysteem, worden geïmplementeerd met behulp van het verouderde pakketimplementatiemodel. Als u pakketten wilt uitvoeren die zijn geïmplementeerd op de Integration Services-server met behulp van het projectimplementatiemodel, gebruikt u de optie /ISServer . Zie Implementatie van projecten en pakketten voor meer informatie over de pakket- en projectimplementatiemodellen

Het argument filespec geeft het pad en de bestandsnaam van het pakket op. U kunt het pad opgeven als een UNC-pad (Universal Naming Convention) of een lokaal pad. Als het pad of de bestandsnaam die is opgegeven in het argument filespec een spatie bevat, moet u aanhalingstekens plaatsen rond het argument filespec .

  • De optie /File kan niet samen met de optie /DTS of /SQL worden gebruikt. Als er meerdere opties zijn opgegeven, mislukt dtexec .

  • /H[elp] [option_name]: (optioneel). Geeft help weer voor de opties of geeft help weer voor de opgegeven option_name en sluit het hulpprogramma.

    Als u een option_name argument opgeeft, start dtexec SQL Server Books Online en wordt het onderwerp dtexec Utility weergegeven.

  • /ISServerpackagepath: (optioneel). Voert een pakket uit dat is geïmplementeerd op de Integration Services-server. Het argument PackagePath geeft het volledige pad en de bestandsnaam op van het pakket dat is geïmplementeerd op de Integration Services-server. Als het pad of de bestandsnaam die is opgegeven in het argument PackagePath een spatie bevat, moet u aanhalingstekens plaatsen rond het argument PackagePath .

    De pakketindeling is als volgt:

    \<catalog name>\<folder name>\<project name>\package file name  
    

    U gebruikt /Server-optie samen met de optie /ISSERVER . Alleen Windows-verificatie kan een pakket uitvoeren op de SSIS-server. De huidige Windows-gebruiker wordt gebruikt voor toegang tot het pakket. Als de optie /Server wordt weggelaten, wordt uitgegaan van het standaard lokale exemplaar van SQL Server.

    De optie /ISSERVER kan niet samen met de optie /DTS, /SQL of /File worden gebruikt. Als er meerdere opties zijn opgegeven, mislukt dtexec.

    Deze parameter wordt gebruikt door SQL Server Agent.

  • /L[logger]classid_orprogid; configuratietekenreeks: (optioneel). Koppelt een of meer logboekproviders aan de uitvoering van een SSIS-pakket. De parameter classid_orprogid geeft de logboekprovider op en kan worden opgegeven als een klasse-GUID. De configuratiereeks is de tekenreeks die wordt gebruikt om de logboekprovider te configureren.

    De volgende lijst bevat de beschikbare logboekproviders:

    • Tekstbestand:

      • ProgID: DTS. LogProviderTextFile.1

      • ClassID: {59B2C6A5-663F-4C20-8863-C83F9B72E2EB}

    • SQL Server Profiler:

      • ProgID: DTS. LogProviderSQLProfiler.1

      • ClassID: {5C0B8D21-E9AA-462E-BA34-30FF5F7A42A1}

    • SQL Server:

      • ProgID: DTS. LogProviderSQLServer.1

      • KlasseID: {6AA833A1-E4B2-4431-831B-DE695049DC61}

    • Windows-gebeurtenislogboek:

      • ProgID: DTS. LogProviderEventLog.1

      • KlasseID: {97634F75-1DC7-4F1F-8A4C-DAF0E13AAA22}

    • XML-bestand:

      • ProgID: DTS. LogProviderXMLFile.1

      • KlasseID: {AFED6884-619C-484F-9A09-F42D56E1A7EA}

  • /M[axConcurrent]concurrent_executables: (optioneel). Hiermee geeft u het aantal uitvoerbare bestanden op dat het pakket gelijktijdig kan worden uitgevoerd. De opgegeven waarde moet een niet-negatief geheel getal of -1 zijn. Een waarde van -1 betekent dat SSIS een maximum aantal gelijktijdig uitgevoerde uitvoerbare bestanden toestaat dat gelijk is aan het totale aantal processors op de computer waarop het pakket wordt uitgevoerd, plus twee.

  • /Pack[age]PackageName: (optioneel). Hiermee wordt het pakket gespecificeerd dat wordt uitgevoerd. Deze parameter wordt voornamelijk gebruikt wanneer u het pakket uitvoert vanuit Visual Studio.

  • /P[assword]password: (Optioneel). Hiermee kan een pakket worden opgehaald dat wordt beveiligd door SQL Server-verificatie. Deze optie wordt samen met de optie /User gebruikt. Als de optie /Password wordt weggelaten en de optie /User wordt gebruikt, wordt een leeg wachtwoord gebruikt. De wachtwoordwaarde kan worden geciteerd.

    Belangrijk

    Gebruik waar mogelijk Windows-verificatie.

  • /Par[ameter] [$Package:: | $Project:: | $ServerOption::] parameter_name [(data_type)]; literal_value: (optioneel). Geeft parameterwaarden op. Er kunnen meerdere /parameteropties worden opgegeven. De gegevenstypen zijn CLR-typecodes als tekenreeksen. Voor een niet-tekenreeksparameter wordt het gegevenstype opgegeven tussen haakjes, gevolgd door de parameternaam.

    De optie /Parameter kan alleen worden gebruikt met de optie /ISServer .

    U gebruikt de $Package, $Project en $ServerOption voorvoegsels om respectievelijk een pakketparameter, projectparameter en een serveroptieparameter aan te geven. Het standaardparametertype is een pakket.

    Hieronder is een voorbeeld van het uitvoeren van een pakket en het opgeven van mijnwaarde voor de projectparameter (myparam) en de integerwaarde 12 voor de pakketparameter (anotherparam).

    Dtexec /isserver "SSISDB\MyFolder\MyProject\MyPackage.dtsx" /server "." /parameter $Project::myparam;myvalue /parameter anotherparam(int32);12

    U kunt ook eigenschappen van verbindingsbeheer instellen met behulp van parameters. U gebruikt het CM-voorvoegsel om een verbindingsbeheerparameter aan te geven.

    In het volgende voorbeeld is de eigenschap InitialCatalog van bronserververbindingsbeheer ingesteld op ssisdb.

    /parameter CM.SourceServer.InitialCatalog;ssisdb  
    

    In het volgende voorbeeld wordt de eigenschap ServerName van het bronserververbindingsbeheer ingesteld op een punt (.) om de lokale server aan te geven.

    /parameter CM.SourceServer.ServerName;.  
    
  • /Proj[ect]ProjectFile: (optioneel). Hiermee geeft u het project op waaruit het pakket moet worden opgehaald dat wordt uitgevoerd. Het argument ProjectFile geeft de bestandsnaam .ispac op. Deze parameter wordt voornamelijk gebruikt wanneer u het pakket uitvoert vanuit Visual Studio.

  • /Remopmerking: (optioneel). Bevat opmerkingen over de opdrachtprompt of in opdrachtbestanden. Het argument is optioneel. De waarde van de opmerking is een tekenreeks die tussen aanhalingstekens moet staan of geen witruimte moet bevatten. Als er geen argument is opgegeven, wordt er een lege regel ingevoegd. commentaarwaarden worden verwijderd tijdens de fase van het laden van opdrachten.

  • /Rep[orting]level [; event_guid_or_name[; event_guid_or_name[...]]: (optioneel). Hiermee geeft u op welke typen berichten moeten worden rapporteren. De beschikbare rapportageopties voor niveau zijn als volgt:

    Geen rapportage

    E-fouten worden gerapporteerd.

    W-waarschuwingen worden gerapporteerd.

    Er worden informatieve berichten gerapporteerd.

    C Aangepaste gebeurtenissen worden gerapporteerd.

    P Voortgang wordt gerapporteerd.

    Uitvoerige rapportage.

    De argumenten van V en N zijn wederzijds exclusief ten opzichte van alle andere argumenten; ze moeten afzonderlijk worden gespecificeerd. Als de optie /Rapportage niet is opgegeven, is het standaardniveau E (fouten), W (waarschuwingen) en P (voortgang).

    Alle gebeurtenissen worden voorafgegaan door een tijdstempel in de notatie JJ/MM/DD UU:MM:SS en een GUID of beschrijvende naam, indien beschikbaar.

    De optionele parameter event_guid_or_name is een lijst met uitzonderingen op de logboekproviders. Met de uitzondering worden de gebeurtenissen gespecificeerd die niet gelogd zijn, maar normaal gesproken wel zouden worden gelogd.

    U hoeft een gebeurtenis niet uit te sluiten als de gebeurtenis normaal gesproken niet standaard wordt geregistreerd

  • /Res[tart] {deny | force | ifPossible}: (optioneel). Hiermee geeft u een nieuwe waarde voor de CheckpointUsage eigenschap op het pakket. De betekenis van de parameters is als volgt:

    Ontkennen Hiermee stelt u CheckpointUsage de eigenschap in op DTSCU_NEVER.

    Met Kracht stelt u de CheckpointUsage eigenschap in op DTSCU_ALWAYS.

    ifPossible Hiermee stelt u CheckpointUsage de eigenschap in op DTSCU_IFEXISTS.

    De standaardwaarde van kracht wordt gebruikt als er geen waarde is opgegeven.

  • /Stel [$Sensitive::]propertyPath; waarde: (Optioneel). Hiermee wordt de configuratie van een parameter, variabele, eigenschap, container, logboekprovider, Foreach-enumerator of verbinding in een pakket overschreven. Wanneer deze optie wordt gebruikt, wijzigt /Set het argument propertyPath in de opgegeven waarde. Er kunnen meerdere /Set-opties worden opgegeven.

    Naast het gebruik van de optie /Set met de optie /F[ile] kunt u ook de optie /Set gebruiken met de optie /ISServer of de optie /Project . Wanneer u /Set gebruikt met /Project, /Set stelt parameterwaarden in. Wanneer u /Set met /ISServer gebruikt, stelt /Set eigenschap-overschrijvingen in. Wanneer u /Set met /ISServer gebruikt, kunt u bovendien het optionele $Sensitive voorvoegsel gebruiken om aan te geven dat de eigenschap moet worden behandeld als gevoelig op de Integration Services-server.

    U kunt de waarde van propertyPath bepalen door de wizard Pakketconfiguratie uit te voeren. De paden voor items die u selecteert, worden weergegeven op de pagina Wizard voltooien en kunnen worden gekopieerd en geplakt. Als u de wizard alleen voor dit doel hebt gebruikt, kunt u de wizard annuleren nadat u de paden hebt gekopieerd.

    Hier volgt een voorbeeld van het uitvoeren van een pakket dat is opgeslagen in het bestandssysteem en een nieuwe waarde voor een variabele opgeeft:

    dtexec /f mypackage.dtsx /set \package.variables[myvariable].Value;myvalue

    Het volgende voorbeeld van het uitvoeren van een pakket vanuit het .ispac-projectbestand en het instellen van pakket- en projectparameters.

    /Project c:\project.ispac /Package Package1.dtsx /SET \Package.Variables[$Package::Parameter];1 /SET \Package.Variables[$Project::Parameter];1

    U kunt de optie /Set gebruiken om de locatie te wijzigen van waaruit pakketconfiguraties worden geladen. U kunt de optie /Set echter niet gebruiken om een waarde te overschrijven die tijdens het ontwerp is opgegeven door een configuratie. Zie Package Configurations and Behavior Changes to Integration Services Features in SQL Server 2016 (Pakketconfiguraties en gedragswijzigingen in Integration Services-functies in SQL Server 2016) voor meer informatie over hoe pakketconfiguraties worden toegepast.

  • /Ser[ver]server: (optioneel). Wanneer de optie /SQL of /DTS is opgegeven, geeft deze optie de naam op van de server waaruit het pakket moet worden opgehaald. Als u de optie /Server weglaat en de optie /SQL of /DTS is opgegeven, wordt de pakketuitvoering uitgevoerd op de lokale server. De server_instance waarde kan worden opgegeven.

    De optie /Ser[ver] is vereist wanneer de optie /ISServer is opgegeven.

  • /SQ[L]package_path: laadt een pakket dat is opgeslagen in SQL Server, in msdb-database . Pakketten die zijn opgeslagen in de msdb-database , worden geïmplementeerd met behulp van het pakketimplementatiemodel. Als u pakketten wilt uitvoeren die zijn geïmplementeerd op de Integration Services-server met behulp van het projectimplementatiemodel, gebruikt u de optie /ISServer . Zie Implementatie van projecten en pakketten voor meer informatie over het pakket- en projectimplementatiemodel.

  • Het argument package_path geeft de naam op van het pakket dat moet worden opgehaald. Als mappen zijn opgenomen in het pad, worden ze beëindigd met backslashes ("\"). De package_path waarde kan worden geciteerd. Als het pad of de bestandsnaam die is opgegeven in het argument package_path een spatie bevat, moet u aanhalingstekens plaatsen rond het argument package_path .

    U kunt de opties /User, /Password en /Server samen met de optie /SQL gebruiken.

    Als u de optie /Gebruiker weglaat, wordt Windows-verificatie gebruikt voor toegang tot het pakket. Als u de optie /Gebruiker gebruikt, is de opgegeven /Gebruikersnaam gekoppeld aan SQL Server-verificatie.

    De optie /Password wordt alleen samen met de optie /User gebruikt. Als u de optie /Password gebruikt, wordt het pakket geopend met de opgegeven gebruikersnaam en wachtwoordgegevens. Als u de optie /Password weglaat, wordt een leeg wachtwoord gebruikt.

    Belangrijk

    Gebruik waar mogelijk Windows-verificatie.

  • Als de optie /Server wordt weggelaten, wordt uitgegaan van het standaard lokale exemplaar van SQL Server.

    De optie /SQL kan niet samen met de optie /DTS of /File worden gebruikt. Als er meerdere opties zijn opgegeven, mislukt dtexec .

  • /Su[m]: (optioneel). Toont een incrementeel teller met het aantal rijen dat wordt ontvangen door het volgende onderdeel.

  • /U[ser]user_name: (optioneel). Hiermee kan een pakket worden opgehaald dat wordt beveiligd door SQL Server-verificatie. Deze optie wordt alleen gebruikt wanneer de /SQL-optie is opgegeven. De user_name waarde kan worden geciteerd.

    Belangrijk

    Gebruik waar mogelijk Windows-verificatie.

  • /Va[lidate]: (optioneel). Stopt de uitvoering van het pakket na de validatiefase, zonder het pakket daadwerkelijk uit te voeren. Tijdens de validatie zorgt het gebruik van de optie /WarnAsError ervoor dat dtexec een waarschuwing als een fout behandelt; daarom mislukt het pakket als er een waarschuwing optreedt tijdens de validatie.

  • /VerifyB[uild]major[;minor[;build]]: (optioneel). Controleert het buildnummer van een pakket op basis van de buildnummers die zijn opgegeven tijdens de verificatiefase in de primaire, secundaire en buildargumenten. Als er een mismatch voorkomt, zal het pakket niet worden uitgevoerd.

    De waarden zijn lange gehele getallen. Het argument kan een van de drie vormen hebben, met een waarde voor de primaire waarde die altijd vereist is:

    • belangrijk

    • groot;klein

    • majoor; secundair; bouwen

  • /VerifyP[ackageID]packageID: (optioneel). Controleert de GUID van het pakket dat moet worden uitgevoerd door deze te vergelijken met de waarde die is opgegeven in het argument package_id .

  • /VerifyS[igned]: (optioneel). Zorgt ervoor dat Integration Services de digitale handtekening van het pakket controleert. Als het pakket niet is ondertekend of de handtekening niet geldig is, mislukt het pakket. Zie De bron van pakketten identificeren met digitale handtekeningen voor meer informatie.

    Belangrijk

    Wanneer deze is geconfigureerd om de handtekening van het pakket te controleren, controleert Integration Services alleen of de digitale handtekening aanwezig is, geldig is en afkomstig is van een vertrouwde bron. Integration Services controleert niet of het pakket is gewijzigd.

    Opmerking

    De optionele BlockedSignatureStates registerwaarde kan een instelling opgeven die meer beperkend is dan de optie voor digitale handtekening die is ingesteld in SQL Server Data Tools (SSDT) of op de opdrachtregel van dtexec. In dit geval overschrijft de meer beperkende registerinstelling de andere instellingen.

  • /VerifyV[ersionID]versionID: (Optioneel). Controleert de versie-GUID van een pakket dat moet worden uitgevoerd door deze te vergelijken met de waarde die is opgegeven in het argument version_id tijdens de pakketvalidatiefase.

  • /VLog[Filespec]: (optioneel). Hiermee schrijft u alle Integration Services-pakketgebeurtenissen naar de logboekproviders die zijn ingeschakeld toen het pakket werd ontworpen. Als u Integration Services wilt inschakelen, moet u een logboekprovider voor tekstbestanden inschakelen en logboeken naar een opgegeven tekstbestand schrijven door een pad en bestandsnaam op te nemen als de filespec-parameter .

    Als u de parameter Filespec niet opneemt, schakelt Integration Services geen logboekprovider in voor tekstbestanden. Integration Services schrijft alleen logboekgebeurtenissen naar de logboekproviders die zijn ingeschakeld toen het pakket werd ontworpen.

  • /W[arnAsError]: (optioneel). Zorgt ervoor dat het pakket een waarschuwing als een fout beschouwt; daarom mislukt het pakket als er een waarschuwing optreedt tijdens de validatie. Als er geen waarschuwingen optreden tijdens de validatie en de optie /Validate niet is opgegeven, wordt het pakket uitgevoerd.

  • /X86: (optioneel). Zorgt ervoor dat SQL Server Agent het pakket uitvoert in de 32-bits modus op een 64-bits computer. Deze optie wordt ingesteld door SQL Server Agent wanneer aan de volgende voorwaarden wordt voldaan:

    • Het taakstaptype is het SQL Server Integration Services-pakket.

    • De optie 32-bits runtime gebruiken op het tabblad Uitvoeringsopties van het dialoogvenster Nieuwe taakstap is geselecteerd.

    U kunt deze optie ook instellen voor een SQL Server Agent-taakstap door opgeslagen procedures of SMO (SQL Server Management Objects) te gebruiken om de taak programmatisch te maken.

    Deze optie wordt alleen gebruikt door SQL Server Agent. Deze optie wordt genegeerd als u het dtexec-hulpprogramma uitvoert bij de opdrachtprompt.

Opmerkingen

De volgorde waarin u opdrachtopties opgeeft, kan invloed hebben op de manier waarop het pakket wordt uitgevoerd:

  • Opties worden verwerkt in de volgorde waarin ze op de opdrachtregel worden aangetroffen. Opdrachtbestanden worden gelezen wanneer ze op de opdrachtregel verschijnen. De opdrachten in het opdrachtbestand worden ook verwerkt in de volgorde waarin ze worden aangetroffen.

  • Als dezelfde optie, parameter of variabele meer dan één keer in dezelfde opdrachtregelinstructie wordt weergegeven, heeft het laatste exemplaar van de optie voorrang.

  • /Set - en /ConfigFile-opties worden verwerkt in de volgorde waarin ze worden aangetroffen.

Voorbeelden

In de volgende voorbeelden ziet u hoe u het dtexec-opdrachtpromptprogramma gebruikt om SQL Server Integration Services-pakketten te configureren en uit te voeren.

Pakketten uitvoeren

Gebruik de volgende code om een SSIS-pakket uit te voeren dat is opgeslagen in SQL Server met behulp van Windows-verificatie:

dtexec /sq pkgOne /ser productionServer  

Gebruik de volgende code om een SSIS-pakket uit te voeren dat is opgeslagen in de map Bestandssysteem in het SSIS-pakketarchief:

dtexec /dts "\File System\MyPackage"  

Gebruik de volgende code om een pakket te valideren dat gebruikmaakt van Windows-verificatie en wordt opgeslagen in SQL Server zonder het pakket uit te voeren:

dtexec /sq pkgOne /ser productionServer /va  

Gebruik de volgende code om een SSIS-pakket uit te voeren dat is opgeslagen in het bestandssysteem:

dtexec /f "c:\pkgOne.dtsx"   

Als u een SSIS-pakket wilt uitvoeren dat is opgeslagen in het bestandssysteem en logboekregistratieopties wilt opgeven, gebruikt u de volgende code:

dtexec /f "c:\pkgOne.dtsx" /l "DTS.LogProviderTextFile;c:\log.txt"  

Als u een pakket wilt uitvoeren dat gebruikmaakt van Windows-verificatie en wordt opgeslagen in het standaard lokale exemplaar van SQL Server en de versie controleert voordat deze wordt uitgevoerd, gebruikt u de volgende code:

dtexec /sq pkgOne /verifyv {c200e360-38c5-11c5-11ce-ae62-08002b2b79ef}  

Als u een SSIS-pakket wilt uitvoeren dat is opgeslagen in het bestandssysteem en extern is geconfigureerd, gebruikt u de volgende code:

dtexec /f "c:\pkgOne.dtsx" /conf "c:\pkgOneConfig.cfg"  

Opmerking

De package_path - of filespec-argumenten van de opties /SQL, /DTS of /FILE moeten tussen aanhalingstekens staan als het pad of de bestandsnaam een spatie bevat. Als het argument niet tussen aanhalingstekens staat, kan het argument geen witruimte bevatten.

Optie voor logboekregistratie

Als er drie typen logboekvermeldingen van A, B en C zijn, worden met de volgende ConsoleLog-optie zonder parameter alle drie de logboektypen met alle velden weergegeven:

/CONSOLELOG  

Met de volgende optie worden alle logboektypen weergegeven, maar alleen met de kolommen Naam en Bericht:

/CONSOLELOG NM  

Met de volgende optie worden alle kolommen weergegeven, maar alleen voor logboekvermeldingstype A:

/CONSOLELOG I;LogEntryTypeA  

Met de volgende optie wordt alleen logboekinvoertype A weergegeven, met de kolommen Naam en Bericht:

/CONSOLELOG NM;I;LogEntryTypeA  

Met de volgende optie worden logboekvermeldingen weergegeven voor logboekinvoertypen A en B:

/CONSOLELOG I;LogEntryTypeA;LogEntryTypeB  

U kunt dezelfde resultaten bereiken met behulp van meerdere ConsoleLog-opties :

/CONSOLELOG I;LogEntryTypeA /CONSOLELOG I;LogEntryTypeB  

Als de optie ConsoleLog zonder parameters wordt gebruikt, worden alle velden weergegeven. De opname van een list_options parameter zorgt ervoor dat het volgende resulteert in het weergeven van alleen logboekinvoertype A, met alle velden:

/CONSOLELOG NM;I;LogEntryTypeA /CONSOLELOG  

Hieronder worden alle logboekvermeldingen weergegeven, behalve logboekvermeldingstype A: dat wil gezegd, het geeft logboekvermeldingstypen B en C weer:

/CONSOLELOG E;LogEntryTypeA  

In het volgende voorbeeld worden dezelfde resultaten bereikt met behulp van meerdere ConsoleLog-opties en één uitsluiting:

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG  
/CONSOLELOG E;LogEntryTypeA /CONSOLELOG E;LogEntryTypeA  
/CONSOLELOG E;LogEntryTypeA;LogEntryTypeA  

In het volgende voorbeeld worden geen logboekberichten weergegeven, omdat wanneer een logboekbestandstype wordt gevonden in zowel de opgenomen als uitgesloten lijsten, deze wordt uitgesloten.

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG I;LogEntryTypeA  

SET-optie

In het volgende voorbeeld ziet u hoe u de optie /SET gebruikt, waarmee u de waarde van een pakketeigenschap of variabele kunt wijzigen wanneer u het pakket vanaf de opdrachtregel start.

/SET \package\DataFlowTask.Variables[User::MyVariable].Value;newValue  

Projectoptie

In het volgende voorbeeld ziet u hoe u de optie /Project en /Package gebruikt.

/Project c:\project.ispac /Package Package1.dtsx  

In het volgende voorbeeld ziet u hoe u de opties /Project en /Package gebruikt en pakket- en projectparameters instelt.

/Project c:\project.ispac /Package Package1.dtsx /SET \Package.Variables[$Package::Parameter];1 /SET \Package.Variables[$Project::Parameter];1  
  

ISSERVER-optie

In het volgende voorbeeld ziet u hoe u de optie /ISServer gebruikt.

dtexec /isserver "\SSISDB\MyFolder\MyProject\MyPackage.dtsx" /server "."  

In het volgende voorbeeld ziet u hoe u de optie /ISServer gebruikt en parameters voor project- en verbindingsbeheer instelt.

/Server localhost /ISServer "\SSISDB\MyFolder\Integration Services Project1\Package.dtsx" /Par "$Project::ProjectParameter(Int32)";1 /Par "CM.SourceServer.InitialCatalog";SourceDB