Nothing and Everything

2008.10.17

Handy SQL Server script for logins

Filed under: Daily Stuff — kevenker @ 11:51 am

I found this script on http://bradmarsh.wordpress.com/2008/07/29/sql-2005-mirroring-automatic-failover/

 

It is really handy for scripting out logins. The whole article is good though I’m not doing database-mirroring (yet) in my code! :)

 

SELECT

‘create login [' + p.name + '] ‘ +

case when p.type in(‘U’,‘G’) then ‘from windows ‘ else end +

‘with ‘ +

case when p.type = ‘S’ then ‘password = ‘ + master.sys.fn_varbintohexstr(l.password_hash) + ‘ hashed, ‘ +

’sid = ‘ + master.sys.fn_varbintohexstr(l.sid) + ‘, check_expiration = ‘ +

case when l.is_policy_checked > 0 then ‘ON, ‘ else ‘OFF, ‘ end + ‘check_policy = ‘ + case when l.is_expiration_checked > 0 then ‘ON, ‘ else ‘OFF, ‘ end +

case when l.credential_id > 0 then ‘credential = ‘ + c.name + ‘, ‘ else end

else end +

‘default_database = ‘ + p.default_database_name +

case when len(p.default_language_name) > 0 then ‘, default_language = ‘ + p.default_language_name else end

 

FROM sys.server_principals p

LEFT JOIN sys.sql_logins l

ON p.principal_id = l.principal_id

LEFT JOIN sys.credentials c

ON  l.credential_id = c.credential_id

WHERE p.type in(‘S’,‘U’,‘G’)

AND p.name <> ’sa’

No Comments Yet »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.