因项目需要,系统需要远端备份,要对sql2008 的数据库做远端同步,参照百度来的订阅快照发布,操作了一番,谁知道遇到两个问题折腾了我3个下半夜,现分享一下,照顾一下IT人,别再如此熬夜了。
说正事,
快照的发布网上大把的,我就不啰嗦了,大家自己去问度娘。
假定发布服务器名:AV(32位 Windows server 2003)sql server2008 的实例名 SQL2008
发布后,记得在发的快照的属性里设置FTP快照参数,如下:
ftp服务器名称,填发布服务器的ip即可,除非你用别的机器做ftp服务器,
端口,一般默认21,
跟路径,/ftp,(填别的也可以,总之要是你的ftp可以访问的)
登录名,在你的ftp里设置的账户名,比如AV1
密码,xxx
理解这里的ftp,只是一个标准ftp的账户配置,至于用什么ftp服务器软件,你自己考虑,我用的是filezilla,根据上述设置,和快照生产的本地文件夹,在filezilla里面配置好,比如AV1,并将AV1对应的路径设置为快照生成的跟路径,在那个路径下可看到“ftp”文件夹就对了。
启动你的ftp服务,远程连一下,确保使用PORT模式可以进行连接,下载操作。
创建订阅:所在服务器名:BV(64位操作系统,Windows server 2008)
这里是折腾我的地方了,SSMS里,新建订阅,要求设置服务器名及实例名,我的发布服务器以:AV\sql实例名称这样的方式无法访问,只能用ip不加实例名可以访问,折腾了很久,都是报error=26,什么无法定位实例,
解决办法:配置管理器,对64位系统连32位系统,需要在sql native client 10.0配置(32位)下进行别名设置,64位访问64位估计要设那个不带“(32位)”的,没环境试。
别名:AV\SQL2008 注意那个反斜杠,采用:机器名\实例名的方式设置
端口:1433 按你自己的情况修改
服务器:填AV的ip地址
协议: TCP/IP
设置好后,好像要重启一下,实在抱歉,不记得了,反正折腾太多,晕了
到此,基本可以设置好订阅了,
不用担心ftp的账户信息,在同步过程中,AV会告诉BV该连的ftp信息,
好,到此可以解决很多IT人的头疼的问题,服务器名加实例名进行订阅设置的难点了,网上很多朋友遇到这个情况,发的帖子也都没看到有明确解决方案的,可以试试次方。
问题2来了,执行订阅计划时,死都连不上ftp,经查,是防火墙问题,关闭防火墙就ok,但是在公网上,谁敢?我是不敢,查,哥们没啥工具,只好装了个360卫士,里面的网络连接查看器很好用,一查,发现是一个叫DISTRIB.exe的程序连到了AV的21端口,但是没有20端口,由于是port模式,20端口是被连接,要把DISTRIB.exe设置为例外,360卫士居然查不到进行所在文件,bug,用任务管理器查看进程信息,定位C:\Program Files\Microsoft SQL Server\100\COM,在防火墙里,添加DISTRIB.exe,
重启启动订阅计划,OK,完事,收工。