Aracılığıyla paylaş


sp_addlogin (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Kullanıcının SQL Server kimlik doğrulamasını kullanarak bir SQL Server örneğine bağlanmasına olanak tanıyan yeni bir SQL Server oturum açma bilgisi oluşturur.

Önemli

Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine CREATE LOGIN kullanın.

Önemli

Mümkün olduğunda Windows kimlik doğrulamayı kullanın.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_addlogin
    [ @loginame = ] N'loginame'
    [ , [ @passwd = ] N'passwd' ]
    [ , [ @defdb = ] N'defdb' ]
    [ , [ @deflanguage = ] N'deflanguage' ]
    [ , [ @sid = ] sid ]
    [ , [ @encryptopt = ] 'encryptopt' ]
[ ; ]

Tartışmalar

[ @loginame = ] N'loginame'

Oturum açma adı. @loginamesysname'dir ve varsayılan değer yoktur.

[ @passwd = ] N'passwd'

Oturum açma parolası. @passwdsysname değeridir ve varsayılan değeri .NULL

Önemli

Boş parola kullanmayın. Güçlü bir parola kullanın.

[ @defdb = ] N'defdb'

Oturum açmanın varsayılan veritabanı (oturum açtıktan sonra oturum açma işleminin ilk bağlandığı veritabanı). @defdbsysname değeridir ve varsayılan değeri .master

[ @deflanguage = ] N'deflanguage'

Oturum açmanın varsayılan dili. @deflanguagesysname değeridir ve varsayılan değeri .NULL @deflanguage belirtilmezse, yeni oturum açmanın varsayılan @deflanguage sunucunun geçerli varsayılan diline ayarlanır.

[ @sid = ] sid

Güvenlik kimlik numarası (SID). @sid , varsayılan değeri olan varbinary(16)'dır NULL. @sid iseNULL, sistem yeni oturum açma için bir SID oluşturur. Varbinary veri türü kullanılmasına rağmen, dışındaki NULL değerlerin tam olarak 16 bayt uzunluğunda olması gerekir ve zaten mevcut olamaz. @sid belirtmek, örneğin SQL Server oturum açma bilgilerini bir sunucudan diğerine taşırken veya betik oluştururken ve oturum açma bilgilerinin farklı sunucularda aynı SID'ye sahip olmasını istediğinizde yararlıdır.

[ @encryptopt = ] 'encryptopt'

Parolanın düz metin olarak mı yoksa düz metin parolasının karması olarak mı geçirildiğini belirtir. Şifreleme gerçekleşmez. Geriye dönük uyumluluk için bu tartışmada "şifrele" sözcüğü kullanılır. Düz metin parolası geçirilirse karma olarak eklenir. Karma depolanır. @encryptoptvarchar(20) şeklindedir ve aşağıdaki değerlerden biri olabilir.

Değer Açıklama
NULL (varsayılan) Parola temiz olarak geçirilir.
skip_encryption Parola zaten karma. Veritabanı Altyapısı değeri yeniden dağıtmadan depolamalıdır.
skip_encryption_old Sağlanan parola, SQL Server'ın önceki bir sürümü tarafından karma olarak sağlandı. Veritabanı Altyapısı değeri yeniden dağıtmadan depolamalıdır. Bu seçenek yalnızca yükseltme amacıyla sağlanır.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Açıklamalar

SQL Server oturum açma bilgileri harfler, simgeler ve sayılar da dahil olmak üzere 1 ile 128 karakter arasında olabilir. Oturum açma bilgileri ters eğik çizgi (\); sa veya public gibi ayrılmış bir oturum açma adı olamaz ya da zaten var olabilir veya boş bir dize olabilir NULL .

Varsayılan veritabanının adı sağlanırsa, deyimini yürütmeden USE belirtilen veritabanına bağlanabilirsiniz. Ancak, veritabanı sahibi (sp_adduser, sp_addrolemember kullanarak) veyasp_addrole tarafından bu veritabanına erişim verilene kadar varsayılan veritabanını kullanamazsınız.

SID numarası, sunucudaki oturum açma bilgilerini benzersiz olarak tanımlayan bir GUID'dir.

Sunucunun varsayılan dilinin değiştirilmesi, mevcut oturum açma bilgilerinin varsayılan dilini değiştirmez. Sunucunun varsayılan dilini değiştirmek için sp_configure kullanın.

skip_encryption Oturum açma bilgileri SQL Server'a eklendiğinde parola zaten karmaysa parola karması engellemek için kullanmak yararlı olur. Parola SQL Server'ın önceki bir sürümü tarafından karma olarak oluşturulduysa kullanın skip_encryption_old.

sp_addlogin kullanıcı tanımlı bir işlem içinde yürütülemez.

Aşağıdaki tabloda ile sp_addloginkullanılan çeşitli saklı yordamlar gösterilmektedir.

Saklı prosedür Açıklama
sp_grantlogin Bir Windows kullanıcısı veya grubu ekler.
sp_password Kullanıcının parolasını değiştirir.
sp_defaultdb Kullanıcının varsayılan veritabanını değiştirir.
sp_defaultlanguage Kullanıcının varsayılan dilini değiştirir.

İzinler

ALTER ANY LOGIN izni gerektirir.

Örnekler

A. SQL Server oturum açma bilgisi oluşturma

Aşağıdaki örnek, kullanıcı için Victoriavarsayılan bir veritabanı belirtmeden bir SQL Server oturumu oluşturur. değerini güçlü bir parolayla değiştirin <password> .

EXECUTE sp_addlogin 'Victoria', '<password>';
GO

B. Varsayılan veritabanı olan bir SQL Server oturum açma bilgisi oluşturma

Aşağıdaki örnek, kullanıcısı Albertiçin bir SQL Server oturumu ve varsayılan veritabanı corporateoluşturur. değerini güçlü bir parolayla değiştirin <password> .

EXECUTE sp_addlogin 'Albert', '<password>', 'corporate';
GO

C. Farklı bir varsayılan dile sahip bir SQL Server oturumu oluşturma

Aşağıdaki örnek, kullanıcı TzTodorov, varsayılan veritabanı AdventureWorks2025ve varsayılan dili Bulgarianiçin bir SQL Server oturum açma bilgisi oluşturur. değerini güçlü bir parolayla değiştirin <password> .

EXECUTE sp_addlogin 'TzTodorov', '<password>', 'AdventureWorks2022', N'български';

D. Belirli bir SID'ye sahip bir SQL Server oturumu oluşturma

Aşağıdaki örnek, kullanıcı Michaeliçin bir SQL Server oturum açma bilgisi , varsayılan veritabanı AdventureWorks2025, varsayılan dili us_englishve SID'i 0x0123456789ABCDEF0123456789ABCDEFoluşturur. değerini güçlü bir parolayla değiştirin <password> .

EXECUTE sp_addlogin 'Michael', '<password>', 'AdventureWorks2022', 'us_english', 0x0123456789ABCDEF0123456789ABCDEF;