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