適用于SQL Server 2005的方法
---------------------------------------------
復(fù)制代碼 代碼如下:
USE DNName
GO
1,清理日志
復(fù)制代碼 代碼如下:
Backup Log DNName WITH no_log
GO
2,截斷事務(wù)日志
復(fù)制代碼 代碼如下:
DUMP TRANSACTION DNName WITH no_log
GO
3,收縮
兩種方式:
1):壓縮數(shù)據(jù)庫
DBCC SHRINKDATABASE(庫名)
GO
2):指定數(shù)據(jù)文件,可以通過這個語句查詢到:select * from sysfiles
此方式也可以通過操作:右鍵你要壓縮的數(shù)據(jù)庫--所有任務(wù)--收縮數(shù)據(jù)庫--收縮文件,分別選擇數(shù)據(jù)和日志的文件要壓縮的大小來執(zhí)行
DBCC SHRINKFILE (文件名)
GO
4.為了最大化的縮小日志文件(如果是sql 7.0,這步只能在查詢分析器中進行)
下面的示例分離 pubs,然后將 pubs 中的一個文件附加到當(dāng)前服務(wù)器。
a.分離
EXEC sp_detach_db @dbname='庫名'
b.刪除日志LOG文件
c.再附加
復(fù)制代碼 代碼如下:
EXEC sp_attach_single_file_db @dbname='庫名',
@physname='c:\Program Files\Microsoft SQL Server\MSSQL\Data\庫名.mdf'
5.為了以后能自動收縮,做如下設(shè)置:
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--選項--選擇"自動收縮"
--SQL語句設(shè)置方式:
復(fù)制代碼 代碼如下:
EXEC sp_dboption '庫名', 'autoshrink', 'TRUE'
6.如果想以后不讓它日志增長得太大
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--事務(wù)日志
--將文件增長限制為xM(x是你允許的最大數(shù)據(jù)文件大小)
--SQL語句的設(shè)置方式:
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]
您可能感興趣的文章:- 清空MSSQL日志 與set recovery simple
- mssql無數(shù)據(jù)庫日志文件恢復(fù)數(shù)據(jù)庫的方法
- mssql自動備份及自動清除日志文件服務(wù)器設(shè)置
- sqlserver 數(shù)據(jù)庫日志備份和恢復(fù)步驟
- sqlserver 日志恢復(fù)方法(搞定drop和truncate)
- SQLServer2005 沒有日志文件(*.ldf) 只有數(shù)據(jù)文件(*.mdf) 恢復(fù)數(shù)據(jù)庫的方法
- 收縮數(shù)據(jù)庫日志文件的方法(僅適用于mssql2005)
- MSSQL 監(jiān)控數(shù)據(jù)/日志文件增長實現(xiàn)方法
- 刪除sqlserver數(shù)據(jù)庫日志和沒有日志的數(shù)據(jù)庫恢復(fù)辦法
- 拯救你的數(shù)據(jù) 通過日志恢復(fù)MSSQL數(shù)據(jù)