Created
November 1, 2019 20:55
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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