SQL备份问题,继续!高分!!!

来源:百度知道 编辑:UC知道 时间:2024/06/29 23:36:15
我不知道怎么判断是否成功备份和还原备份,还有就是恢复的时候如何把其他连接kill掉!最好给我一个完整的demo
我把代码拿回去研究研究啊!放心分会给你的

分三部来解决吧.
第一,判断是否备份成功:你不是备份的时候会设置路径和文件名吗?最好设置成XXX2009-06-02这样的模式,然后使用File.Exist(路径+"\\"+文件名)来判断文件是否已经生成了,如果生成了,就是备份成功了.
第二,判断是否还原成功:把我昨天发的SQL再加工下
USE master
RESTORE DATABASE DB
FROM DISK = 'g:\back.Bak'
WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB.mdf',
MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB_log.ldf',
STATS = 10, REPLACE
GO

路径你用参数传了.然后判断这2个地方的文件是否生成了.同第一个问题的判断,
生成了证明还原成功了.

第三个问题,备份数据库时关闭所有连接:
需要在Master库中创建一个储存过程:
SQL如下:
use master
go
create proc KillSpByDbName(@dbname varchar(20))
as
begin
declare @sql nvarchar(500),@temp varchar(1000)
declare @spid int
set @sql='declare getspid cursor for
select spid from sysprocesses where dbid=db_id('''+@dbname+&