当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 备份服务器端SQL SERVER数据库至本地目录

MSSQL
J2EE基础应用:J2EE中SQL语句自动构造方法
SQL Server asp.net 数据提供程序连接池
SQL Server的怪辟:异常与孤立事务
一个修改Oracle数据库用户密码的小诀窍
SQL和Oracle对数据库事务处理的差异性
SQL SERVER应用问题解答13例(三)
设置Proxy Server和SQL Server实现互联网上数据库的安全
SQL Server 7.0 入门(一)
SQL Server 7.0 入门(二)
SQL Server 7.0 入门(三)
SQL Server 7.0 入门(四)
SQL Server 7.0 入门(五)
SQL Server 7.0 入门(七)
SQL Server 7.0 入门(八)
SQL Server XML 和 Web 应用体系结构(一)8
SQL Server XML 和 Web 应用体系结构(二)
SQL Server同Exchange Server结合应用--SQL Mail2
使用SQL Server 7.0建立一个安全的数据库的最好方法是
分布式查询和分布式事务
在SQL Server的存储过程中调用Com组件

MSSQL 中的 备份服务器端SQL SERVER数据库至本地目录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 75 ::
收藏到网摘: n/a

/*數據庫備份存儲過程*/
/*支持從服務器備份數據至本地機器上*/
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.45\db$ 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 SERVER下測試通過