Aracılığıyla paylaş


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

İçine oturum için bir örnek Microsoft SQL Server, bir asıl bulunması gereken geçerli bir SQL Server oturum açma.Bu oturum açma patron bağlanmak için izin verilip verilmediğini denetler kimlik doğrulaması işleminde kullanılan örnek , SQL Server.The SQL Server logins on a server instance are visible in the sys.server_principals catalog view and the sys.syslogins compatibility view.

SQL Serveroturumları için eşlenen veritabanı kullanıcı kullanarak bağımsız veritabanlarına erişmek SQL Server oturum açma.Bu kuralın iki istisnası vardır:

  • Konuk hesabı.

    Bir hesap budur, veritabanında etkin olduğunda, verir SQL Server veritabanı olarak girmek için bir veritabanı kullanıcısı için değil eşlenen oturum açmaKonuk kullanıcı.

  • Microsoft Windows grup üyelikleri.

    A SQL Server oluşturulan Windows kullanıcı oturum açma Windows kullanıcısı olup da bir kullanıcı Windows grubunun üye ise bir veritabanına girebilirsinizveritabanı.

Eşleme hakkında bilgi bir SQL Server bir veritabanı kullanıcısı için oturum açma depolanır içinde veritabanı.Veritabanı kullanıcı adını içerir ve SID buna karşılık gelen SQL Server oturum açma.Bu veritabanı kullanıcı izinleri için kullanılan yetkilendirme veritabanı.

Kendisi için bir veritabanı kullanıcısı ilgili SQL Server oturum açma, tanımlı değil veya yanlış bir sunucuda tanımlı örneğinde olamaz oturum örnek.Böyle bir kullanıcı kabul edilir bir artık kullanıcı veritabanının sunucu üzerindeki örnek.Bir veritabanı kullanıcısı, artık haline ilgili SQL Server oturum açma bıraktı.Bir veritabanını geri ya da farklı bir bağlı sonra Ayrıca, bir veritabanı kullanıcısı artık haline örnek , SQL Server.Yeni sunucu örnek var olmayan bir SID eşlenen veritabanı kullanıcı alt öğe Yitimi gerçekleşebilir.

Not

A SQL Server login, bunu NET bir karşılık gelen veritabanı kullanıcı sürece bir veritabanı erişim Konuk o veritabanında etkinleştirilir.Bir veritabanı kullanıcı hesabı oluşturma hakkında daha fazla bilgi için bkz: Kullanıcı (Transact-sql) oluştur.

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

Artık kullanıcıları algılamak için yürütmek aşağıdaki Transact-sql deyimleri:

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

Çıkış geçerli veritabanında herhangi bağlı olan kullanıcıları ve ilgili güvenlik tanımlayıcılarını (SID) 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ı gidermek için

Artık bir kullanıcı gidermek için aşağıdaki yordamı kullanın:

  1. Aşağıdaki komutu tarafından belirtilen sunucu oturum açma hesabı i <login_name> tarafından belirtilen veritabanı kullanıcı <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ırdıktan sonra kullanıcı veritabanına erişebilir.Kullanıcı daha sonra parolasını değiştirebilir <login_name> kullanarak oturum açma hesabı sp_password saklı yordam, aşağıdaki gibi:

    USE master 
    GO
    sp_password @old=NULL, @new='password', @loginame='<login_name>';
    GO
    
    Güvenlik notuGüvenlik Notu

    Yalnızca oturumları alter any LOGIN izni ile başka bir kullanıcının oturum açma parolasını değiştirebilirsiniz.Ancak, yalnızca üyeleri sysadmin rolü, parolaları değiştirebilirsiniz sysadmin Rol üyeleri.

    Not

    sp_password için kullanılamaz Microsoft Windows hesapları.Bağlanan kullanıcılar bir örnek , SQL Server , Windows ağ üzerinden hesap authenticated Windows; Bu nedenle, parolalarını yalnızca Windows'da değiştirilebilir.

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