远程备份问题 我想问下在SQL中能不能把SQL中每天自动备份的数据库文件.自动保存到局域网中的其他电脑上的共享文件中? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看一下这个:在这基本上做个作业调度!主要是权限没有设置好, 参考下面的备份文件共享目录权限设置方法去解决目录的共享权限就可以了 下面假设是假设A服务器上的数据库备份到B服务器上的共享目录权限设置(两台服务器应该在局域网内,允许目录共享访问)::1.机器A,B创建一个同名的windows用户,用户组设置为administrators,并设置相同的密码,做为备份文件夹文件夹的有效访问用户,操作:我的电脑--控制面板--管理工具--计算机管理--用户和组--右键用户--新建用户--建立一个隶属于administrator组的登陆windows的用户2.在B机器器上,新建一个共享目录,做为备份文件的存放目录,操作:我的电脑--D:\ 新建一个目录,名为: BAK--右键这个新建的目录--属性--共享--选择"共享该文件夹"--通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限--确定3.设置 MSSQLSERVER 及 SQLSERVERAGENT 服务的启动用户开始--程序--管理工具--服务--右键 MSSQLSERVER--属性--登陆--选择"此账户"--输入或者选择第一步中创建的windows登录用户名--"密码"中输入该用户的密码--确定--同样的方法设置 SQLSERVERAGENT4.在A机器上完成对B机器BAK目录的映射5.查询分析器中执行下面的语句,检验是否成功: exec master..xp_cmdshell 'dir 映射的盘符'6.A服务器上做备份计划备注:创建一个新的用户只是为了让MSSQLSERVER服务的启动帐户与共享目录的有效访问同名且密码相同,这样才能通过验证(所以你也可以用其他有效的用户来代替,只需要满足用户名和密码相同,并且拥有足够的权限)第一步 共享本机一文件夹 e:\aa 共享名为 testnet share test = e:\aa第二步 执行SQL在数据库服务器上创建影射 z:exec master..xp_cmdshell 'net use z: \\hyserver\test mmd /user:administrator'第三步 执行备份backup database cs01 to disk = 'z:\\cs01_05-12-26.bak'第四步 删除数据库服务器上的影射 z:exec master..xp_cmdshell 'net use z: /delete' 第五步 取消本机共享文件夹 testnet share test /delete 有两种方法,一是备份到本机,再复制,二是直接备份到另一台机都需要创建映射有一点一定要注意,另一台机的共享文件夹的权限(要准许写入)需要创建映象exec master..xp_cmdshell 'net use z: \\192.168.1.2\文件夹名 "" /user:192.168.1.2\administrator'--备份;with init覆盖|noinit添加backup database 库名 to disk='E:\H_BACKUP.bak' with init--COPYexec master..xp_cmdshell 'copy E:\H_BACKUP.bak z:'--完成后删除映射exec master..xp_cmdshell 'net use z: /delete' 那这种办法是A的服务器备份到B,那能不能先备份到A后,再把A的备份复制到B上 跟楼上的一样:--在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\administratorxz是远程的计算机名,administrator是登陆的用户名密码 面指定的administrator用户的密码--*/--备份;with init覆盖|noinit添加backup database 库名 to disk='E:\H_BACKUP.bak' with init--COPYexec 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' 参考:http://www.cnblogs.com/insus/articles/1916270.html SQL Server 2000 如何把字符型转日期型 对应是/否属性该如何写插入语句 sqlserver2005批量导出数据 显示错误380 帮忙写个触发器 如何查询出用户定义表的字段类型和长度?oracle中能直接写个SQL语句就行了,sqlserver如何写 一个SQL的排序问题 一个很菜的问题 提高财务软件访问数据库速度 sql把多条记录做成一条 怎样在SQL的一个查询中增加一个序列号 消息 208,级别 16,状态 1,第 1 行 ,对象名 'Record07' 无效。
下面假设是假设A服务器上的数据库备份到B服务器上的共享目录权限设置(两台服务器应该在局域网内,允许目录共享访问)::1.机器A,B创建一个同名的windows用户,用户组设置为administrators,并设置相同的密码,做为备份文件夹文件夹的有效访问用户,操作:
我的电脑
--控制面板
--管理工具
--计算机管理
--用户和组
--右键用户
--新建用户
--建立一个隶属于administrator组的登陆windows的用户2.在B机器器上,新建一个共享目录,做为备份文件的存放目录,操作:
我的电脑--D:\ 新建一个目录,名为: BAK
--右键这个新建的目录
--属性--共享
--选择"共享该文件夹"
--通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限
--确定
3.设置 MSSQLSERVER 及 SQLSERVERAGENT 服务的启动用户
开始--程序--管理工具--服务
--右键 MSSQLSERVER
--属性--登陆--选择"此账户"
--输入或者选择第一步中创建的windows登录用户名
--"密码"中输入该用户的密码
--确定
--同样的方法设置 SQLSERVERAGENT4.在A机器上完成对B机器BAK目录的映射5.查询分析器中执行下面的语句,检验是否成功:
exec master..xp_cmdshell 'dir 映射的盘符'6.A服务器上做备份计划备注:创建一个新的用户只是为了让MSSQLSERVER服务的启动帐户与共享目录的有效访问同名且密码相同,这样才能通过验证(所以你也可以用其他有效的用户来代替,只需要满足用户名和密码相同,并且拥有足够的权限)
第一步 共享本机一文件夹 e:\aa 共享名为 test
net share test = e:\aa
第二步 执行SQL在数据库服务器上创建影射 z:
exec master..xp_cmdshell 'net use z: \\hyserver\test mmd /user:administrator'
第三步 执行备份
backup database cs01 to disk = 'z:\\cs01_05-12-26.bak'
第四步 删除数据库服务器上的影射 z:
exec master..xp_cmdshell 'net use z: /delete'
第五步 取消本机共享文件夹 test
net share test /delete
都需要创建映射
有一点一定要注意,另一台机的共享文件夹的权限(要准许写入)需要创建映象
exec master..xp_cmdshell 'net use z: \\192.168.1.2\文件夹名 "" /user:192.168.1.2\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 'net use z: /delete'
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'
http://www.cnblogs.com/insus/articles/1916270.html