sql >> Databáze >  >> RDS >> Sqlserver

Která uživatelská pověření používá katalog Integration Services ke spouštění balíčků?

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 typu String . 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 a To e-mailové adresy.

  • Změňte MessageSourceType na Variable .

  • Nastavte MessageSource na User::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.



  1. Jaké jsou nové funkce t-sql sql server 2005?

  2. Přidejte omezení SQL XOR mezi dva FK s možnou hodnotou null

  3. doctrine:build-schema ignorující sloupce tabulky

  4. Jak cbrt() funguje v PostgreSQL