SSIS balík sa nespustí, keď volal z SQL Server Agent prácu krok

Preklady článku Preklady článku
ID článku: 918760 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

Príznaky

Keď zavoláte balík Microsoft SQL Server 2005 integráciu služieb (SSIS) z SQL Server Agent prácu krok, SSIS balík sa nespustí. Avšak, ak nie ste upraviť SSIS balík, to bude prebiehať úspešne mimo SQL Server Agent.

Riešenie

Ak chcete vyriešiť tento problém, použite jednu z nasledujúcich metód. Najvhodnejšej metódy závisí od prostredia a z dôvodu, že balík sa nepodarilo. Dôvody, ktoré balík môže zlyhali sú nasledovné:
  • Používateľské konto, ktoré sa používa na spustenie balíku pod SQL Server Agent sa líši od pôvodného balíka autora.
  • Používateľské konto nemá požadované povolenia, aby sa spojenie alebo prístup k prostriedkom mimo SSIS balík.
Balík nemusí fungovať v nasledovných prípadoch:
  • Aktuálny používateľ nemôže dešifrovať tajomstvo z balíka. Tento scenár sa môže vyskytnúť, ak bežný účet alebo na účet vykonania sa líši od pôvodného balíka autora, a nastavenie vlastností ProtectionLevel balík nedovolí aktuálneho používateľa dešifrovať tajomstvo v balíku.
  • Pripojenie servera SQL Server, ktorý používa integrované zabezpečenie zlyhá, pretože aktuálny používateľ nemá požadované povolenia.
  • Prístup k súboru zlyhá, pretože aktuálny používateľ nemá požadované povolenia zapisovať do zdieľania súborov, ktoré pristupuje správcu pripojení. Napríklad, tento scenár môže nastať s poskytovateľov denníka textu, ktoré nepoužívajú prihlasovacie meno a heslo. Tento scenár môže tiež nastať s akúkoľvek úlohu, ktorá závisí od pripojenia správca súborov, napríklad SSIS súbor systému úlohu.
  • Konfiguráciu registra-založené SSIS balík používa kľúče databázy registry HKEY_CURRENT_USER. HKEY_CURRENT_USER kľúče databázy registry sú špecifické pre používateľa.
  • Úlohy alebo Správca pripojení vyžaduje, aby aktuálne používateľské konto má správne povolenia.
Metóda 1: Použiť konto agenta servera SQL Server proxy

Metóda 2: Nastavte vlastnosť SSIS balík ProtectionLevel na ServerStorage

Metóda 3: Nastavte vlastnosť SSIS balík ProtectionLevel na EncryptSensitiveWithPassword

Metóda 4: Použitie SSIS balík konfiguračné súbory

Metóda 5: Vytvorenie šablóny balíka

Stav

Toto správanie je zámerné.

Rozšírené informácie

Kroky na reprodukovanie problému

  1. Prihláste sa ako používateľ, ktorý nie je súčasťou skupiny SQLServer2005SQLAgentUser. Napríklad môžete vytvoriť lokálny používateľ.
  2. Vytvorenie balíka SSIS, a potom pridajte ExecuteSQL úlohu. Použitie Správca pripojenia OLE DB na miestnej tabulkamsdb súbor pomocou nasledujúceho reťazca: "Overovanie systému Windows" -SQLSourceType: "Priamy vstup" -SQLStatement: "sp_who"
  3. Spustite balík uistite sa, že to beží úspešne.
  4. Všimnite si, že je vlastnosť ProtectionLevel nastavená na EncryptSensitiveWithPassword.
  5. Vytvorenie SQL Server Agent prácu a prácu krok. V Spustiť ako Zoznam, kliknite na tlačidlo Služba SQL Server Agent spustiť úloha kroku.
Text v SQL Server Agent prácu histórie zobrazuje informácie, ktoré sa podobá nasledujúcemu hláseniu:

Popravený ako užívateľ: doména\meno používateľa. Balík vykonanie zlyhalo. Krok zlyhalo.

Dešifrovanie balíka tajomstvo

Predvolené nastavenie pre SSIS balík ProtectionLevel vlastností je EncryptSensitiveWithUserKey. Po uložení balíku SSIS šifruje iba časti balíka, ktoré obsahujú vlastnosti, ktoré sú označené ako "citlivé", ako sú heslá a mená reťazce pripojenia. Preto pri balení je naložené, aktuálneho používateľa musia spĺňať požiadavky na šifrovanie sa dešifruje citlivé vlastnosti. Avšak, aktuálny používateľ nemá spĺňa požiadavky na šifrovanie načítať balík. Keď spustíte balík cez krokom SQL Server Agent prácu, predvolené konto je konto služby SQL Server Agent. Toto predvolené konto je pravdepodobne iný používateľ než balíka autora. Preto SQL Server Agent úloha kroku môžete načítať a spustiť spustiť úloha kroku, ale balík zlyhá, pretože to nemôže dokončiť pripojenie. Napríklad balík nemôžem dokončiť pripojenia OLE DB alebo FTP pripojenie. Balík zlyhá, pretože nie je možné dešifrovať poverenia, ktoré sa má pripojiť.

Dôležité Zvážte procesu rozvoja a životného prostredia zistiť, ktoré účty sú potrebné a používané na každom počítači. EncryptSensitiveWithUserKey nastavenie vlastnosť ProtectionLevel je silný nastavenia. Toto nastavenie by nemali byť diskontované, pretože to spôsobuje nasadenie komplikácie na prvom mieste. Balíky môžete šifrovať, ak ste prihlásený na príslušný účet. Môžete tiež použiť pomôcku príkazového riadka Dtutil.exe SSIS zmeniť úroveň ochrany pomocou súboru .cmd a subsystémom SQL Server Agent. Napríklad, postupujte nasledovne. Preto môžete použiť pomôcku Dtutil.exe v dávkových súboroch a slučky, môžete sledovať tieto kroky pre niekoľko balíkov v rovnakom čase.
  1. Upraviť balíček, ktorý chcete zašifrovať pomocou hesla.
  2. Pomocou nástroja Dtutil.exe prostredníctvom Operačný systém (cmd Exec) SQL Server Agent prácu krok zmeniť vlastnosť ProtectionLevel na EncryptSensitiveWithUserKey. Tento proces zahŕňa dešifrovanie balík pomocou hesla, a potom re-encrypting balík. Kľúč používateľa sa používa na šifrovanie balíček je SQL Server Agent prácu krok nastavenieSpustiť ako Zoznam.

    Poznámka Pretože kľúč obsahuje meno používateľa a názov počítača, účinok sa pohybujú balíky k inému počítaču môže byť obmedzená.

Uistite sa, že mať podrobné informácie o chybe znepokojenie SSIS balík

Namiesto spoliehania sa na obmedzené Podrobnosti v SQL Server Agent prácu histórii, môžete použiť zapisovanie uistite sa, že máte chybu informácie o zlyhaní SSIS balík SSIS. Môžete tiež spustiť balík pomocou príkazu exec subsystému namiesto príkazu SSIS subsystému.

Zapisovanie SSIS

SSIS zapisovanie do denníka a denníka poskytovatelia umožňujú zachytiť podrobné informácie o balík prevedenie a zlyhania. V predvolenom nastavení balík nezapisuje informácie. Musíte nakonfigurovať balík k prihlásiť informácie. Keď konfigurujete balík k prihlásiť informácie, podrobné informácie sa zobrazia nasledovnému. V tomto prípade, budete vedieť, že to je otázka oprávnenia:

PriChybe, DOMAINNAME, DOMAINNAME\USERNAME, FTP Task,{C73DE41C-D0A6-450A-BB94-DF6D913797A1},{2F0AF5AF-2FFD-4928-88EE-1B58EB431D74},4/28/2006 1:51:59 PM, 4/28/2006 1:51:59 PM,-1073573489, 0 x, nedá sa pripojiť k FTP serveru pomocou "FTP pripojenie Manager".

PriChybe, DOMAINNAME, DOMAINNAME\USERNAME, spúšťať SQL Task,{C6C7286D-57D4-4490-B12D-AC9867AE5762},{F5761A49-F2F9-4575-9E2B-B3D381D6E1F3},4/28/2006 4:07:00 PM, 4/28/2006 4:07:00 PM,-1073573396, 0 x, sa nepodarilo získať pripojenie k "user01.msdb". Pripojenie pravdepodobne nie je správne nakonfigurovaný, alebo nemáte správne povolenia pre toto pripojenie.

O subsystém príkazu exec a výstupné informácie

Pomocou exec subsystému príkaz prístup, pridáte verbose konzoly protokolovanie prepínače príkazového riadku SSIS volať Dtexec.exe SSIS príkazového riadka spustiteľný súbor. Okrem toho použiť funkciu rozšírené úlohy výstupného súboru. Môžete tiež použiť Zahŕňajú výstup krok v histórii možnosť presmerovať zapisovanie informácií do súboru alebo na SQL Server Agent prácu dejiny.

Nasledujúce je príkladom príkazového riadka:

dtexec.exe /FILE 
"C:\_work\SSISPackages\ProtectionLevelTest\ProtectionLevelTest\AgentTesting.dtsx" /MAXCONCURRENT " -1 
" /CHECKPOINTING OFF  /REPORTING V  /CONSOLELOG NCOSGXMT


Prihlásenie/Console vráti Podrobnosti, ktoré sa podobajú takto:

Error: 2006-04-27 18:13:34.76
   Code: 0xC0202009
   Source: AgentTesting Connection manager "(local).msdb"
   Description: An OLE DB error has occurred. Error code: 0x80040E4D.
An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E4D  Description: "Login failed for user 'DOMAINNAME\username'.".
End Error


Error: 2006-04-28 13:51:59.19
   Code: 0xC0016016
   Source:  
   Description: Failed to decrypt protected XML node "DTS:Property" with error 0x80070002 "The system cannot find the file specified.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.
End Error


Log:
     Name: OnError
     Computer: COMPUTERNAME
     Operator: DOMAINNAME\username
     Source Name: Execute SQL Task
     Source GUID: {C6C7286D-57D4-4490-B12D-AC9867AE5762}
     Execution GUID: {7AFE3D9E-5F73-42F0-86FE-5EFE264119C8}
     Message: Failed to acquire connection "(local).msdb". Connection may not be configured correctly or you may not have the right permissions on this connection.
     Start Time: 2006-04-27 18:13:34
     End Time: 2006-04-27 18:13:34
End Log

Odkazy

Ďalšie informácie o podobný problém, po kliknutí na nasledovné číslo článku publikovaného v databáze Microsoft Knowledge Base:
904800"Chyba pri načítavaní" chybové hlásenie pri pokuse spustiť balík SQL Server 2005 integrácia služby SQL Server 2005
Ďalšie informácie o používaní nástroja Dtutil.exe v dávkové operácie, kliknite na nasledovné číslo článku publikovaného v databáze Microsoft Knowledge Base:
906562Ako používať pomôcku dtutil (Dtutil.exe) nastavenie úrovne ochrany dávky balíky SQL Server integráciu služieb (SSIS) v SQL Server 2005
Ďalšie informácie o vytváraní šablón balíka, po kliknutí na nasledovné číslo článku publikovaného v databáze Microsoft Knowledge Base:
908018Ako vytvoriť šablónu balík SQL Server Business Intelligence Development Studio


Ďalšie informácie o SSIS balík zabezpečenia a vlastnosť ProtectionLevel , pozri "Bezpečnostné hľadiská pre integráciu služby" tému v SQL Server 2005 Books Online.

Bohužiaľ, užívatelia nie sú vedomí, že krok nastavenia predvoleného agenta prácu si ich v tomto stave. Ďalšie informácie o SQL Server Agent proxy a SSIS, nájdete v nasledujúcich témach v SQL Server 2005 Books Online:
  • Plánovanie balíka výkonu SQL Server Agent
  • Vytvorenie SQL Server Agent proxy

Vlastnosti

ID článku: 918760 - Posledná kontrola: 12. júla 2013 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft SQL Server 2008 Service Pack 1
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2005 Service Pack 3
  • Microsoft SQL Server 2005 Service Pack 2
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
Kľúčové slová: 
kbsqlsetup kbprb kbsql2005ssis kbsql2005setup kbexpertiseinter kbexpertiseadvanced kbtshoot kbmt KB918760 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok je preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft a možno ho opraviť prostredníctvom technológie Community Translation Framework (CTF). Microsoft ponúka strojovo preložené články, články upravené komunitou aj články preložené prekladateľmi, aby zabezpečil prístup ku všetkým článkom databázy Knowledge Base vo viacerých jazykoch. Strojovo preložené články aj upravené články môžu obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky. Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené neprávnym prekladom obsahu alebo jeho použitím zo strany našich zákazníkov. Ďalšie informácie o technológii CTF nájdete na lokalite http://support.microsoft.com/gp/machine-translation-corrections/sk.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 918760

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com