sql >> Database teknologi >  >> RDS >> Sqlserver

Hvilke brugeroplysninger bruger Integration Services Catalog til at udføre pakker?

Pakkeudførelser:

SQL-serverdataværktøjer:

Brugerlegitimationsoplysninger, hvorunder SQL Server Data Tools (SSDT) er i drift, vil blive brugt til at udføre de pakker, der udføres i SSDT.

Under Windows Start \ Alle programmer \ Microsoft SQL Server 2012, hvis du klikker på SQL Server Data Tools, vil det køre under dine legitimationsoplysninger. For at køre under en anden brugerkonto kan du trykke på Ctrl + Shift for at vælge Kør som anden bruger mulighed.

Integrationskatalogtjenester:

Når du højreklikker på en pakke under Integration Services Catalog \ SSISDB \ \ Projekter \ \ Pakker \ og vælg Udfør... at køre en pakke. Pakken kører under de legitimationsoplysninger, der bruges til at oprette forbindelse til SQL Server Management Studio.

Bemærk, at hvis du prøver at køre en pakke ved hjælp af SQL Server Authentication, får du nedenstående fejlmeddelelse:

Når du har trykket på Udfør... , SQL-server drejer en proces ISServerExec.exe , som starter en Console Window Host proces:

ISServerExec.exe er et program, der udfører pakker i SSIS Catalog. I dette tilfælde lanceres den under den samme bruger, som udfører en SSIS-pakke fra SQL Server Management Studio.

SQL-serveragentjob uden proxy:

Når du kører en SSIS-pakke fra et SQL Server Agent Job , kører jobtrinnet som standard under SQL Server Agent Service Account . Den brugerkonto, der er tilknyttet SQL Server Agent Service, kan findes ved at navigere til Windows Start \ Administrative Tools \ Services , se efter tjenesten SQL Server Agent (Dit forekomstnavn ) og find den brugerkonto, der er angivet under Log på som

SQL-serveragentjob med proxy:

Du kan også køre et SQL Server Agent Job under forskellige legitimationsoplysninger ved at oprette en proxykonto. Når jobtrin udføres under proxykonto, udføres pakken i jobtrinnet under den legitimation, der er angivet på proxykontoen.

Nedenstående SO-svar giver trin-for-trin instruktioner til at oprette proxy-konto til at køre SQL Server Agent Jobs.

Hvordan opretter jeg et trin i mit SQL Server Agent Job, som kører min SSIS-pakke?

Sådan bekræfter du:

Eksempel på SSIS 2012-pakke:

Her er, hvad jeg gjorde for at bekræfte ovenstående udsagn med hensyn til de brugerkonti, der blev brugt til pakkekørsel.

  • Åbn SQL Server Data Tools og opret en SSIS 2012-pakke med navnet SO_15289442.dtsx .

  • Opret en variabel ved navn ExecutionUser af datatypen String . Tildel udtrykket @[System::Brugernavn] til variablen. Brugernavn er en systemvariabel, der giver oplysninger om brugeren, der udfører pakken.

  • Træk og slip Send mailopgaveDataflow fanen.

  • Opret en SMTP-forbindelse, og tildel den til SmtpConnection på siden Send Mail Task Editor - Mail.

  • Angiv Fra og Til e-mailadresser.

  • Skift MessageSourceType til Variabel .

  • Indstil MessageSource til Bruger::ExecutionUser .

  • Højreklik på pakken, og vælg Implementer for at implementere projektet til Integration Services Catalogue, der er tilgængeligt på en server efter eget valg.

Pakkeudførelser

  • Kør pakken i SSDT.

  • Åbn SSDT ved at bruge Kør som en anden brugerindstilling. Angiv en anden legitimation end din, og kør pakken igen.

  • Kør pakken fra Integration Services Catalog.

  • Opret et SQL Server Agent Job for at køre pakken ved hjælp af SQL Server Agent Service Account.

  • Opret et SQL Server Agent Job for at køre pakken ved hjælp af en proxykonto.

For hver udførelse nævnt ovenfor vil du modtage en e-mail med den brugerkonto, der blev brugt til at udføre pakken.

Dit problem:

I dit tilfælde vil pakken køre under din konto (forudsat at du bruger dine legitimationsoplysninger til at få adgang til SSISDB ), hvis du højreklikker og vælger Udfør fra Integration Services Catalog. Sørg for, at kontoen har adgang til netværksstien.

Hvis du kører din pakke fra SQL Server Agent Job, er proxy-kontoen kør som en anden bruger mulighed, som du kigger på.



  1. Returner en tabel i en PL/SQL-funktion

  2. Langsom forespørgsel på information_schema.tables

  3. Sådan installeres PostgreSQL-klientbibliotek til PHP på Windows med SSL aktiveret

  4. Mysql Nested Select