★★★请教关于『备份』和『恢复』数据库的问题?
suihu 2006-10-03 11:06:23 自己想写一个『备份』和『恢复』数据库的小程序
每次都是完全备份,备份的文件名用bak + 时间戳
在备份的同时,我也存储了该文件名,供恢复时使用
================================================================================
下面是我写的『备份』和『恢复』的语句,但是有问题,不知道怎么解决,请各位帮忙看看。
================================================================================
『备份』
-------------------------------------------------------------------
alter database People set recovery bulk_logged
backup database People to disk='d:\data\bak_data_20061003105920.bak'
backup log People to disk='d:\data\bak_log_20061003105920.bak'
-------------------------------------------------------------------
『恢复』
------------------------------------------------------------------------------------
alter database People set offline with rollback immediate
restore database People from disk='d:\data\bak_data_20061003105920.bak'with norecovery
restore log People from disk='d:\data\bak_log_20061003105920.bak'with norecovery
alter database People set online with rollback immediate
------------------------------------------------------------------------------------
备份的时候没有出现错误,但恢复的时候就出现也错了,下面是恢复时的错误信息。
------------------------------------------------------------------------------------
正在回滚不合法事务。估计回滚已完成: 100%。
已处理 136 页,这些页属于数据库 'People' 的文件 'People_dat'(位于文件 1 上)。
已处理 1 页,这些页属于数据库 'People' 的文件 'People_log'(位于文件 1 上)。
RESTORE DATABASE 操作成功地处理了 137 页,花费了 1.705 秒(0.654 MB/秒)。
已处理 1 页,这些页属于数据库 'People' 的文件 'People_log'(位于文件 1 上)。
RESTORE LOG 操作成功地处理了 1 页,花费了 0.026 秒(0.137 MB/秒)。
服务器: 消息 927,级别 14,状态 2,行 4
无法打开数据库 'People'。该数据库正处于还原操作中途。
服务器: 消息 5069,级别 16,状态 1,行 4
ALTER DATABASE 语句失败。
------------------------------------------------------------------------------------