HiveBrain v1.2.0
Get Started
← Back to all entries
patternModerate

What does "*password------------" mean in a profile deadlock report?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
whatdeadlockmeanprofilepasswordreportdoes

Problem

In SQL Server 2008 R2, I got several deadlock reports that have "*password------------" in the input buffer. It looks like an attack but in that case I don't know the reason or the kind of attack.

(the log was generated by an expert DBA how has lot of experience and told me that, not me)

Does anyone know what it is? Thanks!

Example:


  
    
      
      
      
    
    

*password---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------   
  

Solution

It just means that the text of the statement contained the string "password" and SQL Server "helpfully" has masked it as a security feature to prevent you seeing some one else's password.

I was able to reproduce this as follows

CREATE TABLE T(X varchar(1000))


Connection 1

BEGIN TRAN

INSERT INTO T VALUES('password1') 

WAITFOR DELAY '00:01:00'

SELECT * FROM T WHERE X = 'password2'

ROLLBACK


Connection 2

BEGIN TRAN

INSERT INTO T VALUES('password2') 

WAITFOR DELAY '00:01:00'

SELECT * FROM T WHERE X = 'password1'

ROLLBACK


Then retrieving the graph from the extended events trace

Code Snippets

CREATE TABLE T(X varchar(1000))
BEGIN TRAN

INSERT INTO T VALUES('password1') 

WAITFOR DELAY '00:01:00'

SELECT * FROM T WHERE X = 'password2'

ROLLBACK
BEGIN TRAN

INSERT INTO T VALUES('password2') 

WAITFOR DELAY '00:01:00'

SELECT * FROM T WHERE X = 'password1'

ROLLBACK

Context

StackExchange Database Administrators Q#25105, answer score: 11

Revisions (0)

No revisions yet.