具体方法如下:
1.两台机器(数据库所在的机器和存放备份文件的机器)都需要建一个同名同密码的用户,方便起见,最好将这两个用户都直接归到管理员组下;
2.将数据库的启动帐户设置成刚才所建立的那个帐户,并重新开启SQL服务;
3.假设远程机器的IP是192.168.61.234,共享为默认共享f$,先用查询分析器登陆到本地的SQL服务器(用sa和信任模式都可以),在master下执行xp_cmdshell 'dir 192.168.61.234f$'看有没有结果,还是有报错的,如有报错,请根据错误提示检查;
4.执行以下备份语句可将数据库备份到远程硬盘上,以crm2k为例:
backup database crm2k to disk='192.168.61.234f$crm2k0722_2.dmp'
5.同时注意,一定要用“机器名或IP”不能用映射的盘符。
注释:
直接备份到远程硬盘并不是个好主意,一方面速度慢,另一方面网络传输过程中可能出现意外。还是直接备份到本地,再拷到远程硬盘的好,用SQL的脚本可以调用:“调用master..xp_cmdshell 'copy...'实现。”
另外,xp_cmdshell是一个个十分有用的扩展存储过程,它可以在SQL中执行WINDOWS的命令行命令,在使用SQL过程中益处很大。
本机备份和还原数据库的Transact-SQL实现如下:
backup database 数据库名称 to disk = 'C:DATA1'(具体选择实际的路径名称)
restore database 数据库名称 from disk = 'C:yuhua.bak'(具体选择实际的路径名称)