I have a requirement to delete all the orphans users for the databases. The issue I am having is with when database principal owns a schema in the DB, User cannt be dropped.How do I transfer it to DBO in case I am looping multiple databases. This is what I got so far .declare @is_read_only nvarchar (200)Select @is_read_only = is_read_only from master.sys.databases where name='test' /* This should be a parameter value */IF @IS_READ_ONLY= 0BEGIN Declare @SQL as varchar (200)Declare @DatabaseName varchar (200)Declare @LoginID varchar (100)Set @DatabaseName= 'test' /* This should be a parameter value */Set @LoginID= 'test' /* This should be a parameter value */Set @SQL = 'Use ' + @DatabaseName + ' Drop User [' + @LoginID + ']' Print(@sql)--Exec (@sql)EndELSE IF @IS_READ_ONLY=1BEGIN Set @DatabaseName= 'test' /* This should be a parameter value */Set @LoginID= 'test' /* This should be a parameter value */Set @SQL = 'Use Master Alter Database ' + @DatabaseName + ' SET READ_WRITE WITH NO_WAIT' + ' ' + ' Use [' + @DatabaseName + '] Drop User [' + @LoginID + ']' + ' Use Master Alter Database ' + @DatabaseName + ' SET READ_ONLY WITH NO_WAIT' Print(@sql) --Exec (@sql)END
↧