Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Azure SQL Managed Instance
Ważne
W Azure SQL Managed Instance większość, ale nie wszystkie funkcje agenta programu SQL Server są obecnie obsługiwane. Aby uzyskać szczegółowe informacje, zobacz Różnice języka T-SQL usługi Azure SQL Managed Instance z programu SQL Server.
Program SQL Server ma następujące msdb
stałe role bazy danych, które zapewniają administratorom dokładną kontrolę nad dostępem do agenta programu SQL Server. Role wymienione od najmniej do najbardziej uprzywilejowanego dostępu to:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Gdy użytkownicy, którzy nie są członkami jednej z tych ról, są połączeni z programem SQL Server w programie SQL Server Management Studio, węzeł agenta programu SQL Server w Eksploratorze obiektów nie jest widoczny. Użytkownik musi być członkiem jednej z tych stałych ról bazy danych lub członkiem stałej roli serwera sysadmin do korzystania z agenta programu SQL Server.
Uprawnienia stałych ról bazy danych agenta programu SQL Server
Uprawnienia roli bazy danych agenta programu SQL Server są koncentryczne względem siebie. Innymi słowy, bardziej uprzywilejowane role dziedziczą uprawnienia mniej uprzywilejowanych ról w obiektach agenta programu SQL Server (w tym alerty, operatory, zadania, harmonogramy i serwery proxy). Jeśli na przykład członkowie SQLAgentUserRole z najniższymi uprawnieniami otrzymali dostęp do proxy_A
, członkowie zarówno SQLAgentReaderRole, jak i SQLAgentOperatorRole automatycznie mają dostęp do tego proxy, mimo że dostęp do proxy_A
nie został im jawnie udzielony. Może to mieć wpływ na zabezpieczenia, które zostały omówione w poniższych sekcjach dotyczących każdej roli.
Uprawnienia SQLAgentUserRole
SQLAgentUserRole to najmniej uprzywilejowane role stałej bazy danych agenta programu SQL Server. Ma uprawnienia tylko do operatorów, zadań lokalnych i harmonogramów zadań. Członkowie SQLAgentUserRole mają uprawnienia tylko do lokalnych zadań i harmonogramów zadań, które są przez nich posiadane. Nie mogą używać zadań wieloserwerowych (zadań serwera głównego i docelowego) i nie mogą zmienić własności zadania, aby uzyskać dostęp do zadań, których jeszcze nie posiadają. Członkowie SQLAgentUserRole mogą wyświetlać listę dostępnych serwerów proxy tylko w oknie dialogowym Właściwości kroku zadania programu SQL Server Management Studio. Tylko węzeł Zadania w Eksploratorze obiektów programu SQL Server Management Studio jest widoczny dla elementów członkowskich SQLAgentUserRole.
Ważne
SqlAgentReaderRole i SQLAgentOperatorRole są automatycznie członkami elementu SQLAgentUserRole. Oznacza to, że członkowie programu SQLAgentReaderRole i SQLAgentOperatorRole mają dostęp do wszystkich serwerów proxy programu SQL Server Agent, które zostały przyznane dla elementu SQLAgentUserRole i mogą korzystać z tych serwerów proxy.
Poniższa tabela zawiera podsumowanie uprawnień SQLAgentUserRole w obiektach agenta programu SQL Server.
Akcja | Operatorów | Zadania lokalne (tylko należące do firmy) | Harmonogramy zadań (tylko harmonogramy należące do firmy) | Proksje |
---|---|---|---|---|
Tworzenie/modyfikowanie/usuwanie | Nie. | Tak Nie można zmienić własności zadania. |
Tak | Nie. |
Wyświetl listę (wyliczenie) | Tak Może uzyskać listę dostępnych operatorów do użycia w programie sp_notify_operator i okno dialogowe Właściwości zadania programu Management Studio. |
Tak | Tak | Tak Lista serwerów proxy dostępnych tylko w oknie dialogowym Właściwości kroku zadania programu Management Studio. |
Włączanie/wyłączanie | Nie. | Tak | Tak | Nie dotyczy |
Wyświetlanie właściwości | Nie. | Tak | Tak | Nie. |
Wykonywanie/zatrzymywanie/uruchamianie | Nie dotyczy | Tak | Nie dotyczy | Nie dotyczy |
Wyświetlanie historii zadań | Nie dotyczy | Tak | Nie dotyczy | Nie dotyczy |
Usuwanie historii zadań | Nie dotyczy | Nie. Członkowie SQLAgentUserRole muszą mieć wyraźnie przyznane EXECUTE uprawnienia sp_purge_jobhistory do usuwania historii zadań na zadaniach, które posiadają. Nie mogą usuwać historii zadań dla innych zadań. |
Nie dotyczy | Nie dotyczy |
Dołączanie/odłączanie | Nie dotyczy | Nie dotyczy | Tak | Nie dotyczy |
Uprawnienia SQLAgentReaderRole
SqlAgentReaderRole zawiera wszystkie uprawnienia SQLAgentUserRole , a także uprawnienia do wyświetlania listy dostępnych zadań wieloserwerowych, ich właściwości i historii. Członkowie tej roli mogą również wyświetlać listę wszystkich dostępnych zadań i ich harmonogramów oraz ich właściwości, a nie tylko tych zadań i harmonogramów, których są właścicielami. Członkowie SQLAgentReaderRole nie mogą zmieniać własności zadań, aby uzyskać dostęp do zadań, których jeszcze nie posiadają. Tylko węzeł Zadania w Eksploratorze obiektów programu SQL Server Management Studio jest widoczny dla członków elementu SQLAgentReaderRole.
Ważne
Członkowie elementu SQLAgentReaderRole są automatycznie członkami elementu SQLAgentUserRole. Oznacza to, że członkowie elementu SQLAgentReaderRole mają dostęp do wszystkich serwerów proxy agenta programu SQL Server, które zostały przyznane dla elementu SQLAgentUserRole i mogą korzystać z tych serwerów proxy.
Poniższa tabela zawiera podsumowanie uprawnień SQLAgentReaderRole w obiektach agenta programu SQL Server.
Akcja | Operatorów | Zadania lokalne | Zadania wieloserwerowe | Harmonogramy zadań | Proksje |
---|---|---|---|---|---|
Tworzenie/modyfikowanie/usuwanie | Nie. | Tak (tylko własne zadania) Nie można zmienić własności zadania. |
Nie. | Tak (tylko harmonogramy należące do mnie) | Nie. |
Wyświetl listę (wyliczenie) | Tak Może uzyskać listę dostępnych operatorów do użycia w programie sp_notify_operator i okno dialogowe Właściwości zadania programu Management Studio. |
Tak | Tak | Tak | Tak Lista serwerów proxy dostępnych tylko w oknie dialogowym Właściwości kroku zadania programu Management Studio. |
Włączanie/wyłączanie | Nie. | Tak (tylko posiadane zadania) | Nie. | Tak (tylko harmonogramy będące własnością użytkownika) | Nie dotyczy |
Wyświetlanie właściwości | Nie. | Tak | Tak | Tak | Nie. |
Edytuj właściwości | Nie. | Tak (tylko posiadane zadania) | Nie. | Tak (tylko własne harmonogramy) | Nie. |
Wykonywanie/zatrzymywanie/uruchamianie | Nie dotyczy | Tak (tylko należące do niego zadania) | Nie. | Nie dotyczy | Nie dotyczy |
Wyświetlanie historii zadań | Nie dotyczy | Tak | Tak | Nie dotyczy | Nie dotyczy |
Usuwanie historii zadań | Nie dotyczy | Nie. Członkom SQLAgentReaderRole musi być jawnie przyznane uprawnienie EXECUTE na sp_purge_jobhistory do usuwania historii zadań w przypadku zadań, które posiadają. Nie mogą usuwać historii zadań dla innych zadań. |
Nie. | Nie dotyczy | Nie dotyczy |
Dołączanie/odłączanie | Nie dotyczy | Nie dotyczy | Nie dotyczy | Tak (tylko harmonogramy, które są w posiadaniu) | Nie dotyczy |
Uprawnienia SQLAgentOperatorRole
SQLAgentOperatorRole jest najbardziej uprzywilejowaną ze stałych ról baz danych agenta SQL Server. Obejmuje wszystkie uprawnienia sqlAgentUserRole i SQLAgentReaderRole. Członkowie tej roli mogą również wyświetlać właściwości operatorów i serwerów proxy oraz wyliczać dostępne serwery proxy i alerty na serwerze.
Członkowie sqlAgentOperatorRole mają dodatkowe uprawnienia do zadań lokalnych i harmonogramów. Mogą wykonywać, zatrzymywać lub uruchamiać wszystkie zadania lokalne, a także usuwać historię zadań dla dowolnego zadania lokalnego na serwerze. Mogą również włączać lub wyłączać wszystkie zadania lokalne i harmonogramy na serwerze. Aby włączyć lub wyłączyć zadania lokalne lub harmonogramy, członkowie tej roli muszą używać składowanych procedur sp_update_job
i sp_update_schedule
. Tylko parametry określające nazwę lub identyfikator zadania lub harmonogramu oraz parametr @enabled
mogą być określone przez członków SQLAgentOperatorRole. Jeśli określą inne parametry, wykonanie tych procedur składowanych zakończy się niepowodzeniem. Członkowie sqlAgentOperatorRole nie mogą zmienić własności zadań, aby uzyskać dostęp do zadań, których jeszcze nie posiadają.
Węzły Zadania, Alerty, Operatory i Serwery proxy w Eksploratorze obiektów programu SQL Server Management Studio są widoczne dla członków SQLAgentOperatorRole. Tylko węzeł Dzienniki błędów nie jest widoczny dla członków tej roli.
Ważne
Członkowie sqlAgentOperatorRole są automatycznie członkami sqlAgentUserRole i SQLAgentReaderRole. Oznacza to, że członkowie SQLAgentOperatorRole mają dostęp do wszystkich serwerów proxy agenta SQL Server, którym udzielono uprawnień w rolach SQLAgentUserRole lub SQLAgentReaderRole, i mogą używać tych serwerów proxy.
Poniższa tabela zawiera podsumowanie uprawnień SQLAgentOperatorRole w obiektach agenta programu SQL Server.
Akcja | Powiadomienia | Operatorów | Zadania lokalne | Zadania wieloserwerowe | Harmonogramy zadań | Proksje |
---|---|---|---|---|---|---|
Tworzenie/modyfikowanie/usuwanie | Nie. | Nie. | Tak (tylko należące do niego zadania) Nie można zmienić własności zadania. |
Nie. | Tak (tylko własne harmonogramy) | Nie. |
Wyświetl listę (enumeracja) | Tak | Tak Może uzyskać listę dostępnych operatorów do użycia w programie sp_notify_operator i okno dialogowe Właściwości zadania programu Management Studio. |
Tak | Tak | Tak | Tak |
Włączanie/wyłączanie | Nie. | Nie. | Tak Członkowie SQLAgentOperatorRole mogą włączać lub wyłączać lokalne zadania, których nie są właścicielami, korzystając z procedury przechowywanej sp_update_job i określając wartości parametrów @enabled oraz @job_id (lub @job_name ). Jeśli członek tej roli określa jakiekolwiek inne parametry dla tej procedury składowanej, wykonanie procedury nie powiedzie się. |
Nie. | Tak Członkowie SQLAgentOperatorRole mogą włączać lub wyłączać harmonogramy, których nie posiadają, korzystając z procedury składowanej sp_update_schedule i określając wartości parametrów @enabled i @schedule_id (lub @name ). Jeśli członek tej roli określi jakiekolwiek inne parametry dla tej procedury składowanej, wykonanie procedury zakończy się niepowodzeniem. |
Nie dotyczy |
Wyświetlanie właściwości | Tak | Tak | Tak | Tak | Tak | Tak |
Edytuj właściwości | Nie. | Nie. | Tak (tylko posiadane zadania) | Nie. | Tak (tylko harmonogramy będące w posiadaniu) | Nie. |
Uruchom/Zatrzymaj/Startuj | Nie dotyczy | Nie dotyczy | Tak | Nie. | Nie dotyczy | Nie dotyczy |
Wyświetlanie historii zadań | Nie dotyczy | Nie dotyczy | Tak | Tak | Nie dotyczy | Nie dotyczy |
Usuwanie historii zadań | Nie dotyczy | Nie dotyczy | Tak | Nie. | Nie dotyczy | Nie dotyczy |
Dołączanie/odłączanie | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy | Tak (tylko harmonogramy należące) | Nie dotyczy |
Przypisywanie wielu ról do użytkowników
Członkowie stałej roli serwera sysadmin mają dostęp do wszystkich funkcji agenta programu SQL Server. Jeśli użytkownik nie jest członkiem roli sysadmin , ale jest członkiem więcej niż jednej stałej roli bazy danych agenta programu SQL Server, ważne jest, aby pamiętać koncentryczny model uprawnień tych ról. Ponieważ bardziej uprzywilejowane role zawsze zawierają wszystkie uprawnienia mniej uprzywilejowanych ról, użytkownik będący członkiem więcej niż jednej roli automatycznie ma uprawnienia skojarzone z najbardziej uprzywilejowaną rolą, której członkiem jest użytkownik.