备份服务器端SQLServer数据库至本地目录
时间:2007-12-23 来源:不详 作者:迈克DB
/*支持從服務器備份數據至本地機器上*/
CREATEPROCEDUREup_dbbackup
(
@backup_db_nameVARCHAR(128),
@filenameVARCHAR(128),/*備份路徑 文件名*/
@flagVARCHAR(60)OUTPUT
)
AS
SETNOCOUNTON
DECLARE@sqlNVARCHAR(4000),@parNVARCHAR(1000)
IFNOTEXISTS(
SELECT*FROMmaster..sysdatabases
WHEREname=@backup_db_name
)
BEGIN
SELECT@flag=’數據庫’ @backup_db_name ’不存在!’
RETURN
END
ELSE
BEGIN
IFRIGHT(@filename,1)<>’\’ANDCHARINDEX(’\’,@filename)<>0
BEGIN
/*定義標誌*/
DECLARE@lFlagINT
EXECUTE@lFlag=master..xp_cmdshell’DIRZ:’
IF@lFlag<>0
BEGIN
/*在客戶機192.168.2.45上建立一個完全共享目錄db,指定一個用戶名和密碼.Win98用戶不需要用戶名和密碼*/
EXECUTE@lFlag=master..xp_cmdshell’NETUSEZ:\\192.168.2.45\db$test/user:ca.atc\test’
IF@lFlag<>0
BEGIN
SELECT@flag=’服務器創建目錄失敗!’
RETURN
END
END
SELECT@par=’@filenameVARCHAR(1000)’
SELECT@sql=’BACKUPDATABASE’ @backup_db_name ’TODISK=@filenameWITHINIT’ 织梦内容管理系统
EXECUTEsp_executesql@sql,@par,@filename
EXECUTEmaster..xp_cmdshell’NETUSEZ:/DELETE’
SELECT@flag=’數據庫’ @backup_db_name ’備份成功!’
RETURN
END
ELSE
BEGIN
SELECT@flag=’數據庫備份路徑錯誤!’
RETURN
END
END
**以上過程在SQLSERVER下測試通過
上一篇:Sqlserver中的一些技巧 下一篇:保护Access 2000数据库的安全
文章评论
共有位Admini5网友发表了评论 查看完整内容