Normaal gesproken zou ik de SQL Server Agent-taken uitvoeren onder hetzelfde account als uw app toegang heeft tot de database.
Als dat account te beperkt is in zijn rechten (wat een goede zaak zou kunnen zijn!), zou ik een enkel account maken voor die app en al zijn SQL-taken (als dat mogelijk is) en alle SQL-taken onder dat account uitvoeren.
Je zou elke stap mogelijk onder een ander account kunnen uitvoeren, maar ik zou dat in het algemeen niet gebruiken (het maakt het gewoon heel moeilijk om te weten en te begrijpen wat er onder welk account wordt uitgevoerd). Gebruik het alleen als u een bijzonder gevoelige stap moet uitvoeren waarvoor een heleboel extra machtigingen nodig zijn en die machtigingen zijn alleen beschikbaar voor een bepaald systeemaccount of zoiets.
Het account waaronder de Windows-service van SQL Server Agent wordt uitgevoerd, heeft echt geen invloed op onder welke uw taakstappen worden uitgevoerd.
Het komt dus neer op slechts twee accounts:
-
er is één account nodig om de SQL Server Agent Windows-service uit te voeren - dit is een Windows-account op uw computer/server die voldoende machtigingen moet hebben om de service uit te voeren, te starten en te stoppen - gebruik LocalSystem, Network Service of welke andere Windows dan ook account waarmee u services moet uitvoeren
-
Het andere account zou het account zijn om uw SQL Server Agent-stappen onder uit te voeren - dat is meestal een SQL Server-account (dat kan zijn gebaseerd op een Windows-account), en het heeft voldoende privileges binnen SQL Server nodig om zijn werk te doen, b.v. het heeft toegang nodig tot de database-objecten en alles. Ik zou ernaar streven om slechts één account te hebben voor elke app die de SQL Server-taken uitvoert - maakt het leven een stuk eenvoudiger!
Marc
PS:om de gebruiker in te stellen om een stap onder uit te voeren, moet u de pagina "Geavanceerd" in het dialoogvenster Taakstapeigenschappen gebruiken en de gebruiker selecteren in een pop-upvenster: