SQL Server 2000向SQL Server 2008 R2推送数据图文教程

鹰澈羽翼

鹰澈羽翼

2016-02-19 09:16

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐SQL Server 2000向SQL Server 2008 R2推送数据图文教程,赶紧看过来吧!

最近做的一个项目要获取存在于其他服务器的一些数据,为了安全起见,采用由其他“服务器”向我们服务器推送的方式实现。我们服务器使用的是sql server 2008 R2,其他“服务器”使用的都是SQL Server 2000,还都是运行在Windows XP上的,整个过程遇到了一些问题,也参考了一些文档,最终费了好多事才算搞定。

SQLServer 2000的复制服务包括三个角色:发布服务器、分发服务器和订阅服务器,关系如图1所示。

图1

其中发布服务器(数据源服务器)负责将数据的改变(如快照或事务等)传送到分发服务器中,由分发服务器将这些数据的改变分发到订阅服务器(目标服务器)中。其中分发服务器可以与发布服务器配置在一台服务器中。

在配置分发服务器之前,首先需要打开SQL Server Agent服务并配置为自动启动。除此之外,对于数据库复制操作,SQL Server Agent不能使用系统账户登录,而必须为本地账户,可以在“登录”选项卡中,将“登录身份”设置为“此账户”,选择任一管理员账户即可(该管理员账户必须有密码)。

然后就可以配置分发服务器了。在SQL Server 2000中,打开企业管理器,然后选择已经注册的SQL Server服务器(此处为本机服务器),然后选择“工具”菜单,选择“向导”,出现如图2所示的对话框。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

图2

选择“配置发布和分发向导”,确定后点击下一步出现如图3所示的对话框。

图3

如果需要在当前数据库服务器上创建分发服务器,选择第一项即可,否则选择第二项,然后点击下一步,出现如图4所示的对话框。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

图4

这里需要注意的是,快照文件夹路径必须为网络路径,即\计算机名盘符默认共享路径,默认系统已经填好该项,直接点击下一步即可。如果出现出错的情况,可以打开cmd,输入“net share”查看当前共享中是否有盘符的默认共享,如果没有的话,使用“net share c$”即可创建默认共享,如果还不行可以访问参考链接2。

成功后一路下一步即可配置好分发服务器。配置完分发服务器后,在注册的数据库服务器中就会出现“复制监视器一项”。

对于SQL Server 2000向2000推送数据,接下来的操作可以继续在企业管理器中完成,而对于SQL Server 2000向高版本SQL Server推送数据,则需要安装相应版本的SQL Server Management Studio,否则在最后一步连接订阅服务器时无法连接(出现“[sql-dmo]必须使用sql server2005 管理工具才能连接到此服务器”粗无)。我们的目标服务器安装的是SQL Server 2008 R2,所以需要安装SQL Server 2008 R2 Management Studio

安装完成后首先连接到本机服务器,注意,服务器名称不能使用“(local)”或者IP,必须使用本机计算机名,登录方式使用SQL Server 身份认证。

要配置待发布的数据库,首先需要确保该数据库的“恢复模式”为“完整”,右键单击数据库,选择属性,然后选择“选项”,在“恢复模式”中设置为“完整”即可。

接下来就可以创建本地发布了,展开本机数据库,展开“复制”,在“本地发布”右键单击选择“新建发布”,如图5。

图5

点击下一步后选择待发布的数据库,点击下一步即进入选择发布类型的对话框,如图6所示。

图6

其中快照发布适合于表中无主键的数据表,每次复制时将数据全部复制过去;事务发布要求发布的数据表必须含有主键,否则无法复制。显然当数据量较大时,使用后者更好一些。如果数据库可以修改,建议将没有主键的表增加一个自增主键。这里由于源数据表中没有主键,也不能修改数据表结构,只能选择“快照发布”。点击下一步后出现选择要发布的内容的对话框,如果某个表不符合要求(如选择的事务发布但没有主键)则表名前出现禁止符号并且无法选择,如图7所示。

图7

再次点击下一步后出现自定义筛选数据的对话框,如果不需要筛选数据,点击下一步进入设置快照代理时间。快照代理即负责生成数据库的修改,可以设置为按天、周、月重复执行。这里每天推送一次,所以也只需要生成一次快照,如图8所示。如果打算设置完订阅后立即推送一次,可以选择勾选第一个选项。

图8

然后一路下一步即可完成发布的设置。

完成上述两步后就可以配置订阅了,订阅分为两种,分别是推式订阅和拉式订阅,前者由分发服务器连接订阅服务器,向订阅服务器推送数据;后者由订阅服务器连接分发服务器,向分发服务器拉取数据。所以在完成上一步后,“本地发布”中即出现了新创建的发布,右键单击选择“新建订阅”即可出现“新建订阅向导”对话框,点击下一步后已经选择了当前的订阅,继续点击下一步,出现订阅类型设置,如图9。

图9

这里选择“推式订阅”,然后点击下一步出现选择订阅服务器和订阅数据库的对话框,如图10所示。

图10

首先点击“添加 SQL Server 订阅服务器”添加订阅服务器,出现“连接到服务器”对话框,需要注意的是,订阅服务器也需要使用服务器名称登录。如果目标服务器与本地位于同一个局域网内,使用目标服务器名可以直接登录;否则则需要设置hosts文件,添加目标服务器IP与名称的对应关系才可以。登录方式同样使用SQL Server 身份认证。注意,修改完hosts重启之后才会生效。

添加完订阅服务器后,如果订阅服务器中有同名的数据库,则会自动显示在“订阅数据库”中。除此之外,订阅数据库需要登录账号有“db_owner”权限,否则不会显示在“订阅数据库”中,当然也可新建数据库。点击下一步后出现设置同步计划的对话框,如图11。

图11

代理计划可以设置为“连续运行”、“仅按需运行”或与创建发布时类似的自定义时间,其中“连续运行”指的是一直检查更新并推送到订阅服务器中,“仅按需运行”则需要手动执行,“定义计划”与创建发布时相同,可以设置重复执行的周期。如果每天只推送一次的话,可以设置在上一步快照代理执行时间之后的一个事件,设置完同步计划后下一步可以设置初始化时间,如图12。

图12

初始化时间可以设置为“立即”或“首次同步时”,如果上一步设置发布时选择的立即生成快照,同时这里选择“立即”初始化订阅的话,那么向导完成后会立即推送一次数据;否则将按预设的计划执行。

按上述设置完成后遇到了一个问题,在执行订阅代理时,出现“登录失败。该登录名来自不受信任的域,不能与 Windows 身份验证一起使用”的错误。但是查看发现不论本机服务器还是订阅服务器均使用SQL Server 身份认证。后来进入SQL Server 2000的企业管理器,在本机服务器的“复制”中右键单击,选择“配置发布、订阅服务器和分发”,然后点击订阅服务器,在订阅服务器的列表中点击之前设置的订阅服务器右侧的“...”,发现登录方式为“Windows 身份认证”。重新将订阅服务器的登录配置为SQL Server 身份认证即可解决该问题。

本文及文章中代码均基于“署名-非商业性使用-相同方式共享 3.0”,文章欢迎转载,但请您务必注明文章的作者和出处链接,如有疑问请私信我联系!

展开更多 50%)
分享

猜你喜欢

SQL Server 2000向SQL Server 2008 R2推送数据图文教程

编程语言 网络编程
SQL Server 2000向SQL Server 2008 R2推送数据图文教程

SQL Server 2008 R2 超详细安装图文教程

编程语言 网络编程
SQL Server 2008 R2 超详细安装图文教程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server 2008 R2数据库镜像部署图文教程

编程语言 网络编程
SQL Server 2008 R2数据库镜像部署图文教程

sql2008安装教程 SQL Server 2008 R2 安装图解

编程语言 网络编程
sql2008安装教程 SQL Server 2008 R2 安装图解

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

图文详解Windows Server2019 R2中安装SQL Server2008

编程语言 网络编程
图文详解Windows Server2019 R2中安装SQL Server2008

SQL Server 2008 r2 完全卸载方法分享

编程语言 网络编程
SQL Server 2008 r2 完全卸载方法分享

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

SQL Server 2008 备份数据库、还原数据库的方法

SQL Server 2008 备份数据库、还原数据库的方法

用ASP将SQL搜索出来的内容导出为TXT的代码

用ASP将SQL搜索出来的内容导出为TXT的代码
下拉加载更多内容 ↓