Aracılığıyla paylaş


Artık kullanıcı sorunlarını giderme

Içine oturum bir örnek Microsoft SQL Server, bir güvenlik sorumlusunun geçerli olmalıdır. SQL Server oturum açma. Bu oturum açma anapara örneğine bağlanmak için izin verilip verilmediğini doğrulayan bir kimlik doğrulaması işlemi kullanılır SQL Server. The SQL Server logins on a server örnek are visible in the sys.server_principals catalog view and the sys.syslogins compatibility view.

SQL Server tek tek veritabanları için eşlenen bir veritabanı kullanıcı oturumlarının erişim SQL Server oturum açma. Bu kural için iki özel durum vardır:

  • Konuk hesabı.

    Bu bir hesaptır, veritabanında etkin olduğunda, sağlar. SQL Server oturumların veritabanını, Konuk kullanıcı olarak girmek için bir veritabanı kullanıcısı eşlenmez.

  • Microsoft Windows, grup üyelikleri.

    C SQL Server Windows kullanıcısı da veritabanındaki bir kullanıcı bir Windows grup üyesi ise, bir Windows kullanıcısı oluşturulan bir oturum açma veritabanı girebilirsiniz.

Eşleştirme bilgilerini bir SQL Server bir veritabanı kullanıcısı için oturum açma veritabanı içinde depolanır. Veritabanı kullanıcı adı ve buna karşılık gelen SID içerir SQL Server oturum açma. Bu veritabanı kullanıcı izinlerini, veritabanındaki yetkilendirme için kullanılır.

Bir veritabanı kullanıcısı için ilgili SQL Server oturum açma, tanımlı değil veya yanlış bir sunucuda tanımlanmış örneği için örnek oturum açamıyor. Böyle bir kullanıcı olarak kabul edilir bir artık kullanıcı veritabanının sunucudaki örnek.Bir veritabanı kullanıcısı, artık durumuna karşılık gelen SQL Server oturum açma bıraktı. Bir veritabanı geri veya farklı bir bağlı sonra Ayrıca, bir veritabanı kullanıcısı artık hale örnek, SQL Server. Yeni sunucu örnek var olmayan bir SID veritabanı kullanıcısı eşlenmişse orphaning oluşabilir.

Not

C SQL Server oturum açma, buna karşılık gelen bir veritabanı kullanıcı sürece eksik veritabanı erişemiyor guest bu veritabanındaki etkinleştirildi.Veritabanı kullanıcı hesabı oluşturma hakkında daha fazla bilgi için bkz: USER (Transact-SQL) CREATE.

Artık kullanıcıları algılamak için

Artık kullanıcıları algılamak için , aşağıdaki Transact-SQL deyimlerini çalıştırın:

USE <database_name>;
GO; 
sp_change_users_login @Action='Report';
GO;

Çıkış için bağlı değildir geçerli veritabanında karşılık gelen güvenlik tanımlayıcılarını (SID) ve kullanıcıları listeler SQL Server oturum açma. Daha fazla bilgi için bkz:sp_change_users_login (Transact-SQL).

Not

sp_change_users_login ile kullanılamaz.SQL Server Windows tarafından oluşturulan oturumları.

Artık bir kullanıcı için çözümlemek için

Artık bir kullanıcı için çözümlemek için , aşağıdaki yordamı kullanın:

  1. Aşağıdaki komut, belirtilen sunucu oturum açma hesabı relinks <login_name> Belirtilen veritabanı kullanıcısı ile <Database_user>.

    USE <database_name>;
    GO
    sp_change_users_login @Action='update_one', @UserNamePattern='<database_user>', 
       @LoginName='<login_name>';
    GO
    

    Daha fazla bilgi için bkz:sp_change_users_login (Transact-SQL).

  2. Önceki adımda kodu çalıştırmanızdan sonra kullanıcı veritabanına erişebilir.Kullanıcı daha sonra parolasını değiştirebilir <login_name> oturum açma hesabı, kullanarak sp_password saklı yordamını, aşağıdaki gibi:

    USE master 
    GO
    sp_password @old=NULL, @new='password', @loginame='<login_name>';
    GO
    
    Security noteSecurity Note:

    Yalnızca oturumları ALTER ANY oturum AÇMA izni olan başka bir kullanıcının oturum açma parolasını değiştirebilirsiniz.Ancak, yalnızca üyeleri sysadmin rolünü parolaları değiştirebilirsysadmin rolünün üyeleri.

    Not

    sp_password için kullanılamaz.Microsoft Windows hesaplarını. Kullanıcıların örneğine bağlama SQL Server Ağ Windows hesabı kimliğinin Windows tarafından; bu nedenle, parola yalnızca Windows'da değiştirilebilir.

    Daha fazla bilgi için bkz:sp_password (Transact-SQL).