PWDCOMPARE (Transact-SQL)
Parola hashes ve varolan parolayı karma karma değeriyle karşılaştırır.Boş için aranacak PWDCOMPARE kullanılabilir. SQL Server oturum açma parolaları veya ortak Zayıf parolalar.
PWDCOMPARE ( 'clear_text_password'
, 'password_hash'
[ , version ] )
Bağımsız değişkenler
'clear_text_password'
Is the unencrypted password.clear_text_password is sysname (nvarchar(128)).'password_hash'
Is the encryption hash of a password.password_hash is varbinary(128).version
Optional parameter that can be set to 1 if password_hash represents a value from a login earlier than SQL Server 2000 that was migrated to SQL Server 2005 or SQL Server 2008 but never converted to the SQL Server 2000 system.version is int.Important Note:
Bu parametre önerilmiyor ve bir sonraki sürümünde kaldırıldı SQL Server.
Dönüş Türleri
int
1 Verir karma clear_text_password eşleşen password_hash parametre ve yoksa 0.
Remarks
Bir kopyasını hangi koşullarda geçir SQL Server 7. 0'a SQL Server 2000 veya sonraki bir sürüm parola karma değişmez ve kullanmanız gereken version parolayı sınanacak parametresi'ı tıklatın. Oturumu ilk kez kullanıldığında Taşınmanın ardından, parola karma ilk olarak kullanılan biçime güncelleştirildi SQL Server 2000. Bundan sonra açık PWDCOMPARE değil gerektirmez version Bu oturum açma ile ilgili parametre.
Aynı sınama, ilk parametre olarak girilen parola kullanarak oturum açmaya tarafından gerçekleştirilebilir PWDCOMPARE işlev bir tehdide karşı parola karma değerlerini gücünü değildir.
İzinler
PWDENCRYPT ortak için kullanılabilir.
DENETIM SERVER izin sys.sql_logins password_hash sütun incelemek için gereklidir.
Örnekler
C.SQL Server 2005 veya SQL Server 2008 üzerinde hiçbir parolalara sahip tüm oturumların tanımlama
Aşağıdaki örnek tanımlar. SQL Server hiçbir parolalara sahip oturum açma. Ilk WHERE yan tümce parola karma değeri tarafından kullanılan biçiminde depolanan değerleri denetler. SQL Server 2000 ve sonraki sürümleri. Ikinci WHERE yan tümce içeren version parametre hala sürümleri tarafından kullanılan biçiminde depolanan değerleri için parola karma denetlemek için SQL Server tarihi SQL Server 2000.
SELECT name FROM sys.sql_logins
WHERE PWDCOMPARE('', password_hash) = 1
OR PWDCOMPARE('', password_hash, 1) = 1 ;
b.SQL Server 2000'de hiçbir parolaları olan oturumların tanımlama
Sys.sql_logins tablo mevcut değil SQL Server 2000. Yapabilecekleriniz yürütmek aşağıdaki ifadeyi karşı örneği SQL Server 2000 tanımlamak için SQL Server hiçbir parolalara sahip oturum açma.
SELECT name FROM syslogins
WHERE PWDCOMPARE ('', password) = 1
OR PWDCOMPARE('', password, 1) = 1 ;
c.Ortak parolaları aranıyor
Belirlemek ve değiştirmek istediğiniz ortak parolaları aramak için , ilk parametre olarak parolayı belirtin.Örneğin, belirtilen parola aramak için aşağıdaki deyim yürütmek password.
SELECT name FROM sys.sql_logins
WHERE PWDCOMPARE('password', password_hash) = 1
OR PWDCOMPARE('password', password_hash, 1) = 1 ;