備份服務器端SQL SERVER數據庫至本地目錄

王朝mssql·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

/*數據庫備份存儲過程*/

/*支持從服務器備份數據至本地機器上*/

-- 作者:yoncen

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\test'

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_executesql @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 SERVER7.0下測試通過

**感謝http://www.myf1.net/bbs (Visual Foxpro幫助論壇)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航