Udostępnij za pośrednictwem


Zmiana roli (Transact-SQL)

Zmienia nazwę rola bazy danych.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

ALTER ROLE role_name WITH NAME = new_name

Argumenty

  • role_name
    Jest to nazwa roli ma zostać zmieniony.

  • O NAZWIE =new_name
    Określa nazwę nowej roli.Ta nazwa nie musi już istnieć w bazie danych.

Uwagi

Zmiana nazwy rola bazy danych nie powoduje zmiany numeru ID, właściciel lub uprawnienia roli.

Role bazy danych są widoczne w sys.database_role_members i sys.database_principals widoki wykazu.

PrzestrogaPrzestroga

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 roli DOWOLNE zmiany w bazie danych.

Przykłady

Poniższy przykład zmienia nazwę roli buyers do purchasing.

USE AdventureWorks2008R2;
ALTER ROLE buyers WITH NAME = purchasing;
GO