回覆列表
  • 1 # 王小佳的慧慧

    釋放磁碟空間並且重新執行恢復操作,按照下面的步驟收縮日誌。 sp_resetstatus 關閉資料庫的置疑標誌,但是原封不動地保持資料庫的其它選項。 為從根本上解決這樣的問題,你可以按下面的操作配置SQLSERVER 2000: a.如果不需要恢復到指定的時間點,你可以將資料庫的恢復模式配置為簡單,這樣 UPDATE,DELETE,SELECT就不會記錄日誌,日誌就不會增加的很大: USE MASTER GO ALTER DATABASE DB_NAME SET RECOVERY SIMPLE b.如果你的恢復模式是全部,你一定要配置日誌欄位收縮: USE MASTER GO sp_dboption "databasename","trunc. log on chkpt.",true sp_dboption "databasename","autoshrink",true c.透過每日備份將日誌收縮: BACKUP DATABASE DATABASE_NAME TO BACKUP_DEVICES BACKUP LOG DATABASE_NAME TO LOG_DEVICES OR BACKUP LOG DATABASE_NAME with truncate_only **檢查日誌的容量:DBCC SQLPERF (LOGSPACE) 這時日誌並沒有收縮! d.每天在備份資料庫完成之後,重新啟動MS SQLSERVER SERVICE. USE DATABASE_NAME go DBCC SHRINKFILE(2,truncateonly) **檢查日誌的容量:DBCC SQLPERF (LOGSPACE) 這時日誌已經收縮! e.手動快速收縮日誌: / *run below script,you will shrink you database log files immediately, in my experience,you need to run the script for 3 or 4 minutes before stopping it manually */ use databasename dbcc shrinkfile(2,notruncate) dbcc shrinkfile(2,truncateonly) create table t1(char1 char(4000)) go declare @i int select @i=0 while(1=1) begin while(@i<100) begin INSERT INTO T1 VALUES ("A") SELECT @I=@I+1 END TRUNCATE table T1 BACKUP LOG youdatabasename with truncate_only end GO

  • 中秋節和大豐收的關聯?
  • 怎樣看待婆婆年輕不給看孩子,老了有病了又要你管她?