use masterdeclare @dir varchar(256),@dir_db varchar(256),
        @verb varchar(256),@cmd varchar(256),
        @backup_name varchar(256),@dynamic_name varchar(10),
        @disk_name varchar(256)--建立网络连接
exec xp_cmdshell 'net use K: \\87da6e6411254b5\数据库'--设定名字
set @dynamic_name=convert(varchar(10),getdate(),120)set @dir='K:\'+@dynamic_name
set @dir_db=@dir+'ibm'
set @verb='mkdir '
--建立目录--set @cmd=@verb+@dir
--exec xp_cmdshell @cmdset @cmd=@verb+@dir_db
exec xp_cmdshell @cmd--DgLifeng
set @backup_name= 'Bss_'+@dynamic_name
set @disk_name=@dir_db+'\'+@backup_nameEXEC sp_addumpdevice 'disk',@backup_name, @disk_name 
BACKUP DATABASE Bss TO @backup_nameexec sp_dropdevice @backup_name'硬盘' 设备已添加。
服务器: 消息 3201,级别 16,状态 1,行 34
无法打开备份设备 'Bss_2009-02-24'。设备出现错误或设备脱机。详细信息请参阅 SQL Server 错误日志。
服务器: 消息 3013,级别 16,状态 1,行 34
BACKUP DATABASE 操作异常终止。
设备已除去。

解决方案 »

  1.   

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