sql server 清除日志
生活随笔
收集整理的這篇文章主要介紹了
sql server 清除日志
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SQL2008 的收縮日志? 由于SQL2008對文件和日志管理進行了優化,所以以下語句在SQL2005中可以運行但在SQL2008中已經被取消: (SQL2005) Backup Log DNName with no_log go dump transaction DNName with no_log go USE DNName? DBCC SHRINKFILE (2) Go -------------------------------------------------------------- (SQL2008): 在SQL2008中清除日志就必須在簡單模式下進行,等清除動作完畢再調回到完全模式。 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 優點:此清除日志所運行消耗的時間短,90GB的日志在分鐘左右即可清除完畢,做完之后做個完全備份在分鐘內 即可完成。 缺點: 不過此動作最好不要經常使用,因為它的運行會帶來系統碎片。普通狀態下LOG和DIFF的備份即可截斷日志。 此語句使用的恰當環境:當系統的日志文件異常增大或者備份LOG時間太長可能影響生產的情況下使用。 完整的收縮日志文件的 T-SQL 語句:
BACKUP LOG xxdb to
disk='x:\work\1.bak'
DBCC SHRINKFILE
(xxdb_log,10)
GO
--
BACKUP LOG <db_name> to
disk=<'backupfilename'>
DBCC SHRINKFILE
(<log_filename>,10)
GO
里面的x:\work是隨意設置的。當然也可以收縮到比如5M或1M。
BACKUP LOG xxdb to
disk='x:\work\1.bak'
DBCC SHRINKFILE
(xxdb_log,10)
GO
--
BACKUP LOG <db_name> to
disk=<'backupfilename'>
DBCC SHRINKFILE
(<log_filename>,10)
GO
里面的x:\work是隨意設置的。當然也可以收縮到比如5M或1M。
轉載于:https://www.cnblogs.com/101key/p/3484112.html
總結
以上是生活随笔為你收集整理的sql server 清除日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ndk 开发
- 下一篇: 经典网页设计:12个简约风格的网站作品