Zwykle uruchamiam zadania SQL Server Agent na tym samym koncie, na którym Twoja aplikacja uzyskuje dostęp do bazy danych.
Jeśli to konto ma zbyt ograniczone uprawnienia (co może być dobrą rzeczą!), utworzyłbym jedno konto dla tej aplikacji i wszystkich jej zadań SQL (jeśli to możliwe) i uruchomiłbym wszystkie zadania SQL na tym koncie.
Potencjalnie możesz uruchomić każdy krok na innym koncie, ale generalnie nie używałbym tego (to po prostu bardzo utrudnia poznanie i zrozumienie, co jest uruchamiane na którym koncie). Używaj go tylko wtedy, gdy musisz uruchomić szczególnie wrażliwy krok, który wymaga wielu dodatkowych uprawnień, a te uprawnienia są dostępne tylko dla określonego konta systemowego lub czegoś podobnego.
Konto, pod którym działa usługa Windows agenta SQL Server, tak naprawdę nie ma wpływu na to, pod jakim działaniem będą wykonywane kroki zadania.
Tak więc sprowadza się to do naprawdę tylko dwóch kont:
-
jedno konto jest potrzebne do uruchomienia usługi SQL Server Agent Windows - jest to konto Windows na twoim komputerze / serwerze, które musi mieć wystarczające uprawnienia, aby uruchomić usługę, uruchomić ją i zatrzymać - albo użyj LocalSystem, Network Service lub innego systemu Windows konto, na którym musisz uruchamiać usługi
-
Drugie konto to konto, na którym uruchamiane są kroki agenta SQL Server — jest to zazwyczaj konto SQL Server (które może być oparte na koncie Windows) i potrzebuje wystarczających uprawnień w SQL Server, aby wykonać swoje zadanie, np. potrzebuje dostępu do obiektów bazy danych i wszystkich. Chciałbym mieć tylko jedno konto dla każdej aplikacji, która uruchamia zadania SQL Server - znacznie ułatwia życie!
Marek
PS:Aby ustawić użytkownika, aby uruchamiał dany krok, należy użyć strony „Zaawansowane” w oknie dialogowym Właściwości kroku zadania i wybrać użytkownika z wyskakującego okienka: