Úlohy SQL Server Agent bych obvykle spouštěl pod stejným účtem, jako vaše aplikace přistupuje k databázi.
Pokud má tento účet příliš omezená oprávnění (což by mohla být dobrá věc!), vytvořil bych jeden účet pro tuto aplikaci a všechny její úlohy SQL (pokud je to možné) a spouštěl všechny úlohy SQL pod tímto účtem.
Potenciálně byste mohli spouštět každý krok pod jiným účtem, ale obecně bych to nepoužil (jen je opravdu těžké poznat a pochopit, co se pod kterým účtem spouští). Použijte jej pouze v případě, že musíte provést zvláště citlivý krok, který vyžaduje spoustu dalších oprávnění a tato oprávnění jsou dostupná pouze pro konkrétní systémový účet nebo něco podobného.
Účet, pod kterým běží Windows služba SQL Server Agent, opravdu nemá vliv na to, pod čím budou vaše kroky úlohy spouštěny.
Takže se to scvrkává na skutečně jen dva účty:
-
ke spuštění služby SQL Server Agent Windows je potřeba jeden účet – jedná se o účet Windows na vašem počítači/serveru, který musí mít dostatečná oprávnění ke spuštění služby, jejímu spuštění a zastavení – buď použijte LocalSystem, Network Service nebo jakýkoli jiný Windows účet, se kterým musíte spouštět služby
-
Druhý účet by byl účet, pod kterým budete spouštět kroky SQL Server Agent - to je obvykle účet SQL Server (který by mohl být založen na účtu Windows) a potřebuje dostatečná oprávnění uvnitř SQL Serveru, aby mohl vykonávat svou práci, např. potřebuje přístup k databázovým objektům a všem. Chtěl bych mít jen jeden účet pro každou aplikaci, která spouští úlohy SQL Serveru – značně usnadňuje život!
Marc
PS:Chcete-li uživateli nastavit spuštění kroku pod, musíte použít stránku "Upřesnit" v dialogovém okně Vlastnosti kroku úlohy a vybrat uživatele z vyskakovacího okna: