- 05/24/2017
- 4 minuty na przeczytanie
-
- V
- w
- M
- j
- D
-
+8
.
APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse
SQL Server udostępnia role na poziomie serwera, które pomagają zarządzać uprawnieniami na serwerze. Role to zasady bezpieczeństwa, które grupują inne zasady. Role na poziomie serwera mają zakres uprawnień obejmujący cały serwer. (Role są jak grupy w systemie operacyjnym Windows.)
Stałe role serwera są dostarczane dla wygody i kompatybilności wstecznej. Jeśli to możliwe, należy przypisać bardziej szczegółowe uprawnienia.
SerwerSQL udostępnia dziewięć stałych ról serwera. Uprawnienia przypisane do stałych ról serwera (z wyjątkiem publicznych) nie mogą zostać zmienione. Począwszy od wersji 11.x serwera SQL Server 2012 możesz tworzyć definiowane przez użytkownika role serwera i dodawać uprawnienia na poziomie serwera do definiowanych przez użytkownika ról serwera.
Możesz dodać zasady na poziomie serwera (loginy SQL Server, konta Windows i grupy Windows) do ról na poziomie serwera. Każdy członek stałej roli serwera może dodawać inne loginy do tej samej roli. Członkowie zdefiniowanych przez użytkownika ról serwera nie mogą dodawać innych zasad do roli.
Uwaga
Uprawnienia na poziomie serwera nie są dostępne w SQL Database lub Azure Synapse Analytics. Aby uzyskać więcej informacji na temat bazy danych SQL Database, zobacz Kontrolowanie i przyznawanie dostępu do bazy danych.
Stałe role na poziomie serwera
W poniższej tabeli przedstawiono stałe role na poziomie serwera i ich możliwości.
Rola stała na poziomie serwera | Opis |
---|---|
sysadmin | Członkowie roli stałej serwera sysadmin mogą wykonywać dowolne czynności na serwerze. |
serveradmin | Członkowie roli serveradmin fixed server mogą zmieniać opcje konfiguracyjne całego serwera i wyłączać serwer. |
securityadmin | Członkowie roli securityadmin fixed server zarządzają loginami i ich właściwościami. Mogą GRANT , DENY , i REVOKE uprawnienia na poziomie serwera. Mogą również GRANT , DENY , i REVOKE uprawnienia na poziomie bazy danych, jeśli mają dostęp do bazy danych. Dodatkowo, mogą resetować hasła logowania do SQL Server.WAŻNE: Możliwość przyznawania dostępu do Database Engine i konfigurowania uprawnień użytkowników pozwala administratorowi bezpieczeństwa na przydzielanie większości uprawnień serwera. Rolę securityadmin należy traktować jako równoważną roli sysadmin. |
processadmin | Członkowie roli processadmin fixed server mogą kończyć procesy uruchomione w instancji SQL Server. |
setupadmin | Członkowie roli setupadmin fixed server mogą dodawać i usuwać połączone serwery za pomocą instrukcji Transact-SQL. (członkostwo sysadmin jest wymagane w przypadku korzystania z Management Studio.) |
bulkadmin | Członkowie roli bulkadmin fixed server mogą uruchamiać instrukcję BULK INSERT . |
diskadmin | Rola diskadmin fixed server służy do zarządzania plikami dyskowymi. |
dbcreator | Członkowie stałej roli serwera dbcreator mogą tworzyć, zmieniać, upuszczać i przywracać dowolne bazy danych. |
public | Każde logowanie do serwera SQL Server należy do roli serwera public. Jeśli głównemu użytkownikowi serwera nie zostały nadane lub odmówione określone uprawnienia do obiektu zabezpieczonego, użytkownik dziedziczy uprawnienia nadane public dla tego obiektu. Nadaj uprawnienia publiczne dla obiektu tylko wtedy, gdy chcesz, aby obiekt był dostępny dla wszystkich użytkowników. Nie można zmienić członkostwa w public. Uwaga: public jest implementowany inaczej niż inne role, a uprawnienia mogą być nadawane, odmawiane lub odbierane z ról public fixed server. |
Important
Większość uprawnień zapewnianych przez następujące role serwera nie ma zastosowania do Synapse SQL – processadmin, serveradmin, setupadmin i diskadmin.
Uprawnienia stałych ról serwera
Każda stała rola serwera ma przypisane pewne uprawnienia. Poniższa grafika przedstawia uprawnienia przypisane do ról serwera.
Important
Uprawnienie CONTROL SERVER jest podobne, ale nie identyczne z rolą stałego serwera sysadmin. Uprawnienia nie implikują przynależności do ról, a przynależność do ról nie daje uprawnień. (Np. CONTROL SERVER nie implikuje członkostwa w roli stałego serwera sysadmin). Jednakże, czasami możliwe jest podszywanie się pomiędzy rolami i równoważnymi uprawnieniami. Większość poleceń DBCC i wiele procedur systemowych wymaga członkostwa w stałej roli serwera sysadmin. Listę 171 systemowych procedur składowanych, które wymagają członkostwa w roli sysadmin, można znaleźć w następującym wpisie Andreasa Woltera CONTROL SERVER vs. sysadmin/sa: uprawnienia, procedury systemowe, DBCC, automatyczne tworzenie schematów i eskalacja uprawnień – zastrzeżenia.
Uprawnienia na poziomie serwera
Tylko uprawnienia na poziomie serwera mogą być dodawane do ról serwera zdefiniowanych przez użytkownika. Aby wyświetlić listę uprawnień na poziomie serwera, wykonaj poniższe polecenie. Aby uzyskać więcej informacji na temat uprawnień, zobacz temat Uprawnienia (Database Engine) i sys.fn_builtin_permissions (Transact-SQL).
Praca z rolami na poziomie serwera
Następująca tabela wyjaśnia polecenia, widoki i funkcje, których można użyć do pracy z rolami na poziomie serwera.
Feature | Type | Description |
---|---|---|
sp_helpsrvrole (Transact-SQL) | Metadata | Wraca listę ról poziomu serwera. |
sp_helpsrvrolemember (Transact-SQL) | Metadata | Uzyskuje informacje o członkach roli na poziomie serwera. |
sp_srvrolepermission (Transact-SQL) | Metadata | Wyświetla uprawnienia roli na poziomie serwera. |
IS_SRVROLEMEMBER (Transact-SQL) | Metadata | Wskazuje, czy login SQL Server jest członkiem określonej roli na poziomie serwera. |
sys.server_role_members (Transact-SQL) | Metadata | Zwraca jeden wiersz dla każdego członka każdej roli na poziomie serwera. |
sp_addsrvrolemember (Transact-SQL) | Command | Dodaje login jako członka roli na poziomie serwera. Przestarzałe. Zamiast tego użyj ALTER SERVER ROLE. |
sp_dropsrvrolemember (Transact-SQL) | Command | Usuwa login SQL Server albo użytkownika lub grupę Windows z roli na poziomie serwera. Przestarzałe. Zamiast tego należy użyć polecenia ALTER SERVER ROLE. |
CREATE SERVER ROLE (Transact-SQL) | Command | Tworzy rolę serwera zdefiniowaną przez użytkownika. |
ALTER SERVER ROLE (Transact-SQL) | Command | Zmienia członkostwo w roli serwera lub zmienia nazwę roli serwera zdefiniowanej przez użytkownika. |
DROP SERVER ROLE (Transact-SQL) | Command | Usuwa rolę serwera zdefiniowaną przez użytkownika. |
IS_SRVROLEMEMBER (Transact-SQL) | Funkcja | Określa przynależność do roli serwera. |
Zobacz także
Role poziomu bazy danych
Widoki katalogu zabezpieczeń (Transact-SQL)
Funkcje zabezpieczeń (Transact-SQL)
Zabezpieczanie serwera SQL
GRANT Uprawnienia administratora serwera (Transact-SQL)
REVOKE Uprawnienia administratora serwera (Transact-SQL)
DENY Uprawnienia administratora serwera (Transact-SQL)
Twórz rolę serwera
Utwórz rolę serwera