--SQL如何备份到异机 写成存储过程,建立作业定时备份~~~ 
--在sql中映射一下就可以了 
exec master..xp_cmdshell 'net use z: \\yizhi\D$ "密码" /user:yizhi\administrator' /*--说明: 
exec master..xp_cmdshell 'net use z: \\xz\c$ "密码" /user:xz\administrator' z:是映射网络路径对应本机的盘符,与下面的备份对应 
\\xz\c$是要映射的网络路径 xz\administrator 
xz是远程的计算机名, 
administrator是登陆的用户名 
密码 面指定的administrator用户的密码 
--*/ --备份;with init覆盖 ¦noinit添加 
backup database 库名 to disk='E:\H_BACKUP.bak' with init --COPY 
exec master..xp_cmdshell 'copy E:\H_BACKUP.bak z:' --删除(这句可以去掉) 
--exec master..xp_cmdshell 'del E:\H_BACKUP.bak' --完成后删除映射 
exec master..xp_cmdshell 'net use z: /delete' 

解决方案 »

  1.   

    --你是否有足够的权限?如果有足够的权限,可以备份到本机--如果有,可以用下面的方法,查询分析器中操作:-- 创建共享目录
    exec master.dbo.XP_cmdshell 'md c:\bak'
    exec master.dbo.XP_cmdshell 'net share bak=c:\bak'--进行数据备份
    backup database 数据库 to disk='c:\bak\备份.bak'
    /*--以下操作在我的电脑中进行:   打开我的电脑,地址栏中输入:
       \\SQL服务器的计算机名\bak\
       复制里面的备份.bak到你的电脑就行了--我的电脑中的操作结束--*/
    --删除备份生成的文件
    exec master..xp_cmdshell 'del c:\bak\备份.bak'--删除共享
    exec master.dbo.XP_cmdshell 'net share c:\bak /delete /y'
    exec master.dbo.XP_cmdshell 'rd c:\bak'--否则,你还是完全共享你本机的目录,用下面的方法备份:
    backup database 数据库 to disk='\\你的计算机名\共享目录名\备份文件名'---或通过映射网络驱动器(这样可以解决权限问题)--1.映射
    exec master..xp_cmdshell 'net use z: \\xz\c$ "密码" /user:xz\administrator'/*--说明:
    z: 是映射网络路径对应本机的盘符,与下面的备份对应
    \\xz\c$ 是要映射的网络路径
    xz\administrator xz是远程的计算机名,administrator是登陆的用户名
    密码                        上面指定的administrator用户的密码
    --*/--2.进行数据库备份
    backup database 数据库名 to disk='z:\备份文件名'
    --3.备份完成后删除映射
    exec master..xp_cmdshell 'net use z: /delete'
      

  2.   

    为什么会出错呢?  报的错是:消息 233,级别 20,状态 0,第 0 行
    在向服务器发送请求时发生传输级错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
      

  3.   

    直接把C:\Program Files\Microsoft SQL Server\MSSQL\Data下面的Data、log两个数据库文件拷贝过去(拷贝的时候停止sql服务器)
    还原的时候右击 数据库--所有任务--附加数据库(A)
    选择拷贝的文件附加上去
     
      

  4.   

    exec master..xp_cmdshell 'net use z: \\yizhi\D$ "密码" /user:yizhi\administrator' 
    backup database 库名 to disk='E:\H_BACKUP.bak' with init --COPY 
    exec master..xp_cmdshell 'copy E:\H_BACKUP.bak z:' --删除(这句可以去掉) 
    --exec master..xp_cmdshell 'del E:\H_BACKUP.bak' --完成后删除映射 
    exec master..xp_cmdshell 'net use z: /delete' 
     
    我用了 怎么老是出错呀? 又没有更详细的资料 急用  谢谢(100分酬谢) 
      

  5.   

    restore database yourdb from disk='bak文件地址' with replaceuse master 
    go restore database rqhf from disk='d:\rqhf_db_200806180100.BAK' with replace 
    先备份再到本地再传到另外一个服务器上,再还原