MSSQL 2005/2008 日志壓縮清理方法小結(jié)
更新時(shí)間:2013年03月28日 17:04:52 作者:
本教程會(huì)詳細(xì)介紹下MSSQL 2005和MSSQL 2008刪除或壓縮數(shù)據(jù)庫日志的方法,感興趣的朋友可以參考下哈,希望可以幫助到你
適用于SQL Server 2005的方法
---------------------------------------------
USE DNName
GO
1,清理日志
Backup Log DNName WITH no_log
GO
2,截?cái)嗍聞?wù)日志
DUMP TRANSACTION DNName WITH no_log
GO
3,收縮
兩種方式:
1):壓縮數(shù)據(jù)庫
DBCC SHRINKDATABASE(庫名)
GO
2):指定數(shù)據(jù)文件,可以通過這個(gè)語句查詢到:select * from sysfiles
此方式也可以通過操作:右鍵你要壓縮的數(shù)據(jù)庫--所有任務(wù)--收縮數(shù)據(jù)庫--收縮文件,分別選擇數(shù)據(jù)和日志的文件要壓縮的大小來執(zhí)行
DBCC SHRINKFILE (文件名)
GO
4.為了最大化的縮小日志文件(如果是sql 7.0,這步只能在查詢分析器中進(jìn)行)
下面的示例分離 pubs,然后將 pubs 中的一個(gè)文件附加到當(dāng)前服務(wù)器。
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.為了以后能自動(dòng)收縮,做如下設(shè)置:
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--選項(xiàng)--選擇"自動(dòng)收縮"
--SQL語句設(shè)置方式:
EXEC sp_dboption '庫名', 'autoshrink', 'TRUE'
6.如果想以后不讓它日志增長(zhǎng)得太大
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--事務(wù)日志
--將文件增長(zhǎng)限制為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 --簡(jiǎn)單模式
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]
---------------------------------------------
復(fù)制代碼 代碼如下:
USE DNName
GO
1,清理日志
復(fù)制代碼 代碼如下:
Backup Log DNName WITH no_log
GO
2,截?cái)嗍聞?wù)日志
復(fù)制代碼 代碼如下:
DUMP TRANSACTION DNName WITH no_log
GO
3,收縮
兩種方式:
1):壓縮數(shù)據(jù)庫
DBCC SHRINKDATABASE(庫名)
GO
2):指定數(shù)據(jù)文件,可以通過這個(gè)語句查詢到:select * from sysfiles
此方式也可以通過操作:右鍵你要壓縮的數(shù)據(jù)庫--所有任務(wù)--收縮數(shù)據(jù)庫--收縮文件,分別選擇數(shù)據(jù)和日志的文件要壓縮的大小來執(zhí)行
DBCC SHRINKFILE (文件名)
GO
4.為了最大化的縮小日志文件(如果是sql 7.0,這步只能在查詢分析器中進(jìn)行)
下面的示例分離 pubs,然后將 pubs 中的一個(gè)文件附加到當(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.為了以后能自動(dòng)收縮,做如下設(shè)置:
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--選項(xiàng)--選擇"自動(dòng)收縮"
--SQL語句設(shè)置方式:
復(fù)制代碼 代碼如下:
EXEC sp_dboption '庫名', 'autoshrink', 'TRUE'
6.如果想以后不讓它日志增長(zhǎng)得太大
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--事務(wù)日志
--將文件增長(zhǎng)限制為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 --簡(jiǎn)單模式
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自動(dòng)備份及自動(dòng)清除日志文件服務(wù)器設(shè)置
- sqlserver 數(shù)據(jù)庫日志備份和恢復(fù)步驟
- sqlserver 日志恢復(fù)方法(搞定drop和truncate)
- SQLServer2005 沒有日志文件(*.ldf) 只有數(shù)據(jù)文件(*.mdf) 恢復(fù)數(shù)據(jù)庫的方法
- 收縮數(shù)據(jù)庫日志文件的方法(僅適用于mssql2005)
- MSSQL 監(jiān)控?cái)?shù)據(jù)/日志文件增長(zhǎng)實(shí)現(xiàn)方法
- 刪除sqlserver數(shù)據(jù)庫日志和沒有日志的數(shù)據(jù)庫恢復(fù)辦法
- 拯救你的數(shù)據(jù) 通過日志恢復(fù)MSSQL數(shù)據(jù)
相關(guān)文章
OBJECTPROPERTY與sp_rename更改對(duì)象名稱的介紹
開發(fā)過程中,錯(cuò)誤免不了。為了糾正錯(cuò)誤與規(guī)范化??梢允褂肕S SQL Server的系統(tǒng)存儲(chǔ)過程sp_rename與OBJECTPROPERTY來更改重命名2012-01-01一些SQL Server存儲(chǔ)過程參數(shù)及例子
下面是sql server多版本下的存儲(chǔ)過程參數(shù)及例子2008-08-08sql server 2000中禁止創(chuàng)建表(權(quán)限設(shè)置方法)
最近發(fā)現(xiàn)數(shù)據(jù)庫中發(fā)現(xiàn)了三個(gè)臨時(shí)表,為了安全這里為大家分享下sql server 2000中禁止創(chuàng)建表的方法,網(wǎng)上都么有的,腳本之家小編原創(chuàng)2015-07-07sql server多行數(shù)據(jù)拼接的實(shí)例方法
sql server多行數(shù)據(jù)拼接的實(shí)例方法,需要的朋友可以參考一下2013-04-04數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別
大部分?jǐn)?shù)據(jù)庫語句的基本語法是相同的,但具體到的每一種數(shù)據(jù)庫,又有些不一樣,例如觸發(fā)器,DB2和SQL Server兩種很大的不同。對(duì)數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別感興趣的朋友一起看看本文吧2015-11-11SQL Server代理服務(wù)無法啟動(dòng)的解決方法
錯(cuò)誤MSSQLSERVERSQLServerAgent could not be started (reason: SQLServerAgent 必須能夠以 SysAdmin 身份連接到 SQLServer,但“(未知)”不是 SysAdmin 角色的成員)2013-02-02數(shù)據(jù)庫中兩張表之間的數(shù)據(jù)同步增加、刪除與更新實(shí)現(xiàn)思路
可以采用分別創(chuàng)建增加、刪除、更新的觸發(fā)器(Trigger)來達(dá)到兩張表之間數(shù)據(jù)同步的目的,感興趣的朋友可以參考下,希望可以幫助到你2013-03-03