Aracılığıyla paylaş


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.

Topic link iconTransact-SQL sözdizimi kuralları

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 noteImportant 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 ;