IF OBJECT_ID('tempdb..#VLFInfo') IS NOT NULL
DROP TABLE #VLFInfo;
CREATE TABLE #VLFInfo (
FileID int,
FileSize bigint, StartOffset bigint,
FSeqNo bigint, [Status] bigint,
Parity bigint, CreateLSN numeric(38)
);
IF OBJECT_ID('tempdb..#VLFCountResults') IS NOT NULL
DROP TABLE #VLFCountResults;
CREATE TABLE #VLFCountResults(
DatabaseName sysname,
VLFCount int
);
EXEC sp_MSforeachdb N'
IF ''?'' <> ''DBA'' AND ''?'' <> ''Dbatools''
BEGIN
Use [?];
INSERT INTO #VLFInfo
EXEC sp_executesql N''DBCC LOGINFO([?])'';
INSERT INTO #VLFCountResults
SELECT DB_NAME(), COUNT(*)
FROM #VLFInfo;
TRUNCATE TABLE #VLFInfo;
END'
SELECT
DatabaseName,
VLFCount
FROM #VLFCountResults
--WHERE
VLFCount > 100 -- Show only more than 100 VLF counts
ORDER BY VLFCount DESC
--SQL2012 onward
IF OBJECT_ID('tempdb..#VLFInfo') IS NOT NULL
DROP TABLE #VLFInfo;
CREATE TABLE #VLFInfo (RecoveryUnitID int, FileID int,
FileSize bigint, StartOffset bigint,
FSeqNo bigint, [Status] bigint,
Parity bigint, CreateLSN numeric(38));
IF OBJECT_ID('tempdb..#VLFCountResults') IS NOT NULL
DROP TABLE #VLFCountResults;
CREATE TABLE #VLFCountResults(DatabaseName sysname, VLFCount int);
EXEC sp_MSforeachdb N'
IF ''?'' <> ''DBA'' AND ''?'' <> ''Dbatools''
BEGIN
Use [?];
INSERT INTO #VLFInfo
EXEC sp_executesql N''DBCC LOGINFO([?])'';
INSERT INTO #VLFCountResults
SELECT DB_NAME(), COUNT(*)
FROM #VLFInfo;
TRUNCATE TABLE #VLFInfo;
END'
SELECT
DatabaseName,
VLFCount
FROM #VLFCountResults
--WHERE
VLFCount > 100 -- Show only more than 100 VLF counts
ORDER BY VLFCount DESC
DROP TABLE #VLFInfo;
CREATE TABLE #VLFInfo (
FileID int,
FileSize bigint, StartOffset bigint,
FSeqNo bigint, [Status] bigint,
Parity bigint, CreateLSN numeric(38)
);
IF OBJECT_ID('tempdb..#VLFCountResults') IS NOT NULL
DROP TABLE #VLFCountResults;
CREATE TABLE #VLFCountResults(
DatabaseName sysname,
VLFCount int
);
EXEC sp_MSforeachdb N'
IF ''?'' <> ''DBA'' AND ''?'' <> ''Dbatools''
BEGIN
Use [?];
INSERT INTO #VLFInfo
EXEC sp_executesql N''DBCC LOGINFO([?])'';
INSERT INTO #VLFCountResults
SELECT DB_NAME(), COUNT(*)
FROM #VLFInfo;
TRUNCATE TABLE #VLFInfo;
END'
SELECT
DatabaseName,
VLFCount
FROM #VLFCountResults
ORDER BY VLFCount DESC
--SQL2012 onward
IF OBJECT_ID('tempdb..#VLFInfo') IS NOT NULL
DROP TABLE #VLFInfo;
CREATE TABLE #VLFInfo (RecoveryUnitID int, FileID int,
FileSize bigint, StartOffset bigint,
FSeqNo bigint, [Status] bigint,
Parity bigint, CreateLSN numeric(38));
IF OBJECT_ID('tempdb..#VLFCountResults') IS NOT NULL
DROP TABLE #VLFCountResults;
EXEC sp_MSforeachdb N'
IF ''?'' <> ''DBA'' AND ''?'' <> ''Dbatools''
BEGIN
Use [?];
INSERT INTO #VLFInfo
EXEC sp_executesql N''DBCC LOGINFO([?])'';
INSERT INTO #VLFCountResults
SELECT DB_NAME(), COUNT(*)
FROM #VLFInfo;
TRUNCATE TABLE #VLFInfo;
END'
SELECT
DatabaseName,
VLFCount
FROM #VLFCountResults
ORDER BY VLFCount DESC
Comments
Post a Comment