SQL Server 監視資料檔案大小變化

oo0yuki0oo發表於2010-03-18

SQL Server 監視資料檔案大小變化

資料庫檔案大小日誌表:

SQL Server 監視資料檔案大小變化SQL Server 監視資料檔案大小變化Code

Code highlighting produced by Actipro CodeHighlighter (freeware)


--&gt 1SQL Server 監視資料檔案大小變化USE [MyManagement] 2SQL Server 監視資料檔案大小變化GO 3SQL Server 監視資料檔案大小變化SET ANSI_NULLS ON 4SQL Server 監視資料檔案大小變化GO 5SQL Server 監視資料檔案大小變化SET QUOTED_IDENTIFIER ON 6SQL Server 監視資料檔案大小變化GO 7SQL Server 監視資料檔案大小變化SET ANSI_PADDING ON 8SQL Server 監視資料檔案大小變化GO 9SQL Server 監視資料檔案大小變化CREATE TABLE [dbo].[DatabaseFileLog](10SQL Server 監視資料檔案大小變化 [id] [int] IDENTITY(1,1) NOT NULL,11SQL Server 監視資料檔案大小變化 [LogTime] [datetime] NOT NULL CONSTRAINT [DF_DatabaseFileLog_LogTime] DEFAULT (getdate()),12SQL Server 監視資料檔案大小變化 [DatabaseName] [varchar](50) NOT NULL,13SQL Server 監視資料檔案大小變化 [FileLogicalName] [varchar](50) NOT NULL,14SQL Server 監視資料檔案大小變化 [FilePath] [varchar](4000) NOT NULL,15SQL Server 監視資料檔案大小變化 [SizeMB] [decimal](18, 4) NOT NULL,16SQL Server 監視資料檔案大小變化 [FileGroupID] [int] NOT NULL,17SQL Server 監視資料檔案大小變化 CONSTRAINT [PK_DatabaseFileLog] PRIMARY KEY CLUSTERED 18SQL Server 監視資料檔案大小變化(19SQL Server 監視資料檔案大小變化 [id] ASC20SQL Server 監視資料檔案大小變化)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]21SQL Server 監視資料檔案大小變化) ON [PRIMARY]22SQL Server 監視資料檔案大小變化23SQL Server 監視資料檔案大小變化GO24SQL Server 監視資料檔案大小變化SET ANSI_PADDING OFF

建立一個儲存過程,以便定時呼叫:

SQL Server 監視資料檔案大小變化SQL Server 監視資料檔案大小變化Code

Code highlighting produced by Actipro CodeHighlighter (freeware)


--&gt 1SQL Server 監視資料檔案大小變化declare @dbName varchar(50) 2SQL Server 監視資料檔案大小變化declare @command varchar(1024) 3SQL Server 監視資料檔案大小變化declare dbName_cursor CURSOR FOR 4SQL Server 監視資料檔案大小變化 select [name] 5SQL Server 監視資料檔案大小變化 from master.dbo.sysdatabases 6SQL Server 監視資料檔案大小變化 where [name] not in ('master','tempdb','msdb','model') 7SQL Server 監視資料檔案大小變化open dbName_cursor 8SQL Server 監視資料檔案大小變化FETCH NEXT FROM dbName_cursor INTO @dbName 9SQL Server 監視資料檔案大小變化WHILE @@FETCH_STATUS = 0 10SQL Server 監視資料檔案大小變化begin11SQL Server 監視資料檔案大小變化 set @command = '12SQL Server 監視資料檔案大小變化 insert into MyManagement.dbo.DatabaseFileLog13SQL Server 監視資料檔案大小變化 select 14SQL Server 監視資料檔案大小變化 getdate(),15SQL Server 監視資料檔案大小變化 '''+16SQL Server 監視資料檔案大小變化 @dbName17SQL Server 監視資料檔案大小變化 +''',18SQL Server 監視資料檔案大小變化 name,19SQL Server 監視資料檔案大小變化 filename, 20SQL Server 監視資料檔案大小變化 convert(float,size) * (8192.0/1024.0)/1024.0 as ''MB'',21SQL Server 監視資料檔案大小變化 groupid22SQL Server 監視資料檔案大小變化 from '+@dbName +'.dbo.sysfiles ';23SQL Server 監視資料檔案大小變化 exec ( @command );24SQL Server 監視資料檔案大小變化 FETCH NEXT FROM dbName_cursor INTO @dbName ;25SQL Server 監視資料檔案大小變化end26SQL Server 監視資料檔案大小變化CLOSE dbName_cursor;27SQL Server 監視資料檔案大小變化DEALLOCATE dbName_cursor;


下一步計劃是做一個好一點的表現層,以便直觀地檢視。

如果嫌上面麻煩可以這麼用下面的語句:

SQL Server 監視資料檔案大小變化SQL Server 監視資料檔案大小變化Code

Code highlighting produced by Actipro CodeHighlighter (freeware)


--&gt 1SQL Server 監視資料檔案大小變化select 2SQL Server 監視資料檔案大小變化 'select 3SQL Server 監視資料檔案大小變化 getdate(), 4SQL Server 監視資料檔案大小變化 '''+ 5SQL Server 監視資料檔案大小變化 [name] 6SQL Server 監視資料檔案大小變化 +''', 7SQL Server 監視資料檔案大小變化 name, 8SQL Server 監視資料檔案大小變化 filename, 9SQL Server 監視資料檔案大小變化 convert(float,size) * (8192.0/1024.0)/1024.0 as ''MB'',10SQL Server 監視資料檔案大小變化 convert(float,size) * (8192.0/1024.0)/1024.0/1024.0 as ''GB'',11SQL Server 監視資料檔案大小變化 groupid12SQL Server 監視資料檔案大小變化 from '+[name] +'.dbo.sysfiles union all '13SQL Server 監視資料檔案大小變化from master.dbo.sysdatabases 14SQL Server 監視資料檔案大小變化where [name] not in ('master','tempdb','msdb','model')15SQL Server 監視資料檔案大小變化union all 16SQL Server 監視資料檔案大小變化select 'select null,null,null,null,null,null,null where 1=2'

執行以上的語句,將會再生成一大堆的語句,然後全部複製到新視窗中,再一次過執行。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8337095/viewspace-1032136/,如需轉載,請註明出處,否則將追究法律責任。

相關文章