6 Eylül 2010 Pazartesi

İpucu: "sp_validatelogins" ve "sp_change_users_login"

sp_validatelogins

Bu sistem SP'si ile, bir SQL Server Instance'ınızda Active Directory'den silinmiş Windows Login'lerinizi tespit edebilirsiniz.

SP'yi "master" veritabanı altında çalıştırabilirsiniz, eğer Active Directory'den silinmiş bir Windows Login'iniz var ise, o zaman bu SP size aşağıdaki gibi bir sonuç döndürür:

SID NT Login
0x010500000000000515000000AE78308265B37A613F005BB0A00C0000 CONTOSO\ONSOYEK

Bu Login, herhangi bir Active Directory kullanıcısıyla bağlantılı olmadığı için zaten bir işe yaramamaktadır, bu nedenle rahatlıkla silinebilir.

Bu SP hakkında daha fazla bilgi için Books Online'ı kurcalayabilirsiniz: http://msdn.microsoft.com/en-us/library/ms181728.aspx

Bu SP'yi "sp_change_users_login" sistem SP'sine de benzetebilirsiniz. Bu SP ile de veritabanı seviyesinde yetim kalmış (orphaned) SQL User'larını tespit edebilir ve Login'leriyle eşleştirebilirsiniz.

sp_change_users_login

Bir veritabanında yetim SQL kullanıcılarını tespit etmek için aşağıdaki gibi bir komut çalıştırabilirsiniz:

USE
GO
EXEC sp_change_users_login 'report'
GO

Eğer bir sonuç dönerse o zaman bu, o veritabanında yetim kalmış SQL User'larının olduğu anlamına geliyordur. Bunu düzeltmek için de aşağıdaki gibi bir komut çalıştırabilirsiniz:

USE
GO
EXEC sp_change_users_login 'Auto_Fix', ''
GO

sp_change_users_login hakkında daha fazla bilgi için: http://msdn.microsoft.com/en-us/library/ms174378.aspx

Özetle, sp_validateusers, yetim Windows Login'lerini tespit etmek için; sp_change_users_login de yetim kalmış SQL User'larını tespit etmek içinn kullanılabilir.

Hiç yorum yok: