程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> MSSQL 2005/2008 日志壓縮清理方法小結

MSSQL 2005/2008 日志壓縮清理方法小結

編輯:關於SqlServer
適用於SQL Server 2005的方法
---------------------------------------------
復制代碼 代碼如下:
USE DNName
GO

1,清理日志
復制代碼 代碼如下:
Backup Log DNName WITH no_log
GO

2,截斷事務日志
復制代碼 代碼如下:
DUMP TRANSACTION DNName WITH no_log
GO

3,收縮
兩種方式
  1):壓縮數據庫
     DBCC SHRINKDATABASE(庫名)
     GO
  2):指定數據文件,可以通過這個語句查詢到:select * from sysfiles
   此方式也可以通過操作:右鍵你要壓縮的數據庫--所有任務--收縮數據庫--收縮文件,分別選擇數據和日志的文件要壓縮的大小來執行
     DBCC SHRINKFILE (文件名)
     GO
4.為了最大化的縮小日志文件(如果是sql 7.0,這步只能在查詢分析器中進行)
下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前服務器。
a.分離
EXEC sp_detach_db @dbname='庫名'
b.刪除日志LOG文件
c.再附加
復制代碼 代碼如下:
EXEC sp_attach_single_file_db @dbname='庫名',
@physname='c:\Program Files\Microsoft SQL Server\MSSQL\Data\庫名.mdf'

5.為了以後能自動收縮,做如下設置:
企業管理器--服務器--右鍵數據庫--屬性--選項--選擇"自動收縮"
--SQL語句設置方式:
復制代碼 代碼如下:
EXEC sp_dboption '庫名', 'autoshrink', 'TRUE'

6.如果想以後不讓它日志增長得太大
企業管理器--服務器--右鍵數據庫--屬性--事務日志
--將文件增長限制為xM(x是你允許的最大數據文件大小)
--SQL語句的設置方式:
alterdatabase 庫名 modify file(name=邏輯文件名,maxsize=20)
------分--隔-----
適用於SQL Server 2008的方法
[code]
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE --簡單模式
GO
USE DNName
GO
DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --還原為完全模式
GO
[code]
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved