CREATE ROLE (Transact-SQL)

Yeni bir veritabanı rolü geçerli veritabanında oluşturur.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

CREATE ROLE role_name [ AUTHORIZATION owner_name ]

Bağımsız değişkenler

  • role_name
    Oluşturulacak rolü addır.

  • YETKİLENDİRMEowner_name
    Veritabanı kullanıcı ya da rolü yeni rol sahibi olacak. Kullanıcı yok belirtilirse, rolü oluşturma ROLÜNE yürüten kullanıcıya ait.

Açıklamalar

Veritabanı düzeyinde securables rolleridir. Rol oluşturduktan sonra rolü veritabanı düzeyinde izinleri grant, deny, revoke kullanarak yapılandırın. Bir veritabanı rolü üyeleri eklemek için kullanın alter ROLE (Transact-sql). Daha fazla bilgi için, bkz. Veritabanı düzey roller.

Veritabanı rolleri görünür sys.database_role_membersve sys.database_principalsKatalog görünümleri.

Dikkat notuDikkat

SQL Server 2005'ten itibaren şemaların davranışları değişmiştir. Bunun sonucunda, şemaların veritabanı kullanıcılarına denk olduğunu kabul eden kod artık doğru sonuçlar döndürmeyebilir. Eski katalog görünümleri, sysobjects dahil, aşağıdaki DLL ifadelerinden herhangi birinin kullanıldığı bir veritabanında kullanılmamalıdır: 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. Bu gibi veritabanlarında bunun yerine yeni katalog görünümlerini kullanmalısınız. Yeni katalog görünümleri, ilk olarak SQL Server 2005 içinde kullanılan prensiplerin ve şemaların ayrılmasını dikkate alır. Katalog görünümleri hakkında daha fazla bilgi için, bkz. Catalog Views (Transact-SQL) (Katalog Görünümleri (Transact-SQL)).

İzinler

Gerektirir CREATE ROLEveritabanı veya üyeliği izni db_securityadmin veritabanı rolü. Kullandığınızda AUTHORIZATIONseçeneği, aşağıdaki izinleri de gerekli:

  • Bir rol sahipliğini başka bir kullanıcıya atamak için bu kullanıcıya özelliklerini Al izni gerektirir.

  • Bir rol sahipliğini başka bir role atamak için alıcı rolü ya da bu role alter izni gerektirir.

  • Bir uygulama rol için rol sahipliğini atama APPLICATION role alter izni gerektirir.

Örnekler

A.Bir veritabanı kullanıcının sahip olduğu bir veritabanı rolü oluşturma

Aşağıdaki örnek, veritabanı rolü oluşturur buyers, kullanıcının sahip olduğu BenMiller.

USE AdventureWorks2012;
CREATE ROLE buyers AUTHORIZATION BenMiller;
GO

USE AdventureWorks2012;
CREATE ROLE buyers AUTHORIZATION BenMiller;
GO

B.Bir veritabanı rolü oluşturma tarafından sabit veritabanı rolü sahibi

Aşağıdaki örnek, veritabanı rolü oluşturur auditorsait olan db_securityadminveritabanı rolü.

USE AdventureWorks2012;
CREATE ROLE auditors AUTHORIZATION db_securityadmin;
GO

USE AdventureWorks2012;
CREATE ROLE auditors AUTHORIZATION db_securityadmin;
GO

Ayrıca bkz.

Başvuru

alter ROLE (Transact-sql)

ROLE (Transact-sql) bırak

eventdata (Transact-sql)

sp_addrolemember (Transact-sql)

sys.database_role_members (Transact-sql)

sys.database_principals (Transact-sql)

Kavramlar

Sorumluları (veritabanı altyapısı)