Tworzenie roli (Transact-SQL)
Tworzy nową rola bazy danych w bieżącej bazie danych.
Składnia
CREATE ROLE role_name [ AUTHORIZATION owner_name ]
Argumenty
role_name
Jest to nazwa roli ma zostać utworzony.AUTORYZACJAowner_name
Baza danych użytkownika lub rolę, która jest do własnej nowej roli.Jeśli żaden użytkownik nie jest określony, rola będzie własnością użytkownika, który wykonuje Utwórz ROLĘ.
Uwagi
Role są bazy danych -poziom securables.Po utworzeniu roli można skonfigurować uprawnieniapoziom bazy danych - roli za pomocą dotacji, ODMÓW i REVOKE.Aby dodać członków do rola bazy danych, użyj sp_addrolemember procedura składowana.Aby uzyskać więcej informacji, zobacz Role poziom bazy danych.
Role bazy danych są widoczne w sys.database_role_members i sys.database_principals widoki wykazu.
Przestroga |
---|
Począwszy od programu SQL Server 2005 zachowanie schematów zostało zmienione. Z tego powodu kod źródłowy, który traktuje schematy jak odpowiedniki użytkowników baz danych, może przestać zwracać poprawne wyniki. Starych widoków wykazu, w tym sysobjects, nie należy używać w bazie danych, w której są używane następujące instrukcje DDL: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. W takich bazach danych należy używać nowych widoków wykazu. W nowych widokach wykazu uwzględniono rozdział podmiotów i schematów, który został wprowadzony w programie SQL Server 2005. Aby uzyskać więcej informacji dotyczących widoków wykazu, zobacz temat Widoki wykazu (Transact-SQL). |
Uprawnienia
Wymaga uprawnienia Tworzenie roli w bazie danych.Po wybraniu opcji autoryzacji również wymagane są następujące uprawnienia:
Umożliwia przypisanie własności roli do innego użytkownika wymaga uprawnienia PERSONIFIKUJ na tego użytkownika.
Aby przypisać własność roli do innej roli wymaga członkostwo w roli odbiorcy lub ZMIEŃ uprawnienia tej roli.
Aby przypisać własność roli rola aplikacji, wymaga uprawnień ALTER w rola aplikacji.
Przykłady
A.Tworzenie rola bazy danych , który jest właścicielem jest użytkownik bazy danych
Poniższy przykład tworzy rola bazy danych buyers , właścicielem jest użytkownik BenMiller.
USE AdventureWorks2008R2;
CREATE ROLE buyers AUTHORIZATION BenMiller;
GO
B.Tworzenie rola bazy danych jest własnością środka rola bazy danych
Poniższy przykład tworzy rola bazy danych auditors , jest własnością db_securityadmin stałej rola bazy danych.
USE AdventureWorks2008R2;
CREATE ROLE auditors AUTHORIZATION db_securityadmin;
GO