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.
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 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