25 lines
879 B
Transact-SQL
25 lines
879 B
Transact-SQL
SET NOCOUNT ON
|
|
GO
|
|
DECLARE @DBName VARCHAR(255)
|
|
DECLARE @SQL VARCHAR(MAX)
|
|
DECLARE @SQLEXEC VARCHAR(MAX)
|
|
CREATE TABLE #TableVar (DatabaseName varchar(256), permission_name varchar(32), State_desc varchar(10))
|
|
DECLARE curDatabases CURSOR STATIC FOR
|
|
SELECT [name]
|
|
FROM master.sys.databases
|
|
WHERE database_id > 4
|
|
ORDER BY [name]
|
|
OPEN curDatabases
|
|
FETCH NEXT FROM curDatabases INTO @DBName
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
SET @SQL = 'insert into #TableVar SELECT DB_NAME() as DatabaseName,permission_name,state_desc FROM sys.database_permissions where grantee_principal_id = user_id(''''guest'''') AND state = ''''G'''' AND type = ''''CO'''' '
|
|
SET @SQLEXEC = 'USE ' + QUOTENAME(@DBName) + ';EXEC (''' + @SQL +''')'
|
|
EXEC(@SQLEXEC)
|
|
FETCH NEXT FROM curDatabases INTO @DBName
|
|
END
|
|
CLOSE curDatabases
|
|
DEALLOCATE curDatabases
|
|
Select * from #TableVar
|
|
Drop table #TableVar
|
|
GO |