瀏覽代碼

temp table for tmpdbs1

Rob.Sewell 6 年之前
父節點
當前提交
b271854faa
共有 1 個文件被更改,包括 74 次插入72 次删除
  1. 74 72
      BPCheck/Check_BP_Servers.sql

+ 74 - 72
BPCheck/Check_BP_Servers.sql

@@ -121,17 +121,6 @@ Reference: SERVERPROPERTY for sql major, minor and build versions supported afte
 @sqlmajorver >= 13 OR (@sqlmajorver = 12 AND @sqlbuild >= 2556 AND @sqlbuild < 4100) OR (@sqlmajorver = 12 AND @sqlbuild >= 4427)
 */
 
-	SELECT @sqlmajorver = CONVERT(int, (@@microsoftversion / 0x1000000) & 0xff);
-
-	IF (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 0)
-BEGIN
-		RAISERROR('[WARNING: Only a sysadmin can run ALL the checks]', 16, 1, N'sysadmin')
-	--RETURN
-	END;
-
-	IF (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 0)
-BEGIN
-		DECLARE @pid int, @pname sysname, @msdbpid int, @masterpid int
 
 		IF EXISTS (SELECT [object_id]
 		FROM tempdb.sys.objects (NOLOCK)
@@ -151,6 +140,18 @@ BEGIN
 		CREATE TABLE tempdb.dbo.permstbl_msdb ([id] tinyint IDENTITY(1,1),
 			[perm] tinyint)
 
+	SELECT @sqlmajorver = CONVERT(int, (@@microsoftversion / 0x1000000) & 0xff);
+
+	IF (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 0)
+BEGIN
+		RAISERROR('[WARNING: Only a sysadmin can run ALL the checks]', 16, 1, N'sysadmin')
+	--RETURN
+	END;
+
+	IF (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 0)
+BEGIN
+		DECLARE @pid int, @pname sysname, @msdbpid int, @masterpid int
+
 		SET @params = '@msdbpid_in int'
 
 		SELECT @pid = principal_id, @pname=name
@@ -457,19 +458,7 @@ BEGIN
 	DROP TABLE tempdb.dbo.dbvars
 END
 
-IF (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 0)
-BEGIN
-	PRINT 'WARNING: Only a sysadmin can run ALL the checks'
-END
-ELSE
-BEGIN
-    PRINT 'No issues found while checking pre-requisites to run checks: user is sysadmin'
-END;
-
-IF (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 0)
-BEGIN
-	DECLARE @pid int, @pname sysname, @msdbpid int
-	IF EXISTS (SELECT [object_id]
+IF EXISTS (SELECT [object_id]
 		FROM tempdb.sys.objects (NOLOCK)
 		WHERE [object_id] = OBJECT_ID('tempdb.dbo.permstbl'))
 		BEGIN
@@ -485,6 +474,19 @@ BEGIN
 	END
 
 	CREATE TABLE tempdb.dbo.permstbl_msdb ([id] tinyint IDENTITY(1,1),[perm] tinyint)
+
+IF (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 0)
+BEGIN
+	PRINT 'WARNING: Only a sysadmin can run ALL the checks'
+END
+ELSE
+BEGIN
+    PRINT 'No issues found while checking pre-requisites to run checks: user is sysadmin'
+END;
+
+IF (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 0)
+BEGIN
+	DECLARE @pid int, @pname sysname, @msdbpid int
 	
 	SET @params = '@msdbpid_in int'
 
@@ -1299,7 +1301,7 @@ BEGIN
 	IF EXISTS (SELECT [object_id]
 	FROM tempdb.sys.objects (NOLOCK)
 	WHERE [object_id] = OBJECT_ID('tempdb.dbo.tmpdbs0'))
-DROP TABLE tmpdbs0;
+DROP TABLE tempdb.dbo.tmpdbs0;
 	IF NOT EXISTS (SELECT [object_id]
 	FROM tempdb.sys.objects (NOLOCK)
 	WHERE [object_id] = OBJECT_ID('tempdb.dbo.tmpdbs0'))
@@ -2042,12 +2044,12 @@ ORDER BY database_name, backup_start_date DESC'
 
 	IF EXISTS (SELECT [object_id]
 	FROM tempdb.sys.objects (NOLOCK)
-	WHERE [object_id] = OBJECT_ID('tempdb.dbo.#tmpdbs1'))
-DROP TABLE #tmpdbs1;
+	WHERE [object_id] = OBJECT_ID('tempdb.dbo.tmpdbs1'))
+DROP TABLE tempdb.dbo.tmpdbs1;
 	IF NOT EXISTS (SELECT [object_id]
 	FROM tempdb.sys.objects (NOLOCK)
-	WHERE [object_id] = OBJECT_ID('tempdb.dbo.#tmpdbs1'))
-CREATE TABLE #tmpdbs1
+	WHERE [object_id] = OBJECT_ID('tempdb.dbo.tmpdbs1'))
+CREATE TABLE tempdb.dbo.tmpdbs1
 	(
 		id int IDENTITY(1,1),
 		[dbid] int,
@@ -2059,7 +2061,7 @@ CREATE TABLE #tmpdbs1
 
 	RAISERROR (N'|-Excluding MS shipped by standard names and databases belonging to non-readable AG secondary replicas (if available)', 10, 1) WITH NOWAIT
 	-- Ignore MS shipped databases and databases belonging to non-readable AG secondary replicas
-	INSERT INTO #tmpdbs1
+	INSERT INTO tempdb.dbo.tmpdbs1
 		([dbid], [dbname], [role], [secondary_role_allow_connections], [isdone])
 	SELECT [dbid], [dbname], [role], [secondary_role_allow_connections], 0
 	FROM tempdb.dbo.tmpdbs0 (NOLOCK)
@@ -2117,19 +2119,19 @@ CREATE TABLE #tmpdbs1
 	FROM msdb.sys.objects (NOLOCK)
 	WHERE name='MSdistributiondbs' AND is_ms_shipped = 1) 
 BEGIN
-		DELETE FROM #tmpdbs1 WHERE [dbid] IN (SELECT DB_ID(name)
+		DELETE FROM tempdb.dbo.tmpdbs1 WHERE [dbid] IN (SELECT DB_ID(name)
 		FROM msdb.dbo.MSdistributiondbs)
 	END;
 
 	RAISERROR (N'|-Excluding MS shipped by notable object names', 10, 1) WITH NOWAIT
 	-- Removing other noticeable MS shipped DBs
 	WHILE (SELECT COUNT(id)
-	FROM #tmpdbs1
+	FROM tempdb.dbo.tmpdbs1
 	WHERE isdone = 0) > 0
 BEGIN
 		SELECT TOP 1
 			@dbname = [dbname], @dbid = [dbid]
-		FROM #tmpdbs1
+		FROM tempdb.dbo.tmpdbs1
 		WHERE isdone = 0
 		SET @sqlcmd = N'USE ' + QUOTENAME(@dbname) + N';
 IF (OBJECT_ID(''dbo.AR_Class'',''U'') IS NOT NULL AND OBJECT_ID(''dbo.AR_Entity'',''U'') IS NOT NULL AND OBJECT_ID(''dbo.AR_System'',''U'') IS NOT NULL AND OBJECT_ID(''dbo.proc_ar_CreateEntity'',''P'') IS NOT NULL AND OBJECT_ID(''dbo.proc_ar_CreateMethod'',''P'') IS NOT NULL)
@@ -2232,18 +2234,18 @@ END'
 
 		IF @MSdb = @dbid
 	BEGIN
-			DELETE FROM #tmpdbs1 
+			DELETE FROM tempdb.dbo.tmpdbs1 
 		WHERE [dbid] = @dbid;
 		END
 	ELSE
 	BEGIN
-			UPDATE #tmpdbs1
+			UPDATE tempdb.dbo.tmpdbs1
 		SET isdone = 1
 		WHERE [dbid] = @dbid
 		END
 	END;
 
-	UPDATE #tmpdbs1
+	UPDATE tempdb.dbo.tmpdbs1
 SET isdone = 0;
 
 	RAISERROR (N'|-Applying 2nd layer of specific database scope, if any', 10, 1) WITH NOWAIT
@@ -2273,7 +2275,7 @@ WHERE is_read_only = 0 AND [state] = 0 AND [dbid] > 4 AND is_distributor = 0
 			([dbid], [dbname])
 		EXEC sp_executesql @sqlcmd;
 
-		SELECT @sqlcmd = 'DELETE FROM #tmpdbs1 WHERE [dbid] NOT IN (' + REPLACE(@dbScope,' ','') + ')'
+		SELECT @sqlcmd = 'DELETE FROM tempdb.dbo.tmpdbs1 WHERE [dbid] NOT IN (' + REPLACE(@dbScope,' ','') + ')'
 		EXEC sp_executesql @sqlcmd;
 	END 
 ELSE 
@@ -11554,16 +11556,16 @@ BEGIN
 				CONSTRAINT PK_DRI PRIMARY KEY CLUSTERED(databaseID, [schema_id], [object_id], [constraint_name])
 		)
 
-		UPDATE #tmpdbs1
+		UPDATE tempdb.dbo.tmpdbs1
 	SET isdone = 0
 
 		WHILE (SELECT COUNT(id)
-		FROM #tmpdbs1
+		FROM tempdb.dbo.tmpdbs1
 		WHERE isdone = 0) > 0
 	BEGIN
 			SELECT TOP 1
 				@dbname = [dbname], @dbid = [dbid]
-			FROM #tmpdbs1
+			FROM tempdb.dbo.tmpdbs1
 			WHERE isdone = 0
 			SET @sqlcmd = 'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
 USE ' + QUOTENAME(@dbname) + '
@@ -11593,7 +11595,7 @@ ORDER BY mst.name, [constraint_name];'
 			RAISERROR (@ErrorMessage, 16, 1);
 		END CATCH
 
-			UPDATE #tmpdbs1
+			UPDATE tempdb.dbo.tmpdbs1
 		SET isdone = 1
 		WHERE [dbid] = @dbid
 		END;
@@ -12581,16 +12583,16 @@ BEGIN
 			type_desc NVARCHAR(60)
 		);
 
-		UPDATE #tmpdbs1
+		UPDATE tempdb.dbo.tmpdbs1
 	SET isdone = 0;
 
 		WHILE (SELECT COUNT(id)
-		FROM #tmpdbs1
+		FROM tempdb.dbo.tmpdbs1
 		WHERE isdone = 0) > 0
 	BEGIN
 			SELECT TOP 1
 				@dbname = [dbname], @dbid = [dbid]
-			FROM #tmpdbs1
+			FROM tempdb.dbo.tmpdbs1
 			WHERE isdone = 0
 			SET @sqlcmd = 'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
 USE ' + QUOTENAME(@dbname) + ';
@@ -12657,7 +12659,7 @@ OPTION (MAXDOP 2);'
 			RAISERROR (@ErrorMessage, 16, 1);
 		END CATCH
 
-			UPDATE #tmpdbs1
+			UPDATE tempdb.dbo.tmpdbs1
 		SET isdone = 1
 		WHERE [dbid] = @dbid;
 		END
@@ -12916,16 +12918,16 @@ BEGIN
 			CONSTRAINT PK_Ixs2 PRIMARY KEY CLUSTERED(databaseID, [objectID], [indexID])
 		)
 
-		UPDATE #tmpdbs1
+		UPDATE tempdb.dbo.tmpdbs1
 	SET isdone = 0;
 
 		WHILE (SELECT COUNT(id)
-		FROM #tmpdbs1
+		FROM tempdb.dbo.tmpdbs1
 		WHERE isdone = 0) > 0
 	BEGIN
 			SELECT TOP 1
 				@dbname = [dbname], @dbid = [dbid]
-			FROM #tmpdbs1
+			FROM tempdb.dbo.tmpdbs1
 			WHERE isdone = 0
 			SET @sqlcmd = 'USE ' + QUOTENAME(@dbname) + ';
 SELECT ' + CONVERT(VARCHAR(8), @dbid) + ' AS Database_ID, ''' + REPLACE(@dbname, CHAR(39), CHAR(95)) + ''' AS Database_Name,
@@ -12967,21 +12969,21 @@ OPTION (MAXDOP 2);'
 			RAISERROR (@ErrorMessage, 16, 1);
 		END CATCH
 
-			UPDATE #tmpdbs1
+			UPDATE tempdb.dbo.tmpdbs1
 		SET isdone = 1
 		WHERE [dbid] = @dbid
 		END
 
-		UPDATE #tmpdbs1
+		UPDATE tempdb.dbo.tmpdbs1
 	SET isdone = 0;
 
 		WHILE (SELECT COUNT(id)
-		FROM #tmpdbs1
+		FROM tempdb.dbo.tmpdbs1
 		WHERE isdone = 0) > 0
 	BEGIN
 			SELECT TOP 1
 				@dbname = [dbname], @dbid = [dbid]
-			FROM #tmpdbs1
+			FROM tempdb.dbo.tmpdbs1
 			WHERE isdone = 0
 			SET @sqlcmd = 'USE ' + QUOTENAME(@dbname) + ';
 SELECT ' + CONVERT(VARCHAR(8), @dbid) + ' AS Database_ID, ''' + REPLACE(@dbname, CHAR(39), CHAR(95)) + ''' AS Database_Name, 
@@ -13016,7 +13018,7 @@ WHERE OBJECTPROPERTY(so.object_id,''IsUserTable'') = 1
 			RAISERROR (@ErrorMessage, 16, 1);
 		END CATCH
 
-			UPDATE #tmpdbs1
+			UPDATE tempdb.dbo.tmpdbs1
 		SET isdone = 1
 		WHERE [dbid] = @dbid
 		END;
@@ -13271,16 +13273,16 @@ BEGIN
 			CONSTRAINT PK_Ixs3 PRIMARY KEY CLUSTERED(databaseID, [objectID], [indexID])
 		);
 
-		UPDATE #tmpdbs1
+		UPDATE tempdb.dbo.tmpdbs1
 	SET isdone = 0;
 
 		WHILE (SELECT COUNT(id)
-		FROM #tmpdbs1
+		FROM tempdb.dbo.tmpdbs1
 		WHERE isdone = 0) > 0
 	BEGIN
 			SELECT TOP 1
 				@dbname = [dbname], @dbid = [dbid]
-			FROM #tmpdbs1
+			FROM tempdb.dbo.tmpdbs1
 			WHERE isdone = 0
 			SET @sqlcmd = 'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
 USE ' + QUOTENAME(@dbname) + ';
@@ -13328,7 +13330,7 @@ OPTION (MAXDOP 2);'
 			RAISERROR (@ErrorMessage, 16, 1);
 		END CATCH
 
-			UPDATE #tmpdbs1
+			UPDATE tempdb.dbo.tmpdbs1
 		SET isdone = 1
 		WHERE [dbid] = @dbid
 		END;
@@ -13376,16 +13378,16 @@ BEGIN
 			CONSTRAINT PK_FK PRIMARY KEY CLUSTERED(databaseID, [constraint_name], [parent_schema_name])
 		)
 
-		UPDATE #tmpdbs1
+		UPDATE tempdb.dbo.tmpdbs1
 	SET isdone = 0
 
 		WHILE (SELECT COUNT(id)
-		FROM #tmpdbs1
+		FROM tempdb.dbo.tmpdbs1
 		WHERE isdone = 0) > 0
 	BEGIN
 			SELECT TOP 1
 				@dbname = [dbname], @dbid = [dbid]
-			FROM #tmpdbs1
+			FROM tempdb.dbo.tmpdbs1
 			WHERE isdone = 0
 			SET @sqlcmd = 'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
 USE ' + QUOTENAME(@dbname) + '
@@ -13452,7 +13454,7 @@ WHERE NOT EXISTS (SELECT 1 FROM cteIndexCols ict
 			RAISERROR (@ErrorMessage, 16, 1);
 		END CATCH
 
-			UPDATE #tmpdbs1
+			UPDATE tempdb.dbo.tmpdbs1
 		SET isdone = 1
 		WHERE [dbid] = @dbid
 		END;
@@ -13554,16 +13556,16 @@ BEGIN
 			[indexLocation] NVARCHAR(200)
 		)
 
-		UPDATE #tmpdbs1
+		UPDATE tempdb.dbo.tmpdbs1
 	SET isdone = 0
 
 		WHILE (SELECT COUNT(id)
-		FROM #tmpdbs1
+		FROM tempdb.dbo.tmpdbs1
 		WHERE isdone = 0) > 0
 	BEGIN
 			SELECT TOP 1
 				@dbname = [dbname], @dbid = [dbid]
-			FROM #tmpdbs1
+			FROM tempdb.dbo.tmpdbs1
 			WHERE isdone = 0
 			SET @sqlcmd = 'USE ' + QUOTENAME(@dbname) + ';
 SELECT 1 AS [Check], ' + CONVERT(VARCHAR(8), @dbid) + ', ''' + REPLACE(@dbname, CHAR(39), CHAR(95)) + ''',	
@@ -13641,7 +13643,7 @@ WHERE t.[type] = ''U''
 			RAISERROR (@ErrorMessage, 16, 1);
 		END CATCH
 
-			UPDATE #tmpdbs1
+			UPDATE tempdb.dbo.tmpdbs1
 		SET isdone = 1
 		WHERE [dbid] = @dbid
 		END;
@@ -14051,16 +14053,16 @@ CREATE TABLE #tmpfinalobjectnames
 		[Comment] NVARCHAR(500) NULL
 	);
 
-	UPDATE #tmpdbs1
+	UPDATE tempdb.dbo.tmpdbs1
 SET isdone = 0
 
 	WHILE (SELECT COUNT(id)
-	FROM #tmpdbs1
+	FROM tempdb.dbo.tmpdbs1
 	WHERE isdone = 0) > 0
 BEGIN
 		SELECT TOP 1
 			@dbname = [dbname], @dbid = [dbid]
-		FROM #tmpdbs1
+		FROM tempdb.dbo.tmpdbs1
 		WHERE isdone = 0
 		SET @sqlcmd = 'USE ' + QUOTENAME(@dbname) + ';
 SELECT ''' + REPLACE(@dbname, CHAR(39), CHAR(95)) + ''' AS [DBName], s.name, so.name, NULL, type, type_desc
@@ -14083,12 +14085,12 @@ WHERE so.is_ms_shipped = 0'
 		RAISERROR (@ErrorMessage, 16, 1);
 	END CATCH
 
-		UPDATE #tmpdbs1
+		UPDATE tempdb.dbo.tmpdbs1
 	SET isdone = 1
 	WHERE [dbid] = @dbid
 	END;
 
-	UPDATE #tmpdbs1
+	UPDATE tempdb.dbo.tmpdbs1
 SET isdone = 0
 
 	CREATE INDEX IX1 ON #tmpobjectnames([type],[Object]);
@@ -15527,8 +15529,8 @@ DROP TABLE #output_dbinfo;
 DROP TABLE #tblIOStall;
 	IF EXISTS (SELECT [object_id]
 	FROM tempdb.sys.objects (NOLOCK)
-	WHERE [object_id] = OBJECT_ID('tempdb.dbo.#tmpdbs1')) 
-DROP TABLE #tmpdbs1;
+	WHERE [object_id] = OBJECT_ID('tempdb.dbo.tmpdbs1')) 
+DROP TABLE tempdb.dbo.tmpdbs1;
 	IF EXISTS (SELECT [object_id]
 	FROM tempdb.sys.objects (NOLOCK)
 	WHERE [object_id] = OBJECT_ID('tempdb.dbo.tmpdbs0'))