Aracılığıyla paylaş


sp_change_users_login (Transact-SQL)

Var olan bir veritabanı kullanıcısı eşleştiren bir SQL Server oturum açma. This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Kullanımı KULLANICI DEĞİŞTİRME yerine.

Topic link iconTransact-SQL sözdizimi kuralları

sp_change_users_login [ @Action = ] 'action' 
    [ , [ @UserNamePattern = ] 'user' ] 
    [ , [ @LoginName = ] 'login' ] 
        [ , [ @Password = ] 'password' ]

Bağımsız değişkenler

  • [ @Action = ] 'action'
    Describes the action to be performed by the procedure.action is varchar(10).action can have one of the following values.

    Değer

    Açıklama

    Auto_Fix

    Bağlantılar sys.database_principals Sistem kataloğu Kullanıcı girişi, geçerli veritabanında görüntülemek bir SQL Server oturum açma adı aynı. Aynı ada sahip bir oturumu yoksa, tane yaratılacaktır.Sonuç inceleyin Auto_Fix deyim doğru bağlantıyı aslında yaptığınız onaylayın.Kullanmaktan kaçının Auto_Fix güvenliğe duyarlı durumlarda gerekir.

    When you use Auto_Fix, you must specify user and password if the login does not already exist, otherwise you must specify user but password will be ignored.login must be NULL.user must be a valid user in the current database.Oturum açma, başka bir kullanıcı için eşlenen bulunamaz.

    Report

    Herhangi bir oturum açma için bağlı geçerli veritabanında, karşılık gelen güvenlik tanımlayıcılarını (SID) ve kullanıcıları listeler.user, login, ve password null olmalı ya da belirtilmedi.

    Update_One

    Links the specified user in the current database to an existing SQL Serverlogin.user and login must be specified.password must be NULL or not specified.

  • [ @UserNamePattern = ] 'user'
    Is the name of a user in the current database.user is sysname, with a default of NULL.

  • [ @LoginName = ] 'login'
    Is the name of a SQL Server login.login is sysname, with a default of NULL.

  • [ @Password = ] 'password'
    Parola bir yeni atanan SQL Server belirleyerek oluşturduğunuz oturum açma Auto_Fix.Eşleşen bir oturum varsa, kullanıcı ve oturum açma eşleştirilir ve password göz ardı edilir. If a matching login does not exist, sp_change_users_login creates a new SQL Server login and assigns password as the password for the new login.password is sysname, and must not be NULL.

    Security noteSecurity Note:

    Güçlü bir parola kullanın.Daha fazla bilgi için bkz:Güçlü parolaları.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Sonuç Kümeleri

Sütun adı

Veri türü

Açıklama

KullanıcıAdı

sysname

Veritabanı kullanıcı adı.

Usersıd

varbinary(85)

Kullanıcının güvenlik tanıtıcısı.

Remarks

Bir veritabanı kullanıcısı ile geçerli veritabanında bağlamak sp_change_users_login kullanmak bir SQL Server oturum açma. Oturum açma için kullanıcı değiştirildiyse, sp_change_users_login kullanıcı, yeni oturum açma için kullanıcı izinleri kaybetmeden bağlamak için kullanın.The new login cannot be sa, and the usercannot be dbo, guest, or an INFORMATION_SCHEMA user.

sp_change_users_login veritabanı kullanıcılarını Windows düzeyinde ilkeleri, sertifikalar veya asimetrik anahtarlar eşlemek için kullanılamaz.

sp_change_users_login kullanılamaz bir SQL Server CREATE USER OLMAKSıZıN LOGIN kullanılarak oluşturulan bir kullanıcı veya bir Windows sorumlusu oluşturulan oturum açın.

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

İzinler

Db_owner sabit veritabanı rolü üyeliği gerekir.Yalnızca üyelere sysadmin sabit sunucu rolü belirtebilir Auto_Fix seçeneği.

Örnekler

C.Geçerli kullanıcının oturumu eşlemeler rapor gösterme

Aşağıdaki örnek, geçerli veritabanı ve güvenlik tanımlayıcılarını (Sıd) kullanıcıların bir rapor oluşturur.

EXEC sp_change_users_login 'Report';

b.Yeni bir SQL Server oturum veritabanına bir kullanıcı eşleme

Aşağıdaki örnekte, bir veritabanını yeni bir ilişkili kullanıcıdır SQL Server oturum açma. Veritabanı kullanıcısı MB-Sales, ilk, başka bir oturum açma için eşlenen remapped için oturum açma MaryB.

--Create the new login.
CREATE LOGIN MaryB WITH PASSWORD = '982734snfdHHkjj3';
GO
--Map database user MB-Sales to login MaryB.
USE AdventureWorks;
GO
EXEC sp_change_users_login 'Update_One', 'MB-Sales', 'MaryB';
GO

c.Bir kullanıcı, bir oturum gerekiyorsa, yeni bir oturum oluşturmak için otomatik olarak eşleme

Aşağıdaki örnek, nasıl kullanılacağını gösterir. Auto_Fix var olan bir kullanıcı adı aynı oturum açma için eşlemek veya oluşturmak için SQL Server oturum açma Mary Parola sahip B3r12-3x$098f6 oturum açma Mary sürücüsündeki disket yok.

USE AdventureWorks;
GO
EXEC sp_change_users_login 'Auto_Fix', 'Mary', NULL, 'B3r12-3x$098f6';
GO