Spuštění balíčků:
Datové nástroje SQL Server:
Pověření uživatele, pod kterým SQL Server Data Tools (SSDT)
je v provozu se použije ke spouštění balíčků, které jsou spouštěny v rámci SSDT.
Pokud ve Windows Start \ Všechny programy \ Microsoft SQL Server 2012 klepnete na SQL Server Data Tools, spustí se pod vašimi přihlašovacími údaji. Chcete-li spustit pod jiným uživatelským účtem, můžete stisknout Ctrl + Shift vyberte Run as different user
možnost.
Služby integračního katalogu:
Když kliknete pravým tlačítkem na balíček pod Integration Services Catalog \ SSISDB \ <Folder name> \ Projects \ <Project name> \ Packages \ <Package name>
a vyberte Execute...
spustit balíček. Balíček bude spuštěn pod přihlašovacími údaji používanými k připojení k SQL Server Management Studio.
Všimněte si, že pokud se pokusíte spustit balíček pomocí SQL Server Authentication, zobrazí se níže uvedená chybová zpráva:
Po stisknutí Execute...
, SQL Server
roztočí proces ISServerExec.exe
, který spustí Console Window Host
proces:
ISServerExec.exe
je program, který spouští balíčky v katalogu SSIS. V tomto případě je spuštěn pod stejným uživatelem, který spouští balíček SSIS z SQL Server Management Studio.
Úloha SQL Server Agent bez proxy:
Když spustíte balíček SSIS z úlohy SQL Server Agent , krok úlohy ve výchozím nastavení běží pod SQL Server Agent Service Account
. Uživatelský účet spojený se službou SQL Server Agent Service lze nalézt v Windows Start \ Administrative Tools \ Services
, vyhledejte službu SQL Server Agent (Your Instance Name
) a vyhledejte uživatelský účet uvedený v části Log On As
Úloha SQL Server Agent s proxy:
Vytvořením účtu proxy můžete také spustit úlohu agenta SQL Server pod různými pověřeními. Když jsou kroky úlohy prováděny pod účtem proxy, balíček v kroku úlohy se spustí pod pověřením zadaným v účtu proxy.
Níže uvedená odpověď SO poskytuje podrobné pokyny k vytvoření účtu proxy pro spouštění úloh SQL Server Agent.
Jak vytvořím krok v úloze SQL Server Agent Job, který spustí můj balíček SSIS?
Jak ověřit:
Ukázkový balíček SSIS 2012:
Zde je to, co jsem udělal, abych ověřil výše uvedená prohlášení s ohledem na uživatelské účty používané pro spouštění balíčků.
-
Otevřete SQL Server Data Tools a vytvořte balíček SSIS 2012 s názvem
SO_15289442.dtsx
. -
Vytvořte proměnnou s názvem
ExecutionUser
datového typuString
. Přiřaďte výraz@[System::UserName]
do proměnné.UserName
je systémová proměnná, která poskytuje informace o uživateli spouštějícím balíček. -
Přetáhněte Úkol odeslání pošty na Datový tok kartu.
-
Vytvořte připojení SMTP a přiřaďte jej k
SmtpConnection
na stránce Send Mail Task Editor – Mail. -
Zadejte
From
aTo
e-mailové adresy. -
Změňte MessageSourceType na
Variable
. -
Nastavte
MessageSource
naUser::ExecutionUser
. -
Klikněte pravým tlačítkem myši na balíček a vyberte možnost Nasadit pro nasazení projektu do katalogu Integration Services, který je k dispozici na vámi zvoleném serveru.
Spuštění balíčků
-
Spusťte balíček v rámci SSDT.
-
Otevřete SSDT pomocí možnosti Spustit jako jiný uživatel. Zadejte jiné přihlašovací údaje než vaše a spusťte balíček znovu.
-
Spusťte balíček z katalogu Integration Services Catalog.
-
Vytvořte úlohu SQL Server Agent a spusťte balíček pomocí účtu služby SQL Server Agent.
-
Vytvořte úlohu SQL Server Agent Job pro spuštění balíčku pomocí účtu proxy.
Pro každé provedení uvedené výše obdržíte e-mail s uživatelským účtem, který byl použit k provedení balíčku.
Váš problém:
Ve vašem případě se balíček spustí pod vaším účtem (za předpokladu, že pro přístup k SSISDB používáte své přihlašovací údaje ), pokud klepnete pravým tlačítkem myši a vyberete možnost Spustit z katalogu služeb integrace. Ujistěte se, že účet má přístup k síťové cestě.
Pokud spouštíte svůj balíček z úlohy agenta SQL Server, je účet proxy run as another user
možnost, na kterou se díváte.