Skip to content

Instantly share code, notes, and snippets.

@rvegajr
Created November 1, 2019 20:55
Show Gist options
  • Save rvegajr/44b196b0f3f12bf0299395c05809466c to your computer and use it in GitHub Desktop.
Save rvegajr/44b196b0f3f12bf0299395c05809466c to your computer and use it in GitHub Desktop.
Script to loop through all the databases and generate SQL to fix them
CREATE TABLE ##ORPHANUSER
(
DBNAME VARCHAR(100),
USERNAME VARCHAR(100),
CREATEDATE VARCHAR(100),
USERTYPE VARCHAR(100)
)
EXEC SP_MSFOREACHDB' USE [?]
INSERT INTO ##ORPHANUSER
SELECT DB_NAME() DBNAME, NAME,CREATEDATE,
(CASE
WHEN ISNTGROUP = 0 AND ISNTUSER = 0 THEN ''SQL LOGIN''
WHEN ISNTGROUP = 1 THEN ''NT GROUP''
WHEN ISNTGROUP = 0 AND ISNTUSER = 1 THEN ''NT LOGIN''
END) [LOGIN TYPE] FROM sys.sysusers
WHERE SID IS NOT NULL AND SID <> 0X0 AND ISLOGIN =1 AND
SID NOT IN (SELECT SID FROM sys.syslogins)'
SELECT
*,
'USE ' + DBNAME + '; EXEC sp_change_users_login ''Auto_Fix'', ''' + USERNAME + ''';' AS sqlToExec
FROM
##ORPHANUSER
--WHERE USERNAME = '<USERNAME>'
;
DROP TABLE ##ORPHANUSER
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment