】/*數據庫備份存儲過程*/
/*支持從服務器備份數據至本地檆器上*/
create procedure up_dbbackup
(
@backup_db_name varchar(128),
@filename varchar(128), /*備份路徑+文件名*/
@flag varchar(60) output
)
as
set nocount on
declare @ sql nvarchar(4000),@par nvarchar(1000)
if not exists(
select * from master..sysdatabases
where name=@backup_db_name
)
begin
select @flag=’數據庫’+@backup_db_name+’不存在!’
return
end
else
begin
if right(@filename,1)<>’’ and charindex(’’,@filename)<>0
begin
/*定義標読*/
declare @lflag int
execute @lflag=master..xp_cmdshell ’dir z:’
if @lflag<>0
begin
/* 在客戶檆192.168.2.45上建立一個完全共享目錄db,指定一個用戶名和密碼.win98用戶不需要用戶名和密碼*/
execute @lflag=master..xp_cmdshell ’net use z: \192.168.2.45db$ test /user:ca.atc est’
if @lflag<>0
begin
select @flag=’服務器創建目錄失敗!’
return
end
end
select @par=’@filename varchar(1000)’
select @ sql=’backup database ’+@backup_db_name+’ to disk=@filename with init’
execute sp_execute sql @ sql,@par,@filename
execute master..xp_cmdshell ’net use z: /delete’
select @flag=’數據庫’+@backup_db_name+’備份成功!’
return
end
else
begin
select @flag=’數據庫備份路徑錯誤!’
return
end
end
**以上過程在sql server下測試通過
/*支持從服務器備份數據至本地檆器上*/
create procedure up_dbbackup
(
@backup_db_name varchar(128),
@filename varchar(128), /*備份路徑+文件名*/
@flag varchar(60) output
)
as
set nocount on
declare @ sql nvarchar(4000),@par nvarchar(1000)
if not exists(
select * from master..sysdatabases
where name=@backup_db_name
)
begin
select @flag=’數據庫’+@backup_db_name+’不存在!’
return
end
else
begin
if right(@filename,1)<>’’ and charindex(’’,@filename)<>0
begin
/*定義標読*/
declare @lflag int
execute @lflag=master..xp_cmdshell ’dir z:’
if @lflag<>0
begin
/* 在客戶檆192.168.2.45上建立一個完全共享目錄db,指定一個用戶名和密碼.win98用戶不需要用戶名和密碼*/
execute @lflag=master..xp_cmdshell ’net use z: \192.168.2.45db$ test /user:ca.atc est’
if @lflag<>0
begin
select @flag=’服務器創建目錄失敗!’
return
end
end
select @par=’@filename varchar(1000)’
select @ sql=’backup database ’+@backup_db_name+’ to disk=@filename with init’
execute sp_execute sql @ sql,@par,@filename
execute master..xp_cmdshell ’net use z: /delete’
select @flag=’數據庫’+@backup_db_name+’備份成功!’
return
end
else
begin
select @flag=’數據庫備份路徑錯誤!’
return
end
end
**以上過程在sql server下測試通過
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-122610/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10294527/viewspace-122610/