`
izuoyan
  • 浏览: 8934379 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Sql Server 2000数据库日志日益庞大的解决方法

阅读更多

我在使用sqlserver2000数据库时,使用一段时间后日志日益庞大。所以我就给Server添加了一个作业,让它每月运行一次。来完成一次我的数据库维护工作。(dmt就是我的多媒体数据库名)

backup log dmt with no_log
--这里只是截断日志,日志文件的物理大小并没有减少。
--而且建议此语句执行完后马上备份数据库(我这里没有备份)

exec sp_dboption 'dmt','autoshrink','true'
--确保数据库设置为自动收缩

dbcc shrinkdatabase(dmt,10)
--收缩数据库,保留10%的空闲空间
--注意,这个操作真真缩小数据库的物理文件。(我自己的日志文件从8G缩小到了7M,嘿嘿)


备份数据库,例如:

BACKUP DATABASE Northwind
TO DISK = 'c:\Northwind.bak'
还原数据库,例如:

--返回由备份集内包含的数据库和日志文件列表组成的结果集
RESTORE FILELISTONLY
FROM DISK = 'c:\Northwind.bak'

--还原由BACKUP备份的数据库
RESTORE DATABASE Northwind
FROM DISK = 'c:\Northwind.bak'

--指定还原后的数据库物理文件名称及路径
RESTORE DATABASE TestDB
FROM DISK = 'c:\Northwind.bak'
WITH
MOVE 'Northwind' TO 'c:\test\testdb.mdf',
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'

MOVE 'logical_file_name' TO 'operating_system_file_name'
指定应将给定的 logical_file_name 移到 operating_system_file_name。
默认情况下,logical_file_name 将还原到其原始位置。如果使用 RESTORE
语句将数据库复制到相同或不同的服务器上,则可能需要使用 MOVE 选项重
新定位数据库文件以避免与现有文件冲突。可以在不同的 MOVE 语句中指定
数据库内的每个逻辑文件。

--强制还原,加上REPLACE参数,则在现有数据库基础上强制还原。
RESTORE DATABASE TestDB
FROM DISK = 'c:\Northwind.bak'
WITH REPLACE,
MOVE 'Northwind' TO 'c:\test\testdb.mdf',
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics