--不适用于Internet
--你是否有足够的权限?如果有足够的权限,可以备份到本机
--如果有,可以用下面的方法,查询分析器中操作:
-- 创建共享目录
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/administratorxz是远程的计算机名,administrator是登陆的用户名
密码 上面指定的administrator用户的密码
--*/
--2.进行数据库备份
backup database 数据库名 to disk='z:/备份文件名'
--3.备份完成后删除映射
exec master..xp_cmdshell 'net use z: /delete'