Aracılığıyla paylaş


USER (Transact-SQL) CREATE

Bir kullanıcı, geçerli veritabanına ekler.

Topic link iconTransact-SQL sözdizimi kuralları

CREATE USER user_name 
    [ { { FOR | FROM }
      { 
        LOGIN login_name 
        | CERTIFICATE cert_name 
        | ASYMMETRIC KEY asym_key_name
      } 
      | WITHOUT LOGIN
    ] 
    [ WITH DEFAULT_SCHEMA = schema_name ]

Bağımsız değişkenler

  • user_name
    Specifies the name by which the user is identified inside this database.user_name is a sysname.Bu işlem, en çok 128 karakter uzunluğunda olabilir.

  • login_name Oturum AÇMA
    Specifies the SQL Server login for which the database user is being created.login_name must be a valid login in the server.Zaman bu SQL Server oturum açma adını ve KIMLIĞINI oluşturulan veritabanı kazanacağı bir veritabanına girer.

  • sertifika cert_name
    Veritabanı kullanıcısı oluşturulmaktadır sertifikayı belirtir.

  • asym_key_name ASIMETRIK ANAHTAR
    Veritabanı kullanıcısı oluşturulmaktadır asimetrik anahtar belirtir.

  • WITH DEFAULT_SCHEMA **=**schema_name
    Bu veritabanı kullanıcı nesnelerinin adlarını da giderir, sunucu tarafından Aranan ilk şema belirtir.

  • OTURUMU OLMAYAN
    Kullanıcı için varolan bir oturum açma eşlenmiş olması gereken değil olduğunu belirtir.

Remarks

FOR LOGIN girilmediği takdirde, yeni veritabanı kullanıcısı için eşleştirilir SQL Server aynı ada sahip bir oturum açma.

DEFAULT_SCHEMA bırakılırsa tanımlanmamış, kendi varsayılan şemayı veritabanı kullanıcısı dbo kullanır.DEFAULT_SCHEMA olabilir küme bir şemaya veritabanında şu anda yok.Işaret, şemayı oluşturulmadan önce DEFAULT_SCHEMA ayarlayabilirsiniz.Bir Windows grubu, bir sertifika veya bir asimetrik anahtar eşlenen bir kullanıcı oluştururken DEFAULT_SCHEMA belirtilemez.

Important noteImportant Note:

Kullanıcıyı sysadmin sabit sunucu rolü üyesiyse DEFAULT_SCHEMA değeri yoksayılır.Bir varsayılan şema, tüm üyeleri, sysadmin sabit sunucu rolü var dbo.

OLMAKSıZıN LOGIN yan tümce, SQL Server oturumu açma açma için eşleşen bir kullanıcı oluşturur.Konuk olarak, diğer veritabanlarına bağlanabilirsiniz.

Eşleştirilmiş kullanıcıların adlarını SQL Server oturumlar, sertifikaları veya asimetrik anahtarlar, ters eğik çizgi (\) içeremez.

CREATE USER guest kullanıcı her bir veritabanı zaten varolduğundan, Konuk kullanıcı oluşturmak için kullanılamaz.Konuk kullanıcı CONNECT izin vererek gösterildiği gibi etkinleştirebilirsiniz:

GRANT CONNECT TO guest;
GO

Veritabanının kullanıcılar hakkındaki bilgileri de görülebilir sys.database_principals kataloğunu görüntüleyin.

Uyarı

Beginning with SQL Server 2005, the behavior of schemas changed. As a result, code that assumes that schemas are equivalent to database users may no longer return correct results. Old catalog views, including sysobjects, should not be used in a database in which any of the following DDL statements have ever been used: 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. In such databases you must instead use the new catalog views. The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005. For more information about catalog views, see Catalog Views (Transact-SQL).

İzinler

Veritabanı ALTER ANY KULLANıCı izni gerektirir.

Örnekler

C.Bir veritabanı kullanıcısı oluşturma

Aşağıdaki örnekte ilk adlı bir sunucu oturumu oluşturur. AbolrousHazem bir parola ile ve karşılık gelen bir veritabanı kullanıcı oluşturur. AbolrousHazem içinde AdventureWorks.

CREATE LOGIN AbolrousHazem 
    WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';
USE AdventureWorks;
CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;
GO 

b.Bir veritabanı kullanıcısı ile bir varsayılan şema oluşturma

Aşağıdaki örnekte ilk adlı bir sunucu oturumu oluşturur. WanidaBenshoof bir parola ile ve karşılık gelen bir veritabanı kullanıcı oluşturur. Wanida, varsayılan şemayı ile Marketing.

CREATE LOGIN WanidaBenshoof 
    WITH PASSWORD = '8fdKJl3$nlNv3049jsKK';
USE AdventureWorks;
CREATE USER Wanida FOR LOGIN WanidaBenshoof 
    WITH DEFAULT_SCHEMA = Marketing;
GO

c.Sertifika veritabanı kullanıcı oluşturma

Aşağıdaki örnek, bir veritabanı kullanıcısı oluşturur. JinghaoLiu alınan sertifika CarnationProduction50.

USE AdventureWorks;
CREATE CERTIFICATE CarnationProduction50
    WITH SUBJECT = 'Carnation Production Facility Supervisors',
    EXPIRY_DATE = '11/11/2011';
GO
CREATE USER JinghaoLiu FOR CERTIFICATE CarnationProduction50;
GO 

d.Oluşturma ve bir kullanıcı bir oturum olmadan kullanma

Aşağıdaki örnek, bir veritabanı kullanıcısı oluşturur. CustomApp için eşleşmiyor bir SQL Server oturum açma. Örneğin bir kullanıcı daha sonra verir. adventure-works\tengiz0 kimliğine bürünmesine izin CustomApp Kullanıcı.

USE AdventureWorks ;
CREATE USER CustomApp WITHOUT LOGIN ;
GRANT IMPERSONATE ON USER::CustomApp TO [adventure-works\tengiz0] ;
GO 

Kullanılacak CustomApp Kullanıcı kimlik bilgileri adventure-works\tengiz0 aşağıdaki deyim yürütür.

EXECUTE AS USER = 'CustomApp' ;
GO

Geri dönmek için adventure-works\tengiz0 kimlik bilgileri, kullanıcı aşağıdaki deyim yürütür.

REVERT ;
GO

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Eklenen örnek d