Udostępnij za pośrednictwem


Narzędzie dtexec

Dotyczy:SQL Server SSIS Integration Runtime w ramach usługi Azure Data Factory

Narzędzie wiersza polecenia dtexec służy do konfigurowania i wykonywania pakietów usług SQL Server Integration Services. Narzędzie dtexec zapewnia dostęp do wszystkich funkcji konfiguracji i wykonywania pakietu, takich jak parametry, połączenia, właściwości, zmienne, rejestrowanie i wskaźniki postępu. Narzędzie dtexec umożliwia ładowanie pakietów z następujących źródeł: serwer usług Integration Services, plik projektu ispac, baza danych programu Microsoft SQL Server, magazyn pakietów SSIS i system plików.

Uwaga / Notatka

Gdy używasz bieżącej wersji narzędzia dtexec do uruchamiania pakietu utworzonego przez starszą wersję usług Integration Services, narzędzie tymczasowo uaktualnia pakiet do bieżącego formatu pakietu. Nie można jednak użyć narzędzia dtexec do zapisania uaktualnionego pakietu. Aby uzyskać więcej informacji o tym, jak trwale uaktualnić pakiet do bieżącej wersji, zobacz Uaktualnianie pakietów usług Integration Services.

Ten temat zawiera następujące sekcje:

Serwer usług Integration Services i plik projektu

Gdy używasz narzędzia dtexec do uruchamiania pakietów na serwerze usług Integration Services, program dtexec wywołuje procedury składowane: catalog.create_execution (SSISDB Database), catalog.set_execution_parameter_value (SSISDB Database) i catalog.start_execution (SSISDB Database), aby utworzyć wykonanie, ustawić wartości parametrów i rozpocząć wykonanie. Wszystkie dzienniki wykonywania można wyświetlić z serwera w powiązanych widokach lub przy użyciu standardowych raportów dostępnych w programie SQL Server Management Studio. Aby uzyskać więcej informacji na temat raportów, zobacz Raporty dla serwera usług Integration Services.

Poniżej przedstawiono przykład wykonywania pakietu na serwerze usług Integration Services.

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  

Jeśli używasz narzędzia dtexec do uruchamiania pakietu z pliku projektu ispac, powiązane opcje to: /Proj[ect] i /Pack[age], które są używane do określania ścieżki projektu i nazwy strumienia pakietu. Po przekonwertowaniu projektu na model wdrażania projektu przez uruchomienie Kreatora konwersji projektu usług Integration Services z programu SQL Server Management Studio kreator generuje plik projektu ispac. Aby uzyskać więcej informacji, zobacz Wdrażanie projektów i pakietów usług Integration Services (SSIS).

Można użyć dtexec z narzędziami do planowania firm trzecich, aby zaplanować pakiety wdrożone na serwerze Integration Services.

Zagadnienia dotyczące instalacji na komputerach 64-bitowych

Na komputerze 64-bitowym usługi Integration Services instalują 64-bitową wersję narzędzia dtexec (dtexec.exe). Jeśli musisz uruchamiać niektóre pakiety w trybie 32-bitowym, musisz zainstalować 32-bitową wersję narzędzia dtexec . Aby zainstalować 32-bitową wersję narzędzia dtexec , należy wybrać narzędzia klienckie lub narzędzia SQL Server Data Tools (SSDT) podczas instalacji.

Domyślnie 64-bitowy komputer, który ma zarówno 64-bitowe, jak i 32-bitowe wersje zainstalowanego narzędzia wiersza polecenia usług Integration Services, uruchomi wersję 32-bitową w wierszu polecenia. Wersja 32-bitowa jest uruchamiana, ponieważ ścieżka katalogu dla wersji 32-bitowej jest wyświetlana w zmiennej środowiskowej PATH przed ścieżką katalogu dla wersji 64-bitowej. (Zazwyczaj ścieżka katalogu 32-bitowego to <dysk>:\Program Files(x86)\Microsoft SQL Server\110\DTS\Binn, podczas gdy ścieżka katalogu 64-bitowego to <dysk>:\Program Files\Microsoft SQL Server\110\DTS\Binn.)

Uwaga / Notatka

Jeśli używasz programu SQL Server Agent do uruchamiania narzędzia, program SQL Server Agent automatycznie używa 64-bitowej wersji narzędzia. Program SQL Server Agent używa rejestru, a nie zmiennej środowiskowej PATH, aby zlokalizować prawidłowy plik wykonywalny dla narzędzia.

Aby upewnić się, że uruchamiasz 64-bitową wersję narzędzia w wierszu polecenia, możesz wykonać jedną z następujących akcji:

  • Otwórz okno wiersza polecenia, przejdź do katalogu zawierającego 64-bitową wersję narzędzia (<drive>:\Program Files\Microsoft SQL Server\110\DTS\Binn), a następnie uruchom narzędzie z tej lokalizacji.

  • W wierszu polecenia uruchom narzędzie, wprowadzając pełną ścieżkę (<drive>:\Program Files\Microsoft SQL Server\110\DTS\Binn) do 64-bitowej wersji narzędzia.

  • Trwale zmień kolejność ścieżek w zmiennej środowiskowej PATH, umieszczając ścieżkę 64-bitową (<drive>:\Program Files\Microsoft SQL Server\110\DTS\Binn) przed ścieżką 32-bitową (<drive>:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn) w tej zmiennej.

Zagadnienia dotyczące komputerów z instalacjami równoległymi

Po zainstalowaniu usług SQL Server 2019 Integration Services (SSIS) na maszynie z zainstalowanymi usługami SQL Server 2005 Integration Services (SSIS) lub SQL Server 2008 Integration Services (SSIS) zainstalowano wiele wersji narzędzia dtexec .

Aby upewnić się, że uruchomiono poprawną wersję narzędzia, w wierszu polecenia uruchom narzędzie, wprowadzając pełną ścieżkę (<drive>:\Program Files\Microsoft SQL Server\<version>\DTS\Binn).

Fazy wykonywania

Narzędzie przechodzi przez cztery fazy w trakcie ich wykonywania. Fazy są następujące:

  1. Faza określania źródła poleceń: wiersz polecenia odczytuje listę opcji i argumentów, które zostały określone. Wszystkie kolejne fazy są pomijane, jeśli zostanie napotkana opcja /? lub /HELP .

  2. Faza ładowania pakietu: Pakiet określony przez opcję /SQL, /FILE lub /DTS jest załadowany.

  3. Faza konfiguracji: Opcje są przetwarzane w tej kolejności:

    • Opcje ustawiające flagi pakietu, zmienne i właściwości.

    • Opcje, które weryfikują wersję pakietu i kompilację.

    • Opcje, które konfigurują zachowanie narzędzia w czasie wykonywania, takie jak raportowanie.

  4. Faza walidacji i wykonywania: pakiet jest uruchamiany lub walidowany bez uruchamiania, jeśli określono opcję /VALIDATE.

Kody zakończenia: zwrócone

Kody zakończenia zwracane przez narzędzie dtexec

Po uruchomieniu pakietu program dtexec może zwrócić kod zakończenia. Kod zakończenia służy do wypełniania zmiennej ERRORLEVEL, której wartość można następnie przetestować w instrukcjach warunkowych lub logice rozgałęziania w pliku wsadowym. W poniższej tabeli wymieniono wartości, które narzędzie dtexec może ustawić podczas zamykania.

Wartość Opis
0 Pakiet został wykonany pomyślnie.
1 Pakiet nie powiódł się.
3 Pakiet został anulowany przez użytkownika.
4 Narzędzie nie mogło zlokalizować żądanego pakietu. Nie można odnaleźć pakietu.
5 Narzędzie nie może załadować żądanego pakietu. Nie można załadować pakietu.
6 Narzędzie napotkało wewnętrzny błąd związany ze składnią lub semantyką w wierszu polecenia.

Reguły składni

Reguły składni narzędzi

Wszystkie opcje muszą zaczynać się od ukośnika (/) lub znaku minus (-). Opcje wyświetlane w tym miejscu zaczynają się od ukośnika (/), ale znak minus (-) można zastąpić.

Jeśli argument zawiera spację, musi być ujęty w cudzysłowy. Jeśli argument nie jest ujęty w cudzysłowie, argument nie może zawierać spacji.

Podwójne cudzysłowy w ciągu tekstu objętym cudzysłowami odpowiadają ucieczonym znakom pojedynczych cudzysłowów.

Opcje i argumenty nie zależą od wielkości liter, z wyjątkiem haseł.

Używanie narzędzia dtexec z xp_cmdshell

Używanie narzędzia dtexec z xp_cmdshell

Można uruchomić dtexec w wierszu xp_cmdshell. W poniższym przykładzie pokazano, jak uruchomić pakiet o nazwie UpsertData.dtsx i zignorować kod powrotny:

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

W poniższym przykładzie pokazano, jak uruchomić ten sam pakiet i przechwycić kod powrotny:

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

Ważne

W programie Microsoft SQL Server opcja xp_cmdshell jest domyślnie wyłączona w nowych instalacjach. Tę opcję można włączyć, uruchamiając systemową procedurę składowaną sp_configure. Aby uzyskać więcej informacji, zobacz xp_cmdshell Server Configuration Option.

Używanie narzędzia dtexec z powłoki Bash

Powłoka Bash jest popularną powłoką dla systemu Linux. Można go również używać w systemie Windows. Polecenie dtexec można uruchomić z poziomu wiersza polecenia powłoki Bash. Zwróć uwagę, że średnik (;) jest operatorem rozdzielacza poleceń w Bash. ** Jest to szczególnie ważne w przypadku przekazywania wartości do pakietu przy użyciu opcji /Conn[ection], /Par[arameter] lub /Set, ponieważ używają średnika do oddzielenia nazwy i wartości podanej dla elementu. Na poniższym przykładzie pokazano, jak prawidłowo obsłużyć średnik i inne znaki używając Bash oraz przekazując wartości do pakietu.

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

Składnia

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

Parametry

  • /? [option_name]: (Opcjonalnie). Wyświetla opcje wiersza polecenia lub wyświetla pomoc dla określonego option_name , a następnie zamyka narzędzie.

    Jeśli określisz argument option_name, narzędzie dtexec uruchamia SQL Server Books Online i wyświetla temat dotyczący narzędzia dtexec.

  • /Ca[llerInfo]: (Opcjonalnie). Określa dodatkowe informacje dotyczące wykonywania pakietu. Po uruchomieniu pakietu przy użyciu agenta programu SQL Server agent ustawia ten argument, aby wskazać, że wykonanie pakietu jest wywoływane przez agenta programu SQL Server. Ten parametr jest ignorowany, gdy narzędzie dtexec jest uruchamiane z wiersza polecenia.

  • /CheckF[ile]filespec: (Opcjonalnie). Ustawia właściwość CheckpointFileName w pakiecie na ścieżkę i plik określony w filespec. Ten plik jest używany podczas ponownego uruchamiania pakietu. Jeśli ta opcja jest określona i nie podano żadnej wartości dla nazwy pliku, parametr CheckpointFileName dla pakietu jest ustawiony na pusty ciąg. Jeśli ta opcja nie zostanie określona, wartości w pakiecie zostaną zachowane.

  • /CheckP[ointing]{on\off} : (Opcjonalnie). Ustawia wartość określającą, czy pakiet używa punktów kontrolnych podczas wykonywania pakietu. Wartość on określa, że pakiet, który się nie powiódł, należy uruchomić ponownie. Gdy pakiet jest ponownie uruchamiany, silnik wykonawczy używa pliku punktu kontrolnego do wznowienia pakietu od punktu awarii.

    Wartość domyślna jest włączona, jeśli opcja jest zadeklarowana bez wartości. Wykonanie pakietu kończy się niepowodzeniem, jeśli wartość jest ustawiona na włączone, a nie można odnaleźć pliku punktu kontrolnego. Jeśli ta opcja nie zostanie określona, wartość ustawiona w pakiecie zostanie zachowana. Aby uzyskać więcej informacji, zobacz Ponowne uruchamianie pakietów przy użyciu punktów kontrolnych.

    /CheckPointing w opcji dtexec jest odpowiednikiem ustawienia właściwości SaveCheckpoints pakietu na True, a właściwość CheckpointUsage na Always.

  • /Com[mandFile]filespec: (Opcjonalnie). Określa opcje polecenia uruchamiane z dtexec. Plik określony w pliku jest otwarty i opcje z pliku są odczytywane do momentu znalezienia EOF w pliku. filespec to plik tekstowy. Argument filespec określa nazwę pliku i ścieżkę pliku polecenia do skojarzenia z wykonaniem pakietu.

  • /Conf[igFile]filespec: (Opcjonalnie). Określa plik konfiguracji do wyodrębniania wartości. Korzystając z tej opcji, można ustawić konfigurację czasu wykonywania, która różni się od konfiguracji określonej w czasie projektowania pakietu. Różne ustawienia konfiguracji można przechowywać w pliku konfiguracji XML, a następnie załadować ustawienia przed wykonaniem pakietu przy użyciu opcji /ConfigFile .

    Możesz użyć / ConfigFile opcji, aby załadować dodatkowe konfiguracje w czasie wykonywania, które nie zostały określone w czasie projektowania. Nie można jednak użyć opcji /ConfigFile , aby zastąpić skonfigurowane wartości określone również w czasie projektowania. Aby dowiedzieć się, jak są stosowane konfiguracje pakietów, zobacz Konfiguracje pakietów.

  • /Conn[ection]id_or_name; connection_string [[; id_or_name; connection_string]...]: (Opcjonalnie). Określa, że menedżer połączeń o określonej nazwie lub identyfikatorze GUID znajduje się w pakiecie i określa parametry połączenia.

    Ta opcja wymaga określenia obu parametrów: w argumencie id_or_name musi być podana nazwa menedżera połączeń lub identyfikator GUID, a w argumencie connection_string należy określić prawidłowe parametry połączenia. Aby uzyskać więcej informacji, zobacz Integration Services (SSIS) Connections (Połączenia usług Integration Services (SSIS).

    W czasie wykonywania można użyć opcji /Connection , aby załadować konfiguracje pakietów z lokalizacji innej niż lokalizacja określona w czasie projektowania. Następnie wartości tych konfiguracji zastępują wartości, które zostały pierwotnie określone. Można jednak użyć / Connection opcji tylko dla konfiguracji, takich jak konfiguracje programu SQL Server, które używają menedżera połączeń. Aby dowiedzieć się, jak są stosowane konfiguracje pakietów, zobacz Konfiguracja pakietów i Zmiany zachowania w funkcjach usług Integration Services w programie SQL Server 2016.

  • /Cons[oleLog] [[displayoptions];[ list_options; src_name_or_guid]...]: (Opcjonalnie). Wyświetla określone wpisy dziennika w konsoli podczas wykonywania pakietu. Jeśli ta opcja zostanie pominięta, w konsoli nie są wyświetlane żadne wpisy dziennika. Jeśli opcja jest określona bez parametrów, które ograniczają wyświetlanie, zostanie wyświetlony każdy wpis dziennika. Aby ograniczyć wpisy wyświetlane w konsoli, można określić kolumny do pokazania przy użyciu parametru displayoptions i ograniczyć typy wpisów dziennika przy użyciu parametru list_options .

    Uwaga / Notatka

    Po uruchomieniu pakietu na serwerze usług Integration Services przy użyciu /ISSERVER parametru dane wyjściowe konsoli są ograniczone, a większość opcji /Cons[oleLog] nie ma zastosowania. Wszystkie dzienniki wykonywania można wyświetlić z serwera w powiązanych widokach lub przy użyciu standardowych raportów dostępnych w programie SQL Server Management Studio. Aby uzyskać więcej informacji na temat raportów, zobacz Raporty dla serwera usług Integration Services.

    Wartości displayoptions są następujące:

    • N (nazwa)

    • C (komputer)

    • O (Operator)

    • S (nazwa źródła)

    • G (źródłowy identyfikator GUID)

    • X (GUID wykonania)

    • M (wiadomość)

    • T (Godzina rozpoczęcia i zakończenia)

    Wartości list_options są następujące:

    • I — określa listę dołączania. Rejestrowane są tylko nazwy źródeł lub określone identyfikatory GUID.

    • E — określa listę wykluczeń. Określone nazwy źródłowe lub identyfikatory GUID nie są rejestrowane.

    • Parametr src_name_or_guid określony do dołączania lub wykluczania jest nazwą zdarzenia, nazwą źródła lub identyfikatorem GUID źródła.

    Jeśli używasz wielu opcji /ConsoleLog w tym samym wierszu polecenia, wchodzą w interakcje w następujący sposób:

    • Ich kolejność wyglądu nie ma wpływu.

    • Jeśli w wierszu polecenia nie ma list dołączania, listy wykluczeń są stosowane do wszystkich rodzajów wpisów dziennika.

    • Jeśli w wierszu polecenia znajdują się jakiekolwiek listy dołączania, listy wykluczeń są stosowane względem unii wszystkich list dołączania.

    Aby zapoznać się z kilkoma przykładami opcji /ConsoleLog , zobacz sekcję Uwagi .

  • /D[ts]package_path: (Opcjonalnie). Ładuje pakiet z magazynu pakietów SSIS. Pakiety przechowywane w magazynie pakietów usług SSIS są wdrażane przy użyciu starszego modelu wdrażania pakietów. Aby uruchomić pakiety wdrożone na serwerze usług Integration Services przy użyciu modelu wdrażania projektu, użyj opcji /ISServer . Aby uzyskać więcej informacji na temat modeli wdrażania pakietów i projektów, zobacz Wdrażanie projektów i pakietów.

    Argument package_path określa względną ścieżkę pakietu SSIS, zaczynając od głównego katalogu sklepu pakietów SSIS, i zawiera nazwę pakietu SSIS. Jeśli ścieżka lub nazwa pliku określona w argumencie package_path zawiera spację, należy umieścić znaki cudzysłowu wokół argumentu package_path .

    Opcji /DTS nie można używać razem z /File lub /SQL opcji. Jeśli określono wiele opcji, program dtexec zakończy się niepowodzeniem.

  • /De[crypt]password: (Opcjonalnie). Ustawia hasło odszyfrowywania używane podczas ładowania pakietu z szyfrowaniem haseł.

  • (Opcjonalnie) Tworzy pliki zrzutu debugowania, mdmp i .tmp, gdy wystąpi co najmniej jedno określone zdarzenie podczas uruchamiania pakietu. Argument kodu błędu określa typ kodu zdarzenia: błąd, ostrzeżenie lub informacja, który wyzwala system do utworzenia plików zrzutu debugowania. Aby określić wiele kodów zdarzeń, należy oddzielić każdy argument kodu błędu średnikami (;). Nie dołączaj cudzysłowów do argumentu kodu błędu .

    Poniższy przykład generuje pliki zrzutu debugowania, gdy wystąpi błąd DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.

    /Dump 0xC020801C  
    

    Kod błędu/Dump: Domyślnie usługi Integration Services przechowują pliki zrzutu debugowania w folderze <drive>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps.

    Uwaga / Notatka

    Pliki zrzutu debugowania mogą zawierać poufne informacje. Użyj listy kontroli dostępu (ACL), aby ograniczyć dostęp do plików lub skopiować pliki do folderu z ograniczonym dostępem. Na przykład przed wysłaniem plików debugowania do usług pomocy technicznej firmy Microsoft zalecamy usunięcie wszelkich poufnych lub poufnych informacji.

    Aby zastosować tę opcję do wszystkich pakietów uruchamianych przez narzędzie dtexec , dodaj wartość DumpOnCodes REG_SZ do klucza rejestru HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath. Wartość danych w dumpOnCodes określa kod błędu lub kody, które wyzwalają system do tworzenia plików zrzutu debugowania. Wiele kodów błędów musi być rozdzielonych średnikami (;).

    W przypadku dodania wartości DumpOnCodes do klucza rejestru i użycia opcji /Dump system tworzy pliki zrzutu debugowania, które są oparte na obu ustawieniach.

    Aby uzyskać więcej informacji na temat plików zrzutu debugowania, zobacz Generowanie plików zrzutu na potrzeby wykonywania pakietów.

  • /DumpOnError: (Opcjonalnie) Tworzy pliki zrzutu debugowania, mdmp i .tmp, gdy wystąpi błąd podczas uruchamiania pakietu.

    Domyślnie usługi Integration Services przechowują pliki zrzutu debugowania w folderze <drive>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps.

    Uwaga / Notatka

    Pliki zrzutu debugowania mogą zawierać poufne informacje. Użyj listy kontroli dostępu (ACL), aby ograniczyć dostęp do plików lub skopiować pliki do folderu z ograniczonym dostępem. Na przykład przed wysłaniem plików debugowania do usług pomocy technicznej firmy Microsoft zalecamy usunięcie wszelkich poufnych lub poufnych informacji.

    Aby zastosować tę opcję do wszystkich pakietów uruchamianych przez narzędzie dtexec , dodaj wartość REG_DWORD DumpOnError do klucza rejestru HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath. Wartość wartości REG_DWORD DumpOnError określa, czy opcja /DumpOnError musi być używana z narzędziem dtexec :

    • Wartość danych innych niż zero wskazuje, że system tworzy pliki zrzutu debugowania w przypadku wystąpienia dowolnego błędu, niezależnie od tego, czy używasz opcji /DumpOnError z narzędziem dtexec .

    • Wartość zerowa danych wskazuje, że system nie utworzy plików zrzutu debugowania, chyba że użyjesz opcji /DumpOnError z narzędziem dtexec .

    Aby uzyskać więcej informacji na temat plików zrzutu debugowania, zobacz Generowanie plików zrzutu na potrzeby wykonywania pakietów

  • /Env[Reference]identyfikator odwołania do środowiska: (Opcjonalnie). Określa odwołanie środowiska (ID), które jest używane przez wykonanie pakietu, dla pakietu wdrożonego na serwerze usług Integration Services. Parametry skonfigurowane do powiązania ze zmiennymi używają wartości zmiennych zawartych w środowisku.

    Należy użyć opcji /Env[Reference] razem z opcjami /ISServer i /Server.

    Ten parametr jest używany przez agenta programu SQL Server.
    -- /F[ile]filespec: (Opcjonalnie). Ładuje pakiet zapisany w systemie plików. Pakiety zapisane w systemie plików są wdrażane przy użyciu starszego modelu wdrażania pakietów. Aby uruchomić pakiety wdrożone na serwerze usług Integration Services przy użyciu modelu wdrażania projektu, użyj opcji /ISServer . Aby uzyskać więcej informacji na temat modeli wdrażania pakietów i projektów, zobacz Wdrażanie projektów i pakietów

Argument filespec określa ścieżkę i nazwę pliku pakietu. Ścieżkę można określić jako ścieżkę universal naming Convention (UNC) lub ścieżkę lokalną. Jeśli ścieżka lub nazwa pliku określona w argumencie filespec zawiera spację, należy umieścić znaki cudzysłowu wokół argumentu filespec .

  • /File opcji nie można używać razem z /DTS lub /SQL opcji. Jeśli określono wiele opcji, program dtexec zakończy się niepowodzeniem.

  • /H[elp] [option_name]: (Opcjonalnie). Wyświetla pomoc dotyczącą opcji lub wyświetla pomoc dla określonego option_name i zamyka narzędzie.

    Jeśli określisz argument option_name, narzędzie dtexec uruchamia SQL Server Books Online i wyświetla temat dotyczący narzędzia dtexec.

  • /ISServerpackagepath: (Opcjonalnie). Uruchamia pakiet wdrożony na serwerze usług Integration Services. Argument PackagePath określa pełną ścieżkę i nazwę pliku pakietu wdrożonego na serwerze usług Integration Services. Jeśli ścieżka lub nazwa pliku określona w argumencie PackagePath zawiera spację, należy umieścić znaki cudzysłowu wokół argumentu PackagePath .

    Format pakietu jest następujący:

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

    Należy użyć /Server opcji razem z /ISSERVER opcji. Tylko uwierzytelnianie systemu Windows może wykonać pakiet na serwerze SSIS. Bieżący użytkownik systemu Windows jest używany do uzyskiwania dostępu do pakietu. Jeśli opcja /Server zostanie pominięta, przyjmuje się domyślne lokalne wystąpienie programu SQL Server.

    Opcji /ISSERVER nie można używać razem z /DTS, /SQL lub /File opcji. Jeśli określono wiele opcji, program dtexec zakończy się niepowodzeniem.

    Ten parametr jest używany przez agenta programu SQL Server.

  • /L[ogger]classid_orprogid; configstring: (Opcjonalnie). Kojarzy co najmniej jednego dostawcę dziennika z wykonaniem pakietu SSIS. Parametr classid_orprogid określa dostawcę dziennika i można go określić jako identyfikator GUID klasy. configstring to ciąg używany do konfigurowania usługodawcy dzienników.

    Na poniższej liście przedstawiono dostępnych dostawców logów:

    • Plik tekstowy:

      • 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

      • ClassID: {6A833A1-E4B2-4431-831B-DE695049DC61}

    • Dziennik zdarzeń systemu Windows:

      • ProgID: DTS. LogProviderEventLog.1

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

    • Plik XML:

      • ProgID: DTS. LogProviderXMLFile.1

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

  • /M[axConcurrent]concurrent_executables: (Opcjonalnie). Określa liczbę plików wykonywalnych, które pakiet może być uruchamiany współbieżnie. Określona wartość musi być nieujemną liczbą całkowitą lub -1. Wartość -1 oznacza, że usługa SSIS będzie zezwalać na maksymalną liczbę współbieżnych plików wykonywalnych, które są równe całkowitej liczbie procesorów na komputerze wykonującym pakiet, a także dwa.

  • /Pack[age]PackageName: (Opcjonalnie). Określa pakiet, który jest wykonywany. Ten parametr jest używany głównie podczas wykonywania pakietu z programu Visual Studio.

  • /P[assword]password: (Opcjonalnie). Umożliwia pobieranie pakietu chronionego przez uwierzytelnianie programu SQL Server. Ta opcja jest używana razem z /User opcji. Jeśli opcja /Password jest pominięta i / User opcja jest używana, używane jest puste hasło. Wartość hasła może być cytowana.

    Ważne

    Jeśli to możliwe, użyj uwierzytelniania systemu Windows.

  • /Par[ameter] [$Package:: | $Project:: | $ServerOption::] parameter_name [(data_type)]; literal_value: (opcjonalnie). Określa wartości parametrów. Można określić wiele opcji /Parameter . Typy danych to CLR TypeCodes, reprezentowane jako ciągi znaków. W przypadku parametru innego niż ciąg typ danych jest określony w nawiasie, zgodnie z nazwą parametru.

    /Parametr opcji można użyć tylko z /ISServer opcji.

    Prefiksy $Package, $Project i $ServerOption służą do wskazywania odpowiednio parametru pakietu, parametru projektu i parametru opcji serwera. Domyślnym typem parametru jest pakiet.

    Poniżej przedstawiono przykład wykonywania pakietu i podawania wartości myvalue dla parametru projektu (myparam) oraz wartości całkowitej 12 dla parametru pakietu (anotherparam).

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

    Można również ustawić właściwości menedżera połączeń przy użyciu parametrów. Prefiks cm służy do oznaczania parametru menedżera połączeń.

    W poniższym przykładzie właściwość InitialCatalog menedżera połączeń SourceServer jest ustawiona na ssisdbwartość .

    /parameter CM.SourceServer.InitialCatalog;ssisdb  
    

    W poniższym przykładzie właściwość ServerName menedżera połączeń SourceServer jest ustawiona na kropkę (.), aby wskazać serwer lokalny.

    /parameter CM.SourceServer.ServerName;.  
    
  • /Proj[ect]ProjectFile: (Opcjonalnie). Określa projekt, z którego ma zostać pobrany pakiet, który jest wykonywany. Argument ProjectFile określa nazwę pliku ispac. Ten parametr jest używany głównie podczas wykonywania pakietu z programu Visual Studio.

  • /Remcomment: (Opcjonalnie). Zawiera komentarze w wierszu polecenia lub w plikach poleceń. Argument jest opcjonalny. Wartość komentarza jest ciągiem, który musi być ujęta w cudzysłów lub nie zawiera białych znaków. Jeśli argument nie zostanie określony, wstawiony jest pusty wiersz. wartości komentarzy są odrzucane podczas fazy pozyskiwania źródeł poleceń.

  • /Rep[orting]level [; event_guid_or_name[; event_guid_or_name[...]]: (Opcjonalnie). Określa typy komunikatów do raportowania. Dostępne opcje raportowania dla poziomu są następujące:

    N Brak raportowania.

    Zgłaszane są błędy E.

    Ostrzeżenia są zgłaszane.

    Podawane są komunikaty informacyjne.

    Wydarzenia niestandardowe C są zgłaszane.

    P Zgłaszany jest postęp.

    V Pełne raportowanie.

    Argumenty V i N wykluczają się wzajemnie ze wszystkimi innymi argumentami; muszą być określone samodzielnie. Jeśli opcja /Reporting nie jest określona, domyślnym poziomem jest E (błędy), W (ostrzeżenia) i P (postęp).

    Wszystkie zdarzenia są poprzedzone znacznikiem czasu w formacie "RR/MM/DD HH:MM:SS" oraz opcjonalnie identyfikatorem GUID albo nazwą, jeśli jest dostępna.

    Opcjonalny parametr event_guid_or_name jest listą wyjątków dla dostawców dzienników. Wyjątek określa zdarzenia, które nie są rejestrowane, które w przeciwnym razie mogły zostać zarejestrowane.

    Nie musisz wykluczać zdarzenia, jeśli zdarzenie nie jest domyślnie rejestrowane

  • /Res[tart] {deny | force | ifPossible}: (Opcjonalnie). Określa nową wartość właściwości CheckpointUsage w pakiecie. Znaczenia parametrów są następujące:

    Odmów Ustawia CheckpointUsage właściwość na DTSCU_NEVER.

    Siła Ustawia CheckpointUsage właściwość na DTSCU_ALWAYS.

    ifPossible ustawia właściwość CheckpointUsage na DTSCU_IFEXISTS.

    Wartość domyślna force jest używana, jeśli nie określono żadnej wartości.

  • /Set [$Sensitive::]propertyPath; wartość: (opcjonalnie). Zastępuje konfigurację parametru, zmiennej, właściwości, kontenera, dostawcy dzienników, modułu wyliczającego Foreach lub połączenia w pakiecie. Gdy ta opcja jest używana, /Set zmienia argument propertyPath na określoną wartość. Można określić wiele /Set opcji.

    Oprócz używania opcji /Set z opcją /F[ile], można również użyć opcji /Set z opcją /ISServer lub opcją /Project. Jeśli używasz /Set z /Project, /Set ustawia wartości parametrów. Jeśli używasz /Set z /ISServer, /Set ustawia przesłonięcia właściwości. Ponadto w przypadku używania /Set z /ISServer można użyć opcjonalnego prefiksu $Sensitive, aby wskazać, że właściwość powinna być traktowana jako wrażliwa na serwerze usług Integration Services.

    Wartość propertyPath można określić, uruchamiając Kreatora konfiguracji pakietów. Ścieżki wybranych elementów są wyświetlane na ostatniej stronie Kończenie pracy kreatora i można je skopiować i wkleić. Jeśli kreator był używany tylko do tego celu, możesz anulować kreatora po skopiowaniu ścieżek.

    Poniżej przedstawiono przykład wykonywania pakietu zapisanego w systemie plików i podawania nowej wartości dla zmiennej:

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

    Poniższy przykład uruchamiania pakietu z pliku projektu ispac i ustawiania pakietu i parametrów projektu.

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

    Możesz użyć /Set opcji, aby zmienić lokalizację, z której są ładowane konfiguracje pakietów. Nie można jednak użyć /Set opcji, aby zastąpić wartość, która została określona przez konfigurację w czasie projektowania. Aby dowiedzieć się, jak są stosowane konfiguracje pakietów, zobacz Konfiguracja pakietów i Zmiany zachowania w funkcjach usług Integration Services w programie SQL Server 2016.

  • /Ser[ver]server: (Opcjonalnie). Po określeniu opcji /SQL lub /DTS ta opcja określa nazwę serwera, z którego ma być pobierany pakiet. Jeśli pominiesz opcję /Server, a opcja /SQL lub /DTS jest określona, wykonanie pakietu zostanie wypróbowane względem serwera lokalnego. Wartość server_instance może być cytowana.

    /Ser[ver] opcja jest wymagana, gdy jest określona opcja /ISServer.

  • /SQ[L]package_path: ładuje pakiet przechowywany w programie SQL Server w bazie danych msdb . Pakiety przechowywane w bazie danych msdb są wdrażane przy użyciu modelu wdrażania pakietów. Aby uruchomić pakiety wdrożone na serwerze usług Integration Services przy użyciu modelu wdrażania projektu, użyj opcji /ISServer . Aby uzyskać więcej informacji na temat modeli wdrażania pakietów i projektów, zobacz Wdrażanie projektów i pakietów.

  • Argument package_path określa nazwę pakietu do pobrania. Jeśli foldery znajdują się w ścieżce, zostaną one zakończone ukośnikami odwrotnymi ("\"). Wartość package_path można cytować. Jeśli ścieżka lub nazwa pliku określona w argumencie package_path zawiera spację, należy umieścić znaki cudzysłowu wokół argumentu package_path .

    Można użyć /User, /Password i /Server opcje razem z /SQL opcji.

    Jeśli pominięto /User opcji, uwierzytelnianie systemu Windows jest używane do uzyskiwania dostępu do pakietu. Jeśli używasz opcji /User, nazwa logowania /User jest powiązana z uwierzytelnianiem SQL Server.

    /Password opcja jest używana tylko razem z /User opcji. Jeśli używasz / Password opcji, pakiet jest dostępny z podaną nazwą użytkownika i hasłem. Jeśli pominięto /Password opcji, zostanie użyte puste hasło.

    Ważne

    Jeśli to możliwe, użyj uwierzytelniania systemu Windows.

  • Jeśli opcja /Server zostanie pominięta, przyjmuje się domyślne lokalne wystąpienie programu SQL Server.

    /SQL opcji nie można używać razem z /DTS lub /File opcji. Jeśli określono wiele opcji, program dtexec zakończy się niepowodzeniem.

  • /Su[m]: (Opcjonalnie). Przedstawia licznik przyrostowy zawierający liczbę wierszy, które zostaną odebrane przez następny składnik.

  • /U[ser]user_name: (Opcjonalnie). Umożliwia pobieranie pakietu chronionego przez uwierzytelnianie programu SQL Server. Ta opcja jest używana tylko wtedy, gdy jest określona opcja /SQL . Wartość user_name można cytować.

    Ważne

    Jeśli to możliwe, użyj uwierzytelniania systemu Windows.

  • /Va[lidate]: (Opcjonalnie). Zatrzymuje wykonywanie pakietu po fazie walidacji bez faktycznego uruchomienia pakietu. Podczas walidacji użycie opcji /WarnAsError powoduje, że obiekt dtexec traktuje ostrzeżenie jako błąd; w związku z tym pakiet kończy się niepowodzeniem, jeśli podczas walidacji wystąpi ostrzeżenie.

  • /VerifyB[uild]major[;drobne[;kompilacja]]: (Opcjonalnie). Sprawdza numer kompilacji pakietu względem numerów kompilacji, które zostały określone w fazie weryfikacji w argumentach głównych, pomocniczych i kompilacji . Jeśli wystąpi niezgodność, pakiet nie zostanie wykonany.

    Wartości są długimi liczbami całkowitymi. Argument może mieć jedną z trzech formularzy z wartością dla zawsze wymaganych głównych elementów:

    • główny

    • główne; pomniejsze

    • główne; drobne; kompilacja

  • /VerifyP[ackageID]packageID: (Opcjonalnie). Sprawdza identyfikator GUID pakietu do wykonania, porównując go z wartością określoną w argumencie package_id .

  • /VerifyS[igned]: (Opcjonalnie). Powoduje, że Integration Services sprawdzają podpis cyfrowy pakietu. Jeśli pakiet nie jest podpisany lub podpis jest nieprawidłowy, pakiet kończy się niepowodzeniem. Aby uzyskać więcej informacji, zobacz Identyfikowanie źródła pakietów przy użyciu podpisów cyfrowych.

    Ważne

    Po skonfigurowaniu sprawdzania podpisu pakietu usługi Integration Services sprawdzają tylko, czy podpis cyfrowy jest obecny, jest prawidłowy i pochodzi z zaufanego źródła. Usługi Integration Services nie sprawdzają, czy pakiet został zmieniony.

    Uwaga / Notatka

    Opcjonalna wartość rejestru BlockedSignatureStates może określać ustawienie bardziej restrykcyjne niż opcja podpisu cyfrowego ustawiona w SQL Server Data Tools (SSDT) lub w wierszu polecenia dtexec. W takiej sytuacji bardziej restrykcyjne ustawienie rejestru zastępuje inne ustawienia.

  • /VerifyV[ersionID]versionID: (Opcjonalnie). Sprawdza identyfikator GUID wersji pakietu do wykonania, porównując go z wartością określoną w argumencie version_id podczas fazy weryfikacji pakietu.

  • /VLog[Filespec]: (Opcjonalnie). Zapisuje wszystkie zdarzenia pakietu Integration Services do włączonych dostawców logów podczas projektowania pakietu. Aby usługi Integration Services włączały dostawcę dzienników dla plików tekstowych i zapisywały zdarzenia dziennika w określonym pliku tekstowym, dołącz ścieżkę i nazwę pliku jako parametr Filespec .

    Jeśli nie dołączysz parametru Filespec , usługi Integration Services nie włączą dostawcy dzienników dla plików tekstowych. Usługi Integration Services zapisują tylko zdarzenia dziennika dla dostawców dzienników, którzy zostali włączeni podczas projektowania pakietu.

  • /W[arnAsError]: (Opcjonalnie). Powoduje, że pakiet rozważa ostrzeżenie jako błąd; w związku z tym pakiet kończy się niepowodzeniem, jeśli podczas walidacji wystąpi ostrzeżenie. Jeśli podczas walidacji nie wystąpią żadne ostrzeżenia i /Validate opcja nie zostanie określona, pakiet zostanie wykonany.

  • /X86: (Opcjonalnie). Powoduje, że program SQL Server Agent uruchamia pakiet w trybie 32-bitowym na komputerze 64-bitowym. Ta opcja jest ustawiana przez agenta programu SQL Server, gdy spełnione są następujące warunki:

    • Typ kroku zadania to pakiet usług SQL Server Integration Services.

    • Opcja Użyj 32-bitowego środowiska uruchomieniowego na karcie Opcje wykonywania w oknie dialogowym Nowy krok zadania jest zaznaczona.

    Tę opcję można również ustawić dla kroku zadania agenta programu SQL Server przy użyciu procedur składowanych lub obiektów zarządzania programu SQL Server (SMO), aby programowo utworzyć zadanie.

    Ta opcja jest używana tylko przez agenta programu SQL Server. Ta opcja jest ignorowana w przypadku uruchomienia narzędzia dtexec w wierszu polecenia.

Uwagi

Kolejność określania opcji poleceń może mieć wpływ na sposób wykonywania pakietu:

  • Opcje są przetwarzane w kolejności, w której występują w wierszu polecenia. Pliki poleceń są odczytywane w miarę ich napotkania w wierszu polecenia. Polecenia w pliku poleceń są również przetwarzane w kolejności ich napotkania.

  • Jeśli ta sama opcja, parametr lub zmienna pojawia się w tej samej instrukcji wiersza polecenia więcej niż raz, ostatnie wystąpienie opcji ma pierwszeństwo.

  • /Set i /ConfigFile opcje są przetwarzane w kolejności ich napotkania.

Przykłady

W poniższych przykładach pokazano, jak używać narzędzia wiersza polecenia dtexec do konfigurowania i wykonywania pakietów usług SQL Server Integration Services.

Uruchamianie pakietów

Aby wykonać pakiet usług SSIS zapisany w programie SQL Server przy użyciu uwierzytelniania systemu Windows, użyj następującego kodu:

dtexec /sq pkgOne /ser productionServer  

Aby wykonać pakiet usług SSIS zapisany w folderze System plików w magazynie pakietów usług SSIS, użyj następującego kodu:

dtexec /dts "\File System\MyPackage"  

Aby sprawdzić poprawność pakietu korzystającego z uwierzytelniania systemu Windows i jest zapisywany w programie SQL Server bez wykonywania pakietu, użyj następującego kodu:

dtexec /sq pkgOne /ser productionServer /va  

Aby wykonać pakiet usług SSIS zapisany w systemie plików, użyj następującego kodu:

dtexec /f "c:\pkgOne.dtsx"   

Aby wykonać pakiet usług SSIS zapisany w systemie plików i określić opcje rejestrowania, użyj następującego kodu:

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

Aby wykonać pakiet, który używa uwierzytelniania systemu Windows i jest zapisywany w domyślnym lokalnym wystąpieniu programu SQL Server, i sprawdzić wersję przed jego wykonaniem, użyj następującego kodu:

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

Aby wykonać pakiet usług SSIS zapisany w systemie plików i skonfigurowany zewnętrznie, użyj następującego kodu:

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

Uwaga / Notatka

Argumenty package_path lub filespec opcji /SQL, /DTS lub /FILE muszą być ujęte w cudzysłowie, jeśli ścieżka lub nazwa pliku zawiera spację. Jeśli argument nie jest ujęty w cudzysłowie, argument nie może zawierać spacji.

Opcja rejestrowania

Jeśli istnieją trzy typy pozycji dziennika A, B i C, następująca opcja ConsoleLog bez parametru wyświetla wszystkie trzy typy dzienników ze wszystkimi polami:

/CONSOLELOG  

Poniższa opcja wyświetla wszystkie typy dzienników, ale tylko z kolumnami Nazwa i Komunikat:

/CONSOLELOG NM  

Poniższa opcja wyświetla wszystkie kolumny, ale tylko dla typu wpisu dziennika A:

/CONSOLELOG I;LogEntryTypeA  

Poniższa opcja wyświetla tylko typ wpisu dziennika A z kolumnami Nazwa i Komunikat:

/CONSOLELOG NM;I;LogEntryTypeA  

Poniższa opcja wyświetla wpisy dziennika dla typów wpisów dziennika A i B:

/CONSOLELOG I;LogEntryTypeA;LogEntryTypeB  

Te same wyniki można osiągnąć przy użyciu wielu opcji ConsoleLog :

/CONSOLELOG I;LogEntryTypeA /CONSOLELOG I;LogEntryTypeB  

Jeśli opcja ConsoleLog jest używana bez parametrów, zostaną wyświetlone wszystkie pola. Dołączenie parametru list_options powoduje, że poniższe polecenie wyświetla tylko wpisy dziennika typu A, obejmujące wszystkie pola:

/CONSOLELOG NM;I;LogEntryTypeA /CONSOLELOG  

Poniżej są wyświetlane wszystkie wpisy dziennika z wyjątkiem typu wpisu dziennika A: oznacza to, że wyświetla typy pozycji dziennika B i C:

/CONSOLELOG E;LogEntryTypeA  

W poniższym przykładzie te same wyniki są osiągane przy użyciu wielu opcji ConsoleLog i pojedynczego wykluczenia:

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

W poniższym przykładzie nie są wyświetlane żadne komunikaty dziennika, ponieważ po znalezieniu typu pliku dziennika zarówno na listach dołączonych, jak i wykluczonych, zostanie on wykluczony.

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG I;LogEntryTypeA  

OPCJA ZESTAW

W poniższym przykładzie pokazano, jak użyć opcji /SET , która umożliwia zmianę wartości dowolnej właściwości pakietu lub zmiennej podczas uruchamiania pakietu z wiersza polecenia.

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

Opcja projektu

W poniższym przykładzie pokazano, jak używać /Project i /Package opcji.

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

W poniższym przykładzie pokazano, jak używać opcji /Project i /Package oraz ustawiać parametry pakietu i projektu.

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

Opcja ISServer

W poniższym przykładzie pokazano, jak użyć opcji /ISServer .

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

W poniższym przykładzie pokazano, jak używać opcji /ISServer i ustawić parametry projektu i menedżera połączeń.

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