|
|
|
Ten Centuries
      
Group: General Forum Members
Last Login: Thursday, April 25, 2013 3:04 PM
Points: 1,108,
Visits: 195
|
|
|
|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Tuesday, March 19, 2013 7:05 PM
Points: 110,
Visits: 439
|
|
| I can't see the script. is this only me?
|
|
|
|
|
Ten Centuries
      
Group: General Forum Members
Last Login: Thursday, April 25, 2013 3:04 PM
Points: 1,108,
Visits: 195
|
|
hi, the script seems to have disappeared. I've re-added it, but it will be a few days until it's approved, So check back then.
Thanks
Paul
|
|
|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Tuesday, March 19, 2013 7:05 PM
Points: 110,
Visits: 439
|
|
|
|
|
|
Forum Newbie
      
Group: General Forum Members
Last Login: Monday, February 18, 2008 9:01 PM
Points: 2,
Visits: 13
|
|
Hi
The script
-- check whether database owners are valid select name into #check_database_owners from master.dbo.sysdatabases where isnull(suser_sname(sid),'no_owner') = 'no_owner'
doesn't look like a valid.
This one works better:
IF SUBSTRING(@@version,23,4)='2000' select SD.name as DBname, suser_sname(SD.sid) as DBowner, SL.name as USERname, 'Notfor2000' as LOGINname, DD.name as DEFAULTdatabase from master.dbo.sysdatabases SD left join master.dbo.sysxlogins SL on SD.sid = SL.sid left join master.dbo.sysdatabases DD on SL.dbid = DD.dbid WHERE SL.name is null ELSE select SD.name as DBname, suser_sname(SD.owner_sid) as DBowner, SL.name as USERname, SL.loginname as LOGINname, SL.dbname DEFAULTdatabase from master.sys.databases SD left join master.sys.syslogins SL on SD.owner_sid = SL.sid WHERE SL.name is null
|
|
|
|
|
Forum Newbie
      
Group: General Forum Members
Last Login: Monday, February 18, 2008 9:01 PM
Points: 2,
Visits: 13
|
|
Orphan users should be considered as well
CREATE TABLE #Results ([Database Name] sysname COLLATE Latin1_General_CI_AS, [Orphaned User] sysname COLLATE Latin1_General_CI_AS)
SET NOCOUNT ON
DECLARE @DBName sysname, @Qry nvarchar(4000)
SET @Qry = '' SET @DBName = ''
WHILE @DBName IS NOT NULL BEGIN SET @DBName = (SELECT MIN(name) FROM master..sysdatabases WHERE name NOT IN ('master', 'model', 'tempdb', 'msdb', 'distribution', 'pubs', 'northwind') AND DATABASEPROPERTY(name, 'IsOffline') = 0 AND DATABASEPROPERTY(name, 'IsSuspect') = 0 AND name > @DBName) IF @DBName IS NULL BREAK IF SUBSTRING(@@version,23,4)='2000' SET @Qry = ' SELECT ''' + @DBName + ''' AS [Database Name], CAST(name AS sysname) COLLATE Latin1_General_CI_AS AS [Orphaned User] FROM ' + QUOTENAME(@DBName) + '..sysusers su WHERE su.islogin = 1 AND su.name <> ''guest'' AND NOT EXISTS ( SELECT 1 FROM master..sysxlogins sl WHERE su.sid = sl.sid )' ELSE SET @Qry = ' SELECT ''' + @DBName + ''' AS [Database Name], CAST(name AS sysname) COLLATE Latin1_General_CI_AS AS [Orphaned User] FROM ' + QUOTENAME(@DBName) + '..sysusers su WHERE su.islogin = 1 AND (su.name <> ''guest'' AND su.name <> ''INFORMATION_SCHEMA'' AND su.name <> ''dbo'' AND su.name <> ''sys'') AND NOT EXISTS ( SELECT 1 FROM master..syslogins sl WHERE su.sid = sl.sid )'
print @Qry INSERT INTO #Results EXEC (@Qry) END
SELECT * FROM #Results ORDER BY [Database Name], [Orphaned User]
DROP TABLE #Results
|
|
|
|
|
Old Hand
      
Group: General Forum Members
Last Login: 2 days ago @ 5:32 PM
Points: 306,
Visits: 1,013
|
|
Hmm, I seem to be getting errors when executing the code.
Msg 207, Level 16, State 1, Line 2 Invalid column name 'object_id'. Msg 102, Level 15, State 1, Procedure sp_common_server_problems, Line 31 Incorrect syntax near ' '. Msg 102, Level 15, State 1, Procedure sp_common_server_problems, Line 130 Incorrect syntax near ' '. Msg 102, Level 15, State 1, Procedure sp_common_server_problems, Line 132 Incorrect syntax near ' '. Msg 102, Level 15, State 1, Procedure sp_common_server_problems, Line 142 Incorrect syntax near ' '. Msg 102, Level 15, State 1, Procedure sp_common_server_problems, Line 144 Incorrect syntax near ' '. Msg 102, Level 15, State 1, Procedure sp_common_server_problems, Line 156 Incorrect syntax near ' '. Msg 156, Level 15, State 1, Procedure sp_common_server_problems, Line 161 Incorrect syntax near the keyword 'select'. Msg 2812, Level 16, State 62, Line 1 Could not find stored procedure 'sp_common_server_problems'.
Anyone have the same problem or know of how to fix this?
|
|
|
|
|
Old Hand
      
Group: General Forum Members
Last Login: 2 days ago @ 5:32 PM
Points: 306,
Visits: 1,013
|
|
I'm having the same errors. Does anyone have the updated script? With Orphan reporting too?
|
|
|
|
|
Ten Centuries
      
Group: General Forum Members
Last Login: Thursday, April 25, 2013 3:04 PM
Points: 1,108,
Visits: 195
|
|
hi, I'll post an updated version of this script at the weekend.
Paul
|
|
|
|
|
SSC Rookie
      
Group: General Forum Members
Last Login: Tuesday, May 14, 2013 7:09 AM
Points: 36,
Visits: 199
|
|
This procedure doesn't work. It has a syntax error..
if one wants it.. one will justify it.
|
|
|
|