sql >> Databasteknik >  >> RDS >> Sqlserver

Vilka användaruppgifter använder Integration Services Catalog för att exekvera paket?

Paketkörningar:

SQL-serverdataverktyg:

Användaruppgifter under vilka SQL Server Data Tools (SSDT) är i drift kommer att användas för att exekvera paketen som exekveras inom SSDT.

Under Windows Start \ Alla program \ Microsoft SQL Server 2012, om du klickar på SQL Server Data Tools kommer det att köras under dina referenser. För att köra under ett annat användarkonto kan du trycka på Ctrl + Skift för att välja Kör som annan användare alternativ.

Integrationskatalogtjänster:

När du högerklickar på ett paket under Integration Services Catalog \ SSISDB \ \ Projekt \ \ Paket \ och välj Execute... att köra ett paket. Paketet kommer att köras under de referenser som används för att ansluta till SQL Server Management Studio.

Observera att om du försöker köra ett paket med SQL Server Authentication får du följande felmeddelande:

När du har tryckt på Execute... , SQL-server snurrar en process ISServerExec.exe , som startar en Console Window Host process:

ISServerExec.exe är ett program som kör paket i SSIS Catalog. I det här fallet startas det under samma användare som kör ett SSIS-paket från SQL Server Management Studio.

SQL Server Agent jobb utan proxy:

När du kör ett SSIS-paket från ett SQL Server Agent Job , jobbsteget körs som standard under SQL Server Agent Service Account . Användarkontot associerad SQL Server Agent Service kan hittas genom att navigera till Windows Start \ Administrationsverktyg \ Tjänster , leta efter tjänsten SQL Server Agent (Ditt instansnamn ) och hitta användarkontot under Logga in som

SQL Server Agent jobb med proxy:

Du kan också köra ett SQL Server Agent Job under olika referenser genom att skapa ett proxykonto. När jobbsteg utförs under proxykonto, kommer paketet i jobbsteget att köras under den behörighet som anges på proxykontot.

Nedan SO-svar ger steg-för-steg-instruktioner för att skapa ett proxykonto för att köra SQL Server Agent Jobs.

Hur skapar jag ett steg i mitt SQL Server Agent Job som kör mitt SSIS-paket?

Så här verifierar du:

Exempel på SSIS 2012-paket:

Här är vad jag gjorde för att verifiera ovanstående uttalanden med avseende på användarkonton som används för paketkörningar.

  • Öppna SQL Server Data Tools och skapa ett SSIS 2012-paket med namnet SO_15289442.dtsx .

  • Skapa en variabel med namnet ExecutionUser av datatypen String . Tilldela uttrycket @[System::Användarnamn] till variabeln. Användarnamn är en systemvariabel som tillhandahåller information om användaren som kör paketet.

  • Dra och släpp Skicka e-postuppgift till Dataflödet flik.

  • Skapa en SMTP-anslutning och tilldela den till SmtpConnection på sidan Skicka Mail Task Editor - Mail.

  • Ange Från och Till e-postadresser.

  • Ändra MessageSourceType till Variabel .

  • Ställ in MessageSource till User::ExecutionUser .

  • Högerklicka på paketet och välj Distribuera för att distribuera projektet till Integration Services Catalog tillgänglig på en server som du väljer.

Paketkörningar

  • Kör paketet inom SSDT.

  • Öppna SSDT med Kör som ett annat användaralternativ. Ange en annan inloggningsinformation än din och kör paketet igen.

  • Kör paketet från Integration Services Catalog.

  • Skapa ett SQL Server Agent Job för att köra paketet med SQL Server Agent Service Account.

  • Skapa ett SQL Server Agent Job för att köra paketet med ett proxykonto.

För varje körning som nämns ovan kommer du att få ett e-postmeddelande med användarkontot som användes för att köra paketet.

Ditt problem:

I ditt fall kommer paketet att köras under ditt konto (förutsatt att du använder dina referenser för att komma åt SSISDB ) om du högerklickar och väljer Execute from Integration Services Catalog. Se till att kontot har åtkomst till nätverkssökvägen.

Om du kör ditt paket från SQL Server Agent Job, är proxykontot kör som en annan användare alternativ som du tittar på.



  1. Dynamisk HTML-tabell i PHP Mail

  2. Rails-enhetstestning med MyISAM-tabeller

  3. Hur man frågar SQL-tabell och tar bort dubbletter av rader från en resultatuppsättning

  4. Lagra en PDF-fil i MySQL