Aracılığıyla paylaş


GIRIŞ OLUŞTUR (Transact-SQL)

SQL Server, Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Azure Synapse Analytics veya Analytics Platform Sistemi veritabanları için oturum açma bilgileri oluşturur. Belirli bir sürüm için söz dizimi, bağımsız değişkenler, açıklamalar, izinler ve örnekler için aşağıdaki sekmelerden birini seçin.

CREATE LOGIN işlemlere katılır. CREATE LOGIN işlemi bir işlem içinde yürütülürse ve işlem geri alınırsa, oturum açma oluşturma işlemi geri alınır. Bir işlem içinde yürütülürse, oluşturulan oturum açma işlemi tamamlanana kadar kullanılamaz.

Not

Microsoft Entra ID daha önce Azure Active Directory (Azure AD) olarak biliniyordu.

Söz dizimi kuralları hakkında daha fazla bilgi için bkz. Transact-SQL söz dizimi kuralları.

Ürün seçin

Aşağıdaki satırda, ilgilendiğiniz ürün adını seçin ve yalnızca bu ürünün bilgileri görüntülenir.

* SQL Server *  

Azure SQL Veritabanı

Azure Synapse'i
Analiz

 

SQL Sunucusu

Sözdizimi

-- Syntax for SQL Server
CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> }

<option_list1> ::=
    PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ]
    [ , <option_list2> [ ,... ] ]

<option_list2> ::=
    SID = sid
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language
    | CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}
    | CREDENTIAL = credential_name

<sources> ::=
    WINDOWS [ WITH <windows_options>[ ,... ] ]
    | EXTERNAL PROVIDER [WITH OBJECT_ID = 'objectid'] 
    | CERTIFICATE certname
    | ASYMMETRIC KEY asym_key_name

<windows_options> ::=
    DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language

Bağımsız değişken

login_name

Oluşturulan oturum açma bilgilerinin adını belirtir. Beş tür oturum açma işlemi vardır: SQL Server oturum açma bilgileri, Windows oturum açma bilgileri, Microsoft Entra oturum açma bilgileri, sertifika eşlenen oturum açma bilgileri ve asimetrik anahtar eşlemeli oturum açma işlemleri.

Bir Windows etki alanı hesabından eşlenen oturum açma bilgileri oluştururken, oturum açma adını [<domainName>\<login_name>] biçiminde kullanmanız gerekir. UPN'yi login_name@DomainName biçiminde kullanamazsınız. Bir örnek için bu makalenin devamında yer alan örnek E bakın. Kimlik doğrulaması oturum açma bilgileri sysname tür olup Tanımlayıcıları kurallarına uymalıdır ve ters eğik çizgi () içeremez. Windows oturum açma bilgileri '\' içerebilir. Active Directory kullanıcılarını temel alan oturum açma işlemleri 21 karakterden az adlarla sınırlıdır.

FROM EXTERNAL PROVIDER yan tümcesini kullanırken, oturum açma adı, SQL örneğinin Arc etkin olduğu kiracıdaki mevcut bir Microsoft Entra sorumlusunun görünen adıyla eşleşmelidir. Oturum açma bilgileri oluşturmak için Microsoft Entra kullanıcıları, grupları ve uygulamaları kullanılabilir.

PASSWORD ='parola'

Yalnızca SQL Server oturum açma işlemleri için geçerlidir. Oluşturulmakta olan oturum açma için parolayı belirtir. Güçlü bir parola kullanın. Daha fazla bilgi için bkz. Güçlü Parolalar ve Parola İlkesi.

SQL Server 2012 (11.x) sürümünden başlayarak SQL Server ve Azure SQL DB, 32 bit rastgele ve benzersiz tuz ile birlikte sha-512 karması kullandı. Bu yöntem, saldırganların parolaları çözmesini istatistiksel olarak mümkün hale getirdi.

SQL Server 2025 (17.x), parola tabanlı anahtar türetme işlevi (PBKDF) olarak da bilinen RFC2898 yinelemeli karma algoritmasını tanıtır. Bu algoritma hala SHA-512 kullanır ancak parolayı birden çok kez karma olarak kullanır (100.000 yineleme), deneme yanılma saldırılarını önemli ölçüde yavaşlatır. Bu değişiklik, gelişen güvenlik tehditlerine yanıt olarak parola korumasını geliştirir ve müşterilerin NIST SP 800-63b yönergelerine uymasına yardımcı olur. Bu güvenlik geliştirmesi, SQL Kimlik Doğrulaması oturum açma işlemleri için oturum açma süresini biraz artırabilen daha güçlü bir karma algoritması kullanır. Etki genellikle bağlantı havuzu olan ortamlarda daha düşüktür, ancak havuza alınmamış veya oturum açma gecikmesinin yakından izlendiği senaryolarda daha belirgin olabilir.

Parolalar büyük/küçük harfe duyarlıdır. Parolalar her zaman en az sekiz karakter uzunluğunda olmalıdır ve 128 karakteri aşamaz. Parolalar a-z, A-Z, 0-9 ve çoğu sayısal olmayan karakter içerebilir. Parolalar tek tırnak işareti veya login_nameiçeremez.

PAROLA = hashed_password

Yalnızca HASHED anahtar sözcüğü için geçerlidir. Oluşturulan oturum açma için parolanın karma değerini belirtir.

HASHED

Yalnızca SQL Server oturum açma işlemleri için geçerlidir. PASSWORD bağımsız değişkeni zaten karma olduktan sonra girilen parolanın zaten karma olduğunu belirtir. Bu seçenek belirlenmezse, parola olarak girilen dize veritabanında depolanmadan önce karma olarak girilir. Bu seçenek yalnızca veritabanlarını bir sunucudan diğerine geçirmek için kullanılmalıdır. Yeni oturum açma bilgileri oluşturmak için HASHED seçeneğini kullanmayın. HASHED seçeneği SQL 7 veya önceki sürümler tarafından oluşturulan karmalarla kullanılamaz.

MUST_CHANGE

Yalnızca SQL Server oturum açma işlemleri için geçerlidir. Bu seçenek dahil edilirse, SQL Server yeni oturum açma ilk kez kullanıldığında kullanıcıdan yeni bir parola ister.

CREDENTIAL =credential_name

Yeni SQL Server oturum açma bilgilerine eşlenecek kimlik bilgilerinin adı. Kimlik bilgisi sunucuda zaten mevcut olmalıdır. Şu anda bu seçenek yalnızca kimlik bilgilerini oturum açma bilgilerine bağlar. Kimlik bilgileri Sistem Yöneticisi (sa) oturum açma bilgileriyle eşlenemez.

SID = sid

Oturum açma bilgilerini yeniden oluşturmak için kullanılır. Windows kimlik doğrulaması oturum açma işlemleri için değil yalnızca SQL Server kimlik doğrulaması oturum açma işlemleri için geçerlidir. Yeni SQL Server kimlik doğrulaması oturum açma bilgilerinin SID'sini belirtir. Bu seçenek kullanılmazsa, SQL Server otomatik olarak bir SID atar. SID yapısı SQL Server sürümüne bağlıdır. SQL Server oturum açma SID'i: GUID'yi temel alan 16 baytlık (ikili (16)) değişmez değeri. Örneğin, SID = 0x14585E90117152449347750164BA00A7.

DEFAULT_DATABASE =veritabanı

Oturum açma bilgilerine atanacak varsayılan veritabanını belirtir. Bu seçenek dahil değilse, varsayılan veritabanı masterolarak ayarlanır.

DEFAULT_LANGUAGE =dil

Oturum açma bilgilerine atanacak varsayılan dili belirtir. Bu seçenek dahil değilse, varsayılan dil sunucunun geçerli varsayılan diline ayarlanır. Sunucunun varsayılan dili daha sonra değiştirilirse, oturum açmanın varsayılan dili değişmeden kalır.

CHECK_EXPIRATION = { ON | KAPALI }

Yalnızca SQL Server oturum açma işlemleri için geçerlidir. Bu oturum açma işleminde parola süre sonu ilkesinin zorunlu kılınıp uygulanmayacağını belirtir. Varsayılan değer KAPALI'dır.

CHECK_POLICY = { ON | KAPALI }

Yalnızca SQL Server oturum açma işlemleri için geçerlidir. SQL Server'ın çalıştığı bilgisayarın Windows parola ilkelerinin bu oturum açma işleminde zorunlu kılınması gerektiğini belirtir. Varsayılan değer ON'dır.

Windows ilkesi güçlü parolalar gerektiriyorsa, parolalar aşağıdaki dört özelliğin en az üç tanesini içermelidir:

  • Büyük harf karakter (A-Z).
  • Küçük harfli karakter (a-z).
  • Bir basamak (0-9).
  • Boşluk, _, @, *, ^, %, !, $, # veya &gibi sayısal olmayan karakterlerden biri.

WİNDOWS

Oturum açma bilgilerinin bir Windows oturum açma bilgileriyle eşlendiğini belirtir.

DıŞ SAĞLAYıCıDAN

Oturum açma bilgilerinin bir Microsoft Entra sorumlusuyla eşlendiğini belirtir. Bu seçenek Arc özellikli SQL Server 2022 ve sonraki sürümlerde kullanılabilir. Daha fazla bilgi için bkz. SQL Server için Microsoft Entra kimlik doğrulamasını

ILE OBJECT_ID = 'nesne'

Geçerlidir: SQL Server 2025 (17.x) ve sonrası sürümler

Microsoft Entra Nesne Kimliğini belirtir. WITH OBJECT_ID seçeneğini kullanma hakkında daha fazla bilgi için bkz. Microsoft Entra oturum açma bilgileri vegörünen adları olmayan kullanıcılar.

SERTIFIKA sertifika adı

Bu oturum açma bilgileriyle ilişkilendirilecek sertifikanın adını belirtir. Bu sertifika master veritabanında zaten gerçekleşmelidir.

ASIMETRIK ANAHTAR asym_key_name

Bu oturum açma bilgileriyle ilişkilendirilecek asimetrik anahtarın adını belirtir. Bu anahtar master veritabanında zaten gerçekleşmelidir.

Açıklamalar

  • Parolalar büyük/küçük harfe duyarlıdır.
  • Parolaların önceden dağıtılması yalnızca SQL Server oturum açma bilgileri oluştururken desteklenir.
  • MUST_CHANGE belirtilirse, CHECK_EXPIRATION ve CHECK_POLICY ONolarak ayarlanmalıdır. Aksi takdirde, deyimi başarısız olur.
  • CHECK_POLICY = OFF ve CHECK_EXPIRATION = ON birleşimi desteklenmez.
  • CHECK_POLICY OFFolarak ayarlandığında lockout_time sıfırlanır ve CHECK_EXPIRATIONOFFolarak ayarlanır.

Önemli

CHECK_EXPIRATION ve CHECK_POLICY yalnızca Windows Server 2003 ve sonraki sürümlerde uygulanır. Daha fazla bilgi için bkz. parola ilkesi .

İzinler

  • Yalnızca ALTER ANY LOGIN iznine sahip kullanıcılar veya securityadmin sabit sunucu rolündeki üyelik oturum açma bilgileri oluşturabilir. Daha fazla bilgi için bkz. Server-Level Rolleri ve ALTER SERVER ROLE .
  • CREDENTIAL seçeneği kullanılıyorsa, sunucuda ALTER ANY CREDENTIAL iznini de gerektirir.

SQL Server 2022 ve üzeri için izinler

Sunucuda CREATE LOGIN izni veya ##MS_LoginManager## sabit sunucu rolü üyeliği gerektirir.

Oturum açma oluşturduktan sonra

Oturum açma bilgileri oluşturulduktan sonra oturum açma sql server'a bağlanabilir, ancak yalnızca genel rolüne verilen izinlere sahiptir. Aşağıdaki etkinliklerden bazılarını gerçekleştirmeyi göz önünde bulundurun.

  • Veritabanına bağlanmak için oturum açma için bir veritabanı kullanıcısı oluşturun. Daha fazla bilgi için bkz. CREATE USER .
  • CREATE SERVER ROLEkullanarak kullanıcı tanımlı bir sunucu rolü oluşturun. Yeni oturum açma bilgilerini kullanıcı tanımlı sunucu rolüne eklemek için ALTER SERVER ROLE ... ADD MEMBER kullanın. Daha fazla bilgi için bkz. CREATE SERVER ROLE ve ALTER SERVER ROLE.
  • Oturum açma bilgilerini sabit bir sunucu rolüne eklemek için sp_addsrvrolemember kullanın. Daha fazla bilgi için bkz. Server-Level Roller ve sp_addsrvrolemember.
  • Yeni oturum açma bilgilerine veya oturum açma bilgilerini içeren bir role sunucu düzeyinde izinler vermek için GRANT deyimini kullanın. Daha fazla bilgi için bkz. grant .

Örnekler

A. Parolayla oturum açma oluşturma

Aşağıdaki örnek, belirli bir kullanıcı için oturum açma bilgisi oluşturur ve bir parola atar.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. Değiştirilmesi gereken bir parolayla oturum açma oluşturma

Aşağıdaki örnek, belirli bir kullanıcı için oturum açma bilgisi oluşturur ve bir parola atar. MUST_CHANGE seçeneği, kullanıcıların sunucuya ilk bağlanışında bu parolayı değiştirmesini gerektirir.

için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>'
    MUST_CHANGE, CHECK_EXPIRATION = ON;
GO

Not

CHECK_EXPIRATION KAPALI olduğunda MUST_CHANGE seçeneği kullanılamaz.

C. Kimlik bilgilerine eşlenmiş oturum açma bilgileri oluşturma

Aşağıdaki örnekte, kullanıcı kullanılarak belirli bir kullanıcı için oturum açma bilgileri oluşturulur. Bu oturum açma bilgileri kimlik bilgileriyle eşlenir.

için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>',
    CREDENTIAL = <credentialName>;
GO

D. Sertifikadan oturum açma oluşturma

Aşağıdaki örnek, master'deki bir sertifikadan belirli bir kullanıcı için oturum açma bilgileri oluşturur.

için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

USE MASTER;
CREATE CERTIFICATE <certificateName>
    WITH SUBJECT = '<login_name> certificate in master database',
    EXPIRY_DATE = '12/05/2025';
GO
CREATE LOGIN <login_name> FROM CERTIFICATE <certificateName>;
GO

E. Windows etki alanı hesabından oturum açma oluşturma

Aşağıdaki örnek, bir Windows etki alanı hesabından oturum açma bilgisi oluşturur.

için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

CREATE LOGIN [<domainName>\<login_name>] FROM WINDOWS;
GO

F. SID'den oturum açma oluşturma

Aşağıdaki örnek önce bir SQL Server kimlik doğrulaması oturum açma bilgisi oluşturur ve oturum açma sid'sini belirler.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';
SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Sorgum SID olarak 0x241C11948AEEB749B0D22646DB1A19F2 döndürüyor. Sorgunuz farklı bir değer döndürür. Aşağıdaki deyimler oturum açma bilgilerini siler ve ardından oturum açmayı yeniden oluşturur. Önceki sorgunuzdaki SID'yi kullanın.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

G. Birden çok bağımsız değişkenle oturum açma oluşturma

Aşağıdaki örnekte, her bağımsız değişken arasındaki virgülleri kullanarak birden çok bağımsız değişkenin nasıl bir araya dizelği gösterilmektedir. <password> geçerli bir parolayla değiştirin.

CREATE LOGIN [MyUser]
WITH PASSWORD = '<password>',
DEFAULT_DATABASE = MyDatabase,
CHECK_POLICY = OFF,
CHECK_EXPIRATION = OFF ;

H. Karma parolayla SQL oturumu oluşturma

Aşağıdaki örnekte, geçiş senaryosunda olduğu gibi mevcut Oturum Açma bilgileriyle aynı parolayla SQL Oturum Açma bilgilerinin nasıl oluşturulacağı gösterilmektedir. İlk adım, kaynak veritabanı sunucusundaki mevcut Oturum Açma Bilgileri'nden parola karması almaktır. Ardından yeni bir veritabanı sunucusunda Oturum Açma oluşturmak için aynı karma kullanılır. Bunu yaptığınızda yeni Oturum Açma, eski sunucudaki parolayla aynı parolaya sahip olur.

-- run this to retrieve the password hash for an individual Login:
SELECT LOGINPROPERTY('Andreas','PASSWORDHASH') AS password_hash;
-- as an alternative, the catalog view sys.sql_logins can be used to retrieve the password hashes for multiple accounts at once. (This could be used to create a dynamic sql statement from the result set
SELECT name, password_hash
FROM sys.sql_logins
  WHERE
    principal_id > 1    -- excluding sa
    AND
    name NOT LIKE '##MS_%##' -- excluding special MS system accounts
-- create the new SQL Login on the new database server using the hash of the source server
CREATE LOGIN Andreas
  WITH PASSWORD = 0x02000A1A89CD6C6E4C8B30A282354C8EA0860719D5D3AD05E0CAE1952A1C6107A4ED26BEBA2A13B12FAB5093B3CC2A1055910CC0F4B9686A358604E99BB9933C75B4EA48FDEA HASHED;

Ben. Microsoft Entra kullanıcısı için oturum açma bilgisi oluşturma

Aşağıdaki örnek, joe@contoso.onmicrosoft.comadlı Microsoft Entra kiracısında bulunan Microsoft Entra hesabı için bir oturum açma bilgisi oluşturur.

CREATE LOGIN [joe@contoso.onmicrosoft.com] FROM EXTERNAL PROVIDER

GO

J. Federasyon Microsoft Entra hesabı için oturum açma bilgisi oluşturma

Aşağıdaki örnek, contoso bob@contoso.com için bir oturum açma bilgisi oluşturur. Kullanıcı bob, konuk kullanıcı da olabilir.

CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER
GO

K. Microsoft Entra grubu için oturum açma bilgisi oluşturma

Aşağıdaki örnek, contoso kiracısında bulunan mygroup Microsoft Entra grubu için bir oturum açmaoluşturur.

CREATE LOGIN [mygroup] FROM EXTERNAL PROVIDER
GO

L. Microsoft Entra uygulaması için oturum açma bilgisi oluşturma

Aşağıdaki örnek, contoso kiracısında bulunan myapp Microsoft Entra uygulaması için bir oturum açmaoluşturur.

CREATE LOGIN [myapp] FROM EXTERNAL PROVIDER

SQL Server

* Azure SQL Veritabanı *  

Azure Synapse'i
Analiz

 

SQL Veritabanı

Azure SQL Veritabanı'na bağlantı ve yetkilendirme hakkında daha fazla bilgi için bkz:

  • Azure SQL Veritabanı için Bağlantı ayarları
  • SQL Veritabanı veritabanı erişimini yetkilendirme

Sözdizimi

-- Syntax for Azure SQL Database
CREATE LOGIN login_name
  { 
    FROM EXTERNAL PROVIDER [WITH OBJECT_ID = 'objectid'] 
    | WITH <option_list> [,..] 
  }

<option_list> ::=
    PASSWORD = { 'password' }
    [ , SID = sid ]

Bağımsız değişken

login_name

Not

Microsoft Entra sunucu sorumluları (oturum açma bilgileri) şu anda Azure SQL Veritabanı için genel önizleme aşamasındadır.

FROM EXTERNAL PROVIDER yan tümcesi ile kullanıldığında, oturum açma işlemi bir Microsoft Entra kullanıcısı, grubu veya uygulaması olan Microsoft Entra sorumlusunu belirtir. Aksi takdirde, oturum açma, oluşturulan SQL oturum açma bilgilerinin adını temsil eder.

2048'den fazla Microsoft Entra güvenlik grubunun üyesi olan Microsoft Entra kullanıcılarının ve hizmet sorumlularının SQL Veritabanı, SQL Yönetilen Örneği veya Azure Synapse'te veritabanında oturum açması desteklenmez.

DıŞ SAĞLAYıCıDAN

Oturum açma bilgilerinin Microsoft Entra kimlik doğrulaması için olduğunu belirtir.

ILE OBJECT_ID = 'nesne'

Microsoft Entra Nesne Kimliğini belirtir. OBJECT_ID belirtilirse, login_name Microsoft Entra görünen adıyla eşleşmesi gerekmez. login_name sys.server_principals görünümünde benzersiz bir ad olmalı ve diğer tüm sysname sınırlamalarına uymalıdır. WITH OBJECT_ID seçeneğini kullanma hakkında daha fazla bilgi için bkz. Microsoft Entra oturum açma bilgileri vegörünen adları olmayan kullanıcılar.

Not

Hizmet sorumlusu görünen adı yinelenen değilse, varsayılan CREATE LOGIN veya CREATE USER deyimi kullanılmalıdır. WITH OBJECT_ID uzantısı, nonunique hizmet sorumlularıyla kullanılmak üzere uygulanan bir sorun giderme onarım öğesidir. Benzersiz bir hizmet sorumlusuyla kullanılması önerilmez. Sonek eklemeden hizmet sorumlusu için WITH OBJECT_ID uzantısını kullanmak başarıyla çalışır, ancak oturum açma veya kullanıcının hangi hizmet sorumlusu için oluşturulduğu belirgin olmaz. Hizmet sorumlusunu benzersiz bir şekilde tanımlamak için sonek kullanarak bir diğer ad oluşturmanız önerilir. WITH OBJECT_ID uzantısı SQL Server için desteklenmez.

ŞİFRE ='şifre'

Oluşturulan SQL oturum açma bilgilerinin parolasını belirtir. Güçlü bir parola kullanın. Daha fazla bilgi için bkz. Güçlü Parolalar ve Parola İlkesi. SQL Server 2012 (11.x) ile başlayarak, depolanan parola bilgileri tuzlu parolanın SHA-512 kullanılarak hesaplanır.

Parolalar büyük/küçük harfe duyarlıdır. Parolalar her zaman en az sekiz karakter uzunluğunda olmalıdır ve 128 karakteri aşamaz. Parolalar a-z, A-Z, 0-9 ve çoğu sayısal olmayan karakter içerebilir. Parolalar tek tırnak işareti veya login_nameiçeremez.

SID = sid

Oturum açma bilgilerini yeniden oluşturmak için kullanılır. Windows kimlik doğrulaması oturum açma işlemleri için değil yalnızca SQL Server kimlik doğrulaması oturum açma işlemleri için geçerlidir. Yeni SQL Server kimlik doğrulaması oturum açma bilgilerinin SID'sini belirtir. Bu seçenek kullanılmazsa, SQL Server otomatik olarak bir SID atar. SID yapısı SQL Server sürümüne bağlıdır. SQL Veritabanı için, bu 32 baytlık (ikili (32)) sabit değeridir ve GUID'yi temsil eden 0x01060000000000640000000000000000 artı 16 bayt'tır. Örneğin, SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.

Açıklamalar

  • Parolalar büyük/küçük harfe duyarlıdır.
  • Oturum açmanın oluşturulması yeni oturum açmayı otomatik olarak etkinleştirir ve oturum açma işlemine sunucu düzeyinde CONNECT SQL izni verir.

Önemli

Azure SQL Veritabanı'nda oturum açma bilgileri ve kullanıcılarla çalışma hakkında bilgi için bkz. Azure SQL Veritabanı'nda oturum açma bilgilerini yönetme .

Oturum açma

SQL Veritabanı oturum açma bilgileri

CREATE LOGIN deyimi, toplu işlemdeki tek deyim olmalıdır.

sqlcmd gibi SQL Veritabanı'na bağlanmanın bazı yöntemlerinde, <oturum açma>@<sunucusu> gösterimini kullanarak bağlantı dizesindeki oturum açma adına SQL Veritabanı sunucu adını eklemeniz gerekir. Örneğin, oturumunuz login1 ve SQL Veritabanı sunucusunun tam adı servername.database.windows.netise, bağlantı dizesinin kullanıcı adı parametresi login1@servernameolmalıdır. kullanıcı adı parametresinin toplam uzunluğu 128 karakter olduğundan, login_name sunucu adının uzunluğu eksi 127 karakterle sınırlıdır. Örnekte login_name yalnızca 117 karakter uzunluğunda olabilir çünkü servername 10 karakterdir.

SQL Veritabanı'nda, oturum açmak için uygun izinlere sahip master veritabanına bağlı olmanız gerekir. Daha fazla bilgi için bkz. yönetici izinlerine sahip ek oturum açma bilgileri ve kullanıcılar oluşturma.

SQL Server kuralları, @<sunucuadı><>oturum açma adı biçiminde bir SQL Server kimlik doğrulaması oturum açma bilgisi oluşturmanıza olanak sağlar. SQL Veritabanı sunucunuz myazureserver ve oturum açma bilgileriniz myemail@contoso.comise, oturum açma bilgilerinizi myemail@contoso.com@myazureserverolarak sağlamanız gerekir.

SQL Veritabanı'nda, bağlantı kimliğini doğrulamak için gereken oturum açma verileri ve sunucu düzeyinde güvenlik duvarı kuralları her veritabanında geçici olarak önbelleğe alınır. Bu önbellek düzenli aralıklarla yenilenir. Kimlik doğrulama önbelleğinin yenilenmesini zorlamak ve veritabanının oturum açma bilgileri tablosunun en son sürümüne sahip olduğundan emin olmak için DBCC FLUSHAUTHCACHE yürütebilirsiniz.

İzinler

Yalnızca sunucu düzeyinde asıl oturum açma bilgileri (sağlama işlemi tarafından oluşturulur) veya loginmanager veritabanındaki master veritabanı rolünün üyeleri yeni oturum açma bilgileri oluşturabilir. Daha fazla bilgi için bkz. yönetici izinlerine sahip ek oturum açma bilgileri ve kullanıcılar oluşturma.

Örnekler

A. Parolayla oturum açma oluşturma

Aşağıdaki örnek, belirli bir kullanıcı için oturum açma bilgisi oluşturur ve bir parola atar. master veritabanlarına bağlanın ve aşağıdaki kod örneğini kullanın.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. SID'den oturum açma oluşturma

Aşağıdaki örnek önce bir SQL Server kimlik doğrulaması oturum açma bilgisi oluşturur ve oturum açma sid'sini belirler. master veritabanlarına bağlanın ve aşağıdaki kod örneğini kullanın.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Sorgum SID olarak 0x241C11948AEEB749B0D22646DB1A19F2 döndürüyor. Sorgunuz farklı bir değer döndürür. Aşağıdaki deyimler oturum açma bilgilerini siler ve ardından oturum açmayı yeniden oluşturur. Önceki sorgunuzdaki SID'yi kullanın.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

C. Microsoft Entra hesabı kullanarak oturum açma oluşturma

Bu örnek, bob@contoso.comadlı Microsoft Entra etki alanında bulunan bir kullanıcı contoso kimlik bilgilerini kullanarak Azure SQL mantıksal sunucusunda oturum açma bilgisi oluşturur. master veritabanlarına bağlanın ve aşağıdaki kod örneğini kullanın.

CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER;
GO

D. Nesne Kimliğini kullanarak diğer adla oturum açma oluşturma

Microsoft Entra hizmet sorumlusunun veya grubunun Nesne Kimliğini belirterek login_name için bir diğer ad oluşturabilirsiniz. master veritabanlarına bağlanın ve aşağıdaki kod örneğini kullanın.

CREATE LOGIN [myapp4466e] FROM EXTERNAL PROVIDER 
  WITH OBJECT_ID='aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb';

Hizmet sorumlusunun Nesne Kimliğini alma hakkında daha fazla bilgi için bkz. Microsoft Entra ID'de hizmet sorumlusu nesnelerini.

SQL Server

Azure SQL Veritabanı

* Azure SQL
Yönetilen Örnek *

Azure Synapse'i
Analiz

 

Azure SQL Yönetilen Örneği

Sözdizimi

-- Syntax for Azure SQL Managed Instance
CREATE LOGIN login_name [FROM EXTERNAL PROVIDER [WITH OBJECT_ID = 'objectid'] ] { WITH <option_list> [,..]}

<option_list> ::=
    PASSWORD = {'password'}
    | SID = sid
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language

Bağımsız değişken

login_name

FROM EXTERNAL PROVIDER yan tümcesi ile kullanıldığında, oturum açma işlemi bir Microsoft Entra kullanıcısı, grubu veya uygulaması olan Microsoft Entra sorumlusunu belirtir. Aksi takdirde, oturum açma, oluşturulan SQL oturum açma bilgilerinin adını temsil eder.

2048'den fazla Microsoft Entra güvenlik grubunun üyesi olan Microsoft Entra kullanıcılarının ve hizmet sorumlularının Azure SQL Veritabanı, Azure SQL Yönetilen Örneği veya Azure Synapse'teki veritabanlarında oturum açması desteklenmez.

DıŞ SAĞLAYıCıDAN

Oturum açma bilgilerinin Microsoft Entra kimlik doğrulaması için olduğunu belirtir.

ILE OBJECT_ID = 'nesne'

Microsoft Entra Nesne Kimliğini belirtir. OBJECT_ID belirtilirse, login_name bir sonek eklenmiş olarak özgün asıl görünen adından oluşturulmuş kullanıcı tanımlı bir diğer ad olabilir. login_name sys.server_principals görünümünde benzersiz bir ad olmalı ve diğer tüm sysname sınırlamalarına uymalıdır. WITH OBJECT_ID seçeneğini kullanma hakkında daha fazla bilgi için bkz. Microsoft Entra oturum açma bilgileri vegörünen adları olmayan kullanıcılar.

Not

Hizmet sorumlusu görünen adı yinelenen değilse, varsayılan CREATE LOGIN veya CREATE USER deyimi kullanılmalıdır. WITH OBJECT_ID uzantısı genel önizlemeiçindedir ve nonunique hizmet sorumlularıyla kullanılmak üzere uygulanan bir sorun giderme onarım öğesidir. Bunu benzersiz bir hizmet sorumlusuyla kullanmak gerekli değildir. Sonek eklemeden hizmet sorumlusu için WITH OBJECT_ID uzantısını kullanmak başarıyla çalışır, ancak oturum açma veya kullanıcının hangi hizmet sorumlusu için oluşturulduğu belirgin olmaz. Hizmet sorumlusunu benzersiz bir şekilde tanımlamak için sonek kullanarak bir diğer ad oluşturmanız önerilir. WITH OBJECT_ID uzantısı SQL Server için desteklenmez.

PASSWORD = 'parola'

Oluşturulan SQL oturum açma bilgilerinin parolasını belirtir. Güçlü bir parola kullanın. Daha fazla bilgi için bkz. Güçlü Parolalar ve Parola İlkesi. SQL Server 2012 (11.x) ile başlayarak, depolanan parola bilgileri tuzlu parolanın SHA-512 kullanılarak hesaplanır.

Parolalar büyük/küçük harfe duyarlıdır. Parolalar her zaman en az 10 karakter uzunluğunda olmalıdır ve 128 karakteri aşamaz. Parolalar a-z, A-Z, 0-9 ve çoğu sayısal olmayan karakter içerebilir. Parolalar tek tırnak işareti veya login_nameiçeremez.

SID = sid

Oturum açma bilgilerini yeniden oluşturmak için kullanılır. Yalnızca SQL Server kimlik doğrulaması oturum açma işlemleri için geçerlidir. Yeni SQL Server kimlik doğrulaması oturum açma bilgilerinin SID'sini belirtir. Bu seçenek kullanılmazsa, SQL Server otomatik olarak bir SID atar. SID yapısı SQL Server sürümüne bağlıdır. SQL Veritabanı için, bu 32 baytlık (ikili (32)) sabit değeridir ve GUID'yi temsil eden 0x01060000000000640000000000000000 artı 16 bayt'tır. Örneğin, SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.

Açıklamalar

  • FROM EXTERNAL PROVIDER söz dizimi, Microsoft Entra hesaplarıyla eşlenmiş sunucu düzeyinde sorumlular oluşturur

  • FROM EXTERNAL PROVIDER belirtildiğinde:

    • login_name, geçerli Azure SQL Yönetilen Örneği tarafından Microsoft Entra Kimliği'nde erişilebilen mevcut bir Microsoft Entra hesabını (kullanıcı, grup veya uygulama) temsil etmelidir. Microsoft Entra sorumluları için CREATE LOGIN söz dizimi şunları gerektirir:

      • Microsoft Entra kullanıcıları için Microsoft Entra nesnesinin UserPrincipalName.

      • Microsoft Entra grupları ve uygulamaları için Microsoft Entra nesnesinin DisplayName.

    • PAROLA seçeneği kullanılamaz.

  • Varsayılan olarak, FROM EXTERNAL PROVIDER yan tümcesi atlandığında, normal bir SQL oturumu oluşturulur.

  • Microsoft Entra oturum açma bilgileri, sys.server_principals'de görünür ve tür sütun değeri E ve type_desc Microsoft Entra kullanıcılarına eşlenen oturum açma bilgileri için EXTERNAL_LOGIN olarak ayarlanır veya sütun değerini X ve type_desc değeri Microsoft Entra gruplarına eşlenen oturum açma işlemleri için EXTERNAL_GROUP olarak ayarlanır.

  • Oturum açma bilgilerini aktaracak bir betik için bkz. SQL Server 2005 ve SQL Server 2008 örnekleri arasında oturum açma bilgilerini ve parolaları aktarma.

  • Oturum açmanın oluşturulması yeni oturum açmayı otomatik olarak etkinleştirir ve oturum açma işlemine sunucu düzeyinde CONNECT SQL izni verir.

Önemli

Azure SQL Veritabanı'nda oturum açma bilgileri ve kullanıcılarla çalışma hakkında bilgi için bkz. Azure SQL Veritabanı'nda oturum açma bilgilerini yönetme .

Oturum Açma Bilgileri ve İzinler

Yalnızca sunucu düzeyinde asıl oturum açma bilgileri (sağlama işlemi tarafından oluşturulur) veya securityadmin veritabanındaki sysadmin veya master veritabanı rolünün üyeleri yeni oturum açma bilgileri oluşturabilir. Daha fazla bilgi için bkz. Server-Level Rolleri ve ALTER SERVER ROLE .

Varsayılan olarak, master'de yeni oluşturulan bir Microsoft Entra oturum açma bilgilerine verilen standart izin şudur: SQL BAĞLANin ve HERHANGİ Bİr VERİtABANI GÖRÜNTÜLEyİn.

SQL Yönetilen Örneği oturum açma bilgileri

  • veya securityadminsabit sunucu rollerinden birinde sunucu veya üyelik üzerinde sysadmin iznine sahip olmalıdır. Yalnızca ALTER ANY LOGIN iznine sahip bir Microsoft Entra hesabı veya bu rollerden birine üye olmak create komutunu yürütebilir.

  • Oturum açma işlemi bir SQL sorumlusuysa, yalnızca sysadmin rolünün parçası olan oturum açma bilgileri oluşturma komutunu kullanarak bir Microsoft Entra hesabı için oturum açma bilgileri oluşturabilir.

  • Azure SQL Yönetilen Örneği ile aynı Microsoft Entra kiracısının üyesi olmalıdır.

Oturum açma oluşturduktan sonra

Oturum açma bilgileri oluşturulduktan sonra oturum açma işlemi yönetilen örneğe bağlanabilir ancak yalnızca genel rolüne verilen izinlere sahiptir. Aşağıdaki etkinliklerden bazılarını gerçekleştirmeyi göz önünde bulundurun.

  • Microsoft Entra oturumundan kullanıcı oluşturmak için bkz. CREATE USER .

  • Veritabanındaki bir kullanıcıya izin vermek için ALTER SERVER ROLE ... ADD MEMBER deyimini kullanarak kullanıcıyı yerleşik veritabanı rollerinden birine veya özel bir role ekleyin ya da GRANT deyimini kullanarak kullanıcıya doğrudan izin verin. Daha fazla bilgi için bkz. Yönetici Olmayan Roller, ek sunucu düzeyinde yönetim rolleri, ALTER SERVER ROLEve GRANT deyimi.

  • Sunucu genelinde izinler vermek için, master veritabanında bir veritabanı kullanıcısı oluşturun ve kullanıcıyı yönetim sunucusu rollerinden birine eklemek için ALTER SERVER ROLE ... ADD MEMBER deyimini kullanın. Daha fazla bilgi için bkz. Server-Level Roller ve ALTER SERVER ROLE ve Sunucu rolleri.

    • Microsoft Entra oturum açma bilgilerine sysadmin rolü eklemek için aşağıdaki komutu kullanın: ALTER SERVER ROLE sysadmin ADD MEMBER [MS_Entra_login]
  • Yeni oturum açma bilgilerine veya oturum açma bilgilerini içeren bir role sunucu düzeyinde izinler vermek için GRANT deyimini kullanın. Daha fazla bilgi için bkz. grant .

Sınırlama

  • Veritabanı sahibi olarak bir Microsoft Entra grubuna eşlenmiş bir Microsoft Entra oturum açma bilgisi ayarlanması desteklenmez.

  • EXECUTE AS yan tümcesi gibi diğer Microsoft Entra sorumlularını kullanarak Microsoft Entra oturum açma bilgilerinin kimliğine bürünülmesi desteklenir.

  • Yalnızca sysadmin rolünün parçası olan sunucu sorumluları (oturum açma bilgileri) Microsoft Entra sorumlularını hedefleyen aşağıdaki işlemleri yürütebilir:

    • KULLANICI OLARAK YÜRÜT
    • OTURUM AÇMA OLARAK YÜRÜT
  • Başka bir Microsoft Entra dizininden içeri aktarılan dış (konuk) kullanıcılar, Azure portalı kullanılarak DOĞRUDAN SQL Yönetilen Örneği için Microsoft Entra yöneticisi olarak yapılandırılamaz. Bunun yerine, dış kullanıcıyı rol atanabilir bir gruba ekleyin ve grubu örnek yöneticisi olarak yapılandırın. Tek tek konuk kullanıcıları örnek yöneticisi olarak ayarlamak için PowerShell veya Azure CLI kullanabilirsiniz.

  • Oturum açma bilgileri bir yük devretme grubundaki ikincil örneğe çoğaltılamaz. Oturum açma bilgileri bir sistem veritabanı olan master veritabanına kaydedilir ve bu nedenle coğrafi olarak çoğaltılamaz. Bunu çözmek için oturum açma bilgilerinin ikincil örnekte aynı SID ile oluşturulması gerekir.

-- Code to create login on the secondary instance
CREATE LOGIN foo WITH PASSWORD = '<enterStrongPasswordHere>', SID = <login_sid>;

Örnekler

A. Parolayla oturum açma oluşturma

Aşağıdaki örnek, belirli bir kullanıcı için oturum açma bilgisi oluşturur ve bir parola atar.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. SID'den oturum açma oluşturma

Aşağıdaki örnek önce bir SQL Server kimlik doğrulaması oturum açma bilgisi oluşturur ve oturum açma sid'sini belirler.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Sorgum SID olarak 0x241C11948AEEB749B0D22646DB1A19F2 döndürüyor. Sorgunuz farklı bir değer döndürür. Aşağıdaki deyimler oturum açma bilgilerini siler ve ardından oturum açmayı yeniden oluşturur. Önceki sorgunuzdaki SID'yi kullanın.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

C. Microsoft Entra kullanıcısı için oturum açma bilgisi oluşturma

Aşağıdaki örnek, joe@contoso.onmicrosoft.comadlı kiracıda bulunan Microsoft Entra hesabı için bir oturum açma bilgisi oluşturur.

CREATE LOGIN [joe@contoso.onmicrosoft.com] FROM EXTERNAL PROVIDER

GO

D. Federasyon Microsoft Entra hesabı için oturum açma bilgisi oluşturma

Aşağıdaki örnek, contoso bob@contoso.com için bir oturum açma bilgisi oluşturur. Kullanıcı bob, konuk kullanıcı da olabilir.

CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER
GO

E. Microsoft Entra grubu için oturum açma bilgisi oluşturma

Aşağıdaki örnek, contoso kiracısında bulunan mygroup Microsoft Entra grubu için bir oturum açmaoluşturur.

CREATE LOGIN [mygroup] FROM EXTERNAL PROVIDER
GO

F. Microsoft Entra uygulaması için oturum açma bilgisi oluşturma

Aşağıdaki örnek, contoso kiracısında bulunan myapp Microsoft Entra uygulaması için bir oturum açmaoluşturur.

CREATE LOGIN [myapp] FROM EXTERNAL PROVIDER

G. Yeni eklenen oturum açma bilgilerini denetleme

Yeni eklenen oturum açma bilgilerini denetlemek için aşağıdaki T-SQL komutunu çalıştırın:

SELECT *
FROM sys.server_principals;
GO

SQL Server

Azure SQL Veritabanı

* Azure Synapse
Analiz *

 

Azure Synapse Analytics

Sözdizimi

-- Syntax for Azure Synapse Analytics
CREATE LOGIN login_name
  { 
    FROM EXTERNAL PROVIDER
    | WITH <option_list> [,..] 
  }

<option_list> ::=
    PASSWORD = { 'password' }
    [ , SID = sid ]

Bağımsız değişken

Not

Microsoft Entra sunucu sorumluları (oturum açma bilgileri) şu anda önizleme aşamasındadır.

FROM EXTERNAL PROVIDER yan tümcesi ile kullanıldığında, oturum açma işlemi bir Microsoft Entra kullanıcısı, grubu veya uygulaması olan Microsoft Entra sorumlusunu belirtir. Aksi takdirde, oturum açma, oluşturulan SQL oturum açma bilgilerinin adını temsil eder.

2048'den fazla Microsoft Entra güvenlik grubunun üyesi olan Microsoft kullanıcıları ve hizmet sorumluları (Microsoft Entra uygulamaları), SQL Veritabanı, SQL Yönetilen Örneği veya Azure Synapse'te veritabanında oturum açmak için desteklenmez.

DıŞ SAĞLAYıCıDAN

Oturum açma bilgilerinin Microsoft Entra kimlik doğrulaması için olduğunu belirtir.

login_name

Oluşturulan oturum açma bilgilerinin adını belirtir. Azure Synapse'te SQL Analytics yalnızca SQL oturum açma bilgilerini destekler. Microsoft Entra kullanıcılarına yönelik hesaplar oluşturmak için CREATE USER deyimini kullanın.

ŞİFRE ='şifre'

Oluşturulan SQL oturum açma bilgilerinin parolasını belirtir. Güçlü bir parola kullanın. Daha fazla bilgi için bkz. Güçlü Parolalar ve Parola İlkesi. SQL Server 2012 (11.x) ile başlayarak, depolanan parola bilgileri tuzlu parolanın SHA-512 kullanılarak hesaplanır.

Parolalar büyük/küçük harfe duyarlıdır. Parolalar her zaman en az sekiz karakter uzunluğunda olmalıdır ve 128 karakteri aşamaz. Parolalar a-z, A-Z, 0-9 ve çoğu sayısal olmayan karakter içerebilir. Parolalar tek tırnak işareti veya login_nameiçeremez.

SID = sid

Oturum açma bilgilerini yeniden oluşturmak için kullanılır. Windows kimlik doğrulaması oturum açma işlemleri için değil yalnızca SQL Server kimlik doğrulaması oturum açma işlemleri için geçerlidir. Yeni SQL Server kimlik doğrulaması oturum açma bilgilerinin SID'sini belirtir. Bu seçenek kullanılmazsa, SQL Server otomatik olarak bir SID atar. SID yapısı SQL Server sürümüne bağlıdır. SQL Analytics için bu 32 bayt (ikili (32)) değişmez değeridir ve guid'yi temsil eden 0x01060000000000640000000000000000 artı 16 bayttır. Örneğin, SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.

Açıklamalar

Oturum açma

CREATE LOGIN deyimi, toplu işlemdeki tek deyim olmalıdır.

sqlcmdgibi araçları kullanarak Azure Synapse'e bağlanırken, <oturum açma>@<sunucusu> gösterimini kullanarak bağlantı dizesindeki oturum açma adına SQL Analytics sunucu adını eklemeniz gerekir. Örneğin, oturumunuz login1 ve SQL Analytics sunucusunun tam adı servername.database.windows.netise, bağlantı dizesinin kullanıcı adı parametresi login1@servernameolmalıdır. kullanıcı adı parametresinin toplam uzunluğu 128 karakter olduğundan, login_name sunucu adının uzunluğu eksi 127 karakterle sınırlıdır. Örnekte login_name yalnızca 117 karakter uzunluğunda olabilir çünkü servername 10 karakterdir.

Oturum açma bilgisi oluşturmak için master veritabanına bağlı olmanız gerekir.

SQL Server kuralları, @<sunucuadı><>oturum açma adı biçiminde bir SQL Server kimlik doğrulaması oturum açma bilgisi oluşturmanıza olanak sağlar. SQL Veritabanı sunucunuz myazureserver ve oturum açma bilgileriniz myemail@contoso.comise, oturum açma bilgilerinizi myemail@contoso.com@myazureserverolarak sağlamanız gerekir.

Bağlantı kimliğini doğrulamak için gereken oturum açma verileri ve sunucu düzeyinde güvenlik duvarı kuralları her veritabanında geçici olarak önbelleğe alınır. Bu önbellek düzenli aralıklarla yenilenir. Kimlik doğrulama önbelleğinin yenilenmesini zorlamak ve veritabanının oturum açma bilgileri tablosunun en son sürümüne sahip olduğundan emin olmak için DBCC FLUSHAUTHCACHE yürütebilirsiniz.

Oturum açma bilgileri hakkında daha fazla bilgi için bkz. Veritabanlarını ve Oturum Açma Bilgilerini Yönetme.

İzinler

Yalnızca sunucu düzeyinde asıl oturum açma bilgileri (sağlama işlemi tarafından oluşturulur) veya loginmanager veritabanındaki master veritabanı rolünün üyeleri yeni oturum açma bilgileri oluşturabilir. Daha fazla bilgi için bkz. Server-Level Rolleri ve ALTER SERVER ROLE .

Oturum açma oluşturduktan sonra

Oturum açma bilgileri oluşturulduktan sonra oturum açma bilgileri Azure Synapse'e bağlanabilir ancak yalnızca genel rolüne verilen izinlere sahiptir. Aşağıdaki etkinliklerden bazılarını gerçekleştirmeyi göz önünde bulundurun.

  • Veritabanına bağlanmak için oturum açma için bir veritabanı kullanıcısı oluşturun. Daha fazla bilgi için bkz. CREATE USER .

  • Veritabanındaki bir kullanıcıya izin vermek için ALTER SERVER ROLE ... ADD MEMBER deyimini kullanarak kullanıcıyı yerleşik veritabanı rollerinden birine veya özel bir role ekleyin ya da GRANT deyimini kullanarak kullanıcıya doğrudan izin verin. Daha fazla bilgi için bkz. Yönetici Olmayan Roller, ek sunucu düzeyinde yönetim rolleri, ALTER SERVER ROLEve GRANT deyimi.

  • Sunucu genelinde izinler vermek için, master veritabanında bir veritabanı kullanıcısı oluşturun ve kullanıcıyı yönetim sunucusu rollerinden birine eklemek için ALTER SERVER ROLE ... ADD MEMBER deyimini kullanın. Daha fazla bilgi için bkz. Server-Level Roller ve ALTER SERVER ROLE ve Sunucu rolleri.

  • Yeni oturum açma bilgilerine veya oturum açma bilgilerini içeren bir role sunucu düzeyinde izinler vermek için GRANT deyimini kullanın. Daha fazla bilgi için bkz. grant .

Örnekler

A. Parolayla oturum açma oluşturma

Aşağıdaki örnek, belirli bir kullanıcı için oturum açma bilgisi oluşturur ve bir parola atar.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. SID'den oturum açma oluşturma

Aşağıdaki örnek önce bir SQL Server kimlik doğrulaması oturum açma bilgisi oluşturur ve oturum açma sid'sini belirler.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Sorgum SID olarak 0x241C11948AEEB749B0D22646DB1A19F2 döndürüyor. Sorgunuz farklı bir değer döndürür. Aşağıdaki deyimler oturum açma bilgilerini siler ve ardından oturum açmayı yeniden oluşturur. Önceki sorgunuzdaki SID'yi kullanın.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

SQL Server

Azure SQL Veritabanı

Azure Synapse'i
Analiz

* Analiz
Platform Sistemi (PDW) *

 

Analiz Platformu Sistemi

Sözdizimi

-- Syntax for Analytics Platform System
CREATE LOGIN loginName { WITH <option_list1> | FROM WINDOWS }

<option_list1> ::=
    PASSWORD = { 'password' } [ MUST_CHANGE ]
    [ , <option_list> [ ,... ] ]

<option_list> ::=
      CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}

Bağımsız değişken

login_name

Oluşturulan oturum açma bilgilerinin adını belirtir. Dört tür oturum açma işlemi vardır: SQL Server oturum açma bilgileri, Windows oturum açma bilgileri, sertifikayla eşlenen oturum açma işlemleri ve asimetrik anahtar eşlemeli oturum açma işlemleri. Bir Windows etki alanı hesabından eşlenen oturum açma bilgileri oluştururken, Windows 2000 öncesi kullanıcı oturum açma adını [<domainName>\<login_name>] biçiminde kullanmanız gerekir. UPN'yi login_name@DomainName biçiminde kullanamazsınız. Bir örnek için bu makalenin devamında yer alan D örneğine bakın. Kimlik doğrulama oturum açma bilgileri sysname tür olup Tanımlayıcıları kurallarına uygun olmalıdır ve '\' içeremez. Windows oturum açma bilgileri '\' içerebilir. Active Directory kullanıcılarını temel alan oturum açma işlemleri 21 karakterden az adlarla sınırlıdır.

PASSWORD ='parola'

Yalnızca SQL Server oturum açma işlemleri için geçerlidir. Oluşturulmakta olan oturum açma için parolayı belirtir. Güçlü bir parola kullanın. Daha fazla bilgi için bkz. Güçlü Parolalar ve Parola İlkesi. SQL Server 2012 (11.x) ile başlayarak, depolanan parola bilgileri tuzlu parolanın SHA-512 kullanılarak hesaplanır.

Parolalar büyük/küçük harfe duyarlıdır. Parolalar her zaman en az sekiz karakter uzunluğunda olmalıdır ve 128 karakteri aşamaz. Parolalar a-z, A-Z, 0-9 ve çoğu sayısal olmayan karakter içerebilir. Parolalar tek tırnak işareti veya login_nameiçeremez.

MUST_CHANGE

Yalnızca SQL Server oturum açma işlemleri için geçerlidir. Bu seçenek dahil edilirse, SQL Server yeni oturum açma ilk kez kullanıldığında kullanıcıdan yeni bir parola ister.

CHECK_EXPIRATION = { ON | KAPALI }

Yalnızca SQL Server oturum açma işlemleri için geçerlidir. Bu oturum açma işleminde parola süre sonu ilkesinin zorunlu kılınıp uygulanmayacağını belirtir. Varsayılan değer KAPALI'dır.

CHECK_POLICY = { ON | KAPALI }

Yalnızca SQL Server oturum açma işlemleri için geçerlidir. SQL Server'ın çalıştığı bilgisayarın Windows parola ilkelerinin bu oturum açma işleminde zorunlu kılınması gerektiğini belirtir. Varsayılan değer ON'dır.

Windows ilkesi güçlü parolalar gerektiriyorsa, parolalar aşağıdaki dört özelliğin en az üç tanesini içermelidir:

  • Büyük harf karakter (A-Z).
  • Küçük harfli karakter (a-z).
  • Bir basamak (0-9).
  • Boşluk, _, @, *, ^, %, !, $, # veya &gibi sayısal olmayan karakterlerden biri.

WİNDOWS

Oturum açma bilgilerinin bir Windows oturum açma bilgileriyle eşlendiğini belirtir.

Açıklamalar

  • Parolalar büyük/küçük harfe duyarlıdır.
  • MUST_CHANGE belirtilirse, CHECK_EXPIRATION ve CHECK_POLICY ON olarak ayarlanmalıdır. Aksi takdirde, deyimi başarısız olur.
  • CHECK_POLICY = KAPALI ve CHECK_EXPIRATION = ON birleşimi desteklenmez.
  • CHECK_POLICY KAPALI olarak ayarlandığında lockout_time sıfırlanır ve CHECK_EXPIRATION KAPALI olarak ayarlanır.

Önemli

CHECK_EXPIRATION ve CHECK_POLICY yalnızca Windows Server 2003 ve sonraki sürümlerde uygulanır. Daha fazla bilgi için bkz. parola ilkesi .

İzinler

Yalnızca ALTER ANY LOGIN iznine sahip kullanıcılar veya securityadmin sabit sunucu rolündeki üyelik oturum açma bilgileri oluşturabilir. Daha fazla bilgi için bkz. Server-Level Rolleri ve ALTER SERVER ROLE .

Oturum açma oluşturduktan sonra

Oturum açma bilgileri oluşturulduktan sonra oturum açma bilgileri Azure Synapse Analytics'e bağlanabilir ancak yalnızca genel rolüne verilen izinlere sahiptir. Aşağıdaki etkinliklerden bazılarını gerçekleştirmeyi göz önünde bulundurun.

  • Veritabanına bağlanmak için oturum açma için bir veritabanı kullanıcısı oluşturun. Daha fazla bilgi için bkz. CREATE USER .
  • CREATE SERVER ROLEkullanarak kullanıcı tanımlı bir sunucu rolü oluşturun. Yeni oturum açma bilgilerini kullanıcı tanımlı sunucu rolüne eklemek için ALTER SERVER ROLE ... ADD MEMBER kullanın. Daha fazla bilgi için bkz. CREATE SERVER ROLE ve ALTER SERVER ROLE.
  • Oturum açma bilgilerini sabit bir sunucu rolüne eklemek için sp_addsrvrolemember kullanın. Daha fazla bilgi için bkz. Server-Level Roller ve sp_addsrvrolemember.
  • Yeni oturum açma bilgilerine veya oturum açma bilgilerini içeren bir role sunucu düzeyinde izinler vermek için GRANT deyimini kullanın. Daha fazla bilgi için bkz. grant .

Örnekler

G. Parolayla SQL Server kimlik doğrulaması oturum açma bilgileri oluşturma

Aşağıdaki örnek, parola Mary7ile oturum açma A2c3456 oluşturur.

CREATE LOGIN Mary7 WITH PASSWORD = 'A2c3456$#' ;

H. Seçenekleri Kullanma

Aşağıdaki örnek, parola ve isteğe bağlı bazı bağımsız değişkenlerle oturum açma Mary8 oluşturur.

CREATE LOGIN Mary8 WITH PASSWORD = 'A2c3456$#' MUST_CHANGE,
CHECK_EXPIRATION = ON,
CHECK_POLICY = ON;

Ben. Windows etki alanı hesabından oturum açma oluşturma

Aşağıdaki örnek, Mary etki alanındaki Contoso adlı bir Windows etki alanı hesabından oturum açma bilgisi oluşturur.

CREATE LOGIN [Contoso\Mary] FROM WINDOWS;
GO