将数据和日志从同一设备上进行分离
时间:2010-11-28 来源:renwd
一次工程,在建立数据库时一时疏忽,未指定日志的单独设备,这就导致建立的数据库中数据和日志是混在一起占用共同的设备,日志和数据混在一起主要有以下缺点:(1)无法对数据库做日志备份,只能做全库的DUMP,这对备份非常麻烦。(2) 无法知道日志占用了多少空间,经常发生日志满,而无法提供服务,采取措施只有截断日志,这对维护数据库非常不方便。 为了彻底解决该问题,只有将日志和数据进行分离,为日志指定单独的设备空间。具体的操作步骤如下:
(1) 备份数据库,包括master和与你要分离的数据库。一定要备份,因为分离存在一定的风险。
(2) 创建一个日志设备(disk init ..) 为要分离数据库的日志准备。
(3) alter database XXXX log on new_log_dev. 修改数据库,将数据库的日志指定到
new_log_dev这个设备上。
(4) 做完以上操作,将要分离的数据库切换到单用户模式,命令如下:
use master
go
sp_dboption db_name, “single user”, true
go
(5) sp_logdevice xxxx, new_log_dev 将数据库的日志转到到new_log_dev 上。 (6) 为了安全,执行以上操作,要运行dbcc命令,进行数据库检查,具体命令 如下: dbcc checkdb (7) sp_droplogsegment logsegment,xxxx,devc_name.
go
sp_dboption db_name, “single user”, true
go
(5) sp_logdevice xxxx, new_log_dev 将数据库的日志转到到new_log_dev 上。 (6) 为了安全,执行以上操作,要运行dbcc命令,进行数据库检查,具体命令 如下: dbcc checkdb (7) sp_droplogsegment logsegment,xxxx,devc_name.
相关阅读 更多 +