sql server replication遇到的一些问题
来源:互联网 发布:数据库管理系统课题 编辑:程序博客网 时间:2024/05/01 00:59
尝试了一下sql server的复制功能
1. 修改SQL Server 2008数据库服务器名称
最初设置的计算机名不符合公司规范,所以改了一下,新建“本地发布”的时候会报错,需要实际的服务器名称,修改数据库服务器名称就可以了
select @@ServerName --查看当前的服务器名sp_dropserver 'test' --将这个服务器名删除sp_addserver 'test2','LOCAL' 将本地服务器重新添加到服务器表中,并且命名为test2
2. SQL Server 阻止了对组件 'Agent XPs' 的 过程'dbo.sp_set_sqlagent_properties' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Agent XPs'。有关启用 'Agent XPs' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 (Microsoft SQL Server,错误: 15281)
sp_configure 'show advanced options', 1;GORECONFIGURE;GOsp_configure 'Agent XPs', 1;GORECONFIGUREGO
3.发布中有主外键关联的表,仅发布子表
经过使用Northwind数据库做尝试,仅发布子表时,只保留主键,即使再增加一个父表的发布,也不会恢复主外键关联。同时发布父表和子表,会保留主外键关联。看来这是sql server复制解决外键冲突的办法
4. 订阅类型和指定优先级的合并冲突
http://technet.microsoft.com/zh-cn/library/ms152513.aspx
若要了解根据指定优先级值解决冲突的方法,以及一个订阅是服务器订阅还是客户端订阅,请考虑以下示例,该示例描述了在几项合并同步中对一行所作的一系列更新。
以下是一个基本合并复制拓扑中的四个站点的初始优先级值(一个发布服务器、两个具有服务器订阅的订阅服务器和一个具有客户端订阅的订阅服务器)。
站点
类型
优先级值
A
Publisher
100.00
B
Server Subscription
75.00(分配值)
C
Server Subscription
50.00(分配值)
D
Client Subscription
0.00(默认值)
最初,站点 A(发布服务器)创建包含值等于 Nebraska 的行的第一版,该行在下一次的合并同步中复制到站点 B、C 和 D。 同步后该行的值如下。
站点
优先级值
行值
A(发布服务器)
100.00
Nebraska
B(服务器订阅)
75.00
Nebraska
C(服务器订阅)
50.00
Nebraska
D(客户端订阅)
0.00
Nebraska
站点 A 把该行值更新为 Texas,而站点 B 把该行值更新为 New Jersey。 在下一次合并同步发生时,站点 A 和站点 B 之间发生冲突。站点 A 在冲突中入选。 冲突入选方站点 A 的值传播到站点 B、C 和 D。
站点
优先级值
行值
A(发布服务器)
100.00
Texas
B(服务器订阅)
75.00
Texas
C(服务器订阅)
50.00
Texas
D(客户端订阅)
0.00
Texas
假定站点 C 更新该行(更改为 North Carolina)并与发布服务器同步。 这不是冲突,因为 C 已经成功地合并了来自 A 的最新的更新(成功合并了行值 =“Texas”)。 然后假定站点 B 更新该行(更改为 Idaho)。
站点
优先级值
行值
A(发布服务器)
100.00
North Carolina
B(服务器订阅)
75.00
Idaho
C(服务器订阅)
50.00
North Carolina
D(客户端订阅)
0.00
Texas
站点 B 与发布服务器同步时发生更新冲突。 因为站点 B 与站点 C 都是服务器订阅,而站点 B 的优先级比站点 C 的高,所以站点 B 在冲突中入选。 当其他两个站点也合并之后,站点 B 的值就传播到其他订阅服务器上。
站点
优先级值
行值
A(发布服务器)
100.00
Idaho
B(服务器订阅)
75.00
Idaho
C(服务器订阅)
50.00
Idaho
D(客户端订阅)
0.00
Idaho
假定站点 D 更新行(更改为 New Mexico)并与发布服务器同步。 然后假定站点 B 更新行(更改为 California)。
站点
优先级值
行值
A(发布服务器)
100.00
New Mexico
B(服务器订阅)
75.00
California
C(服务器订阅)
50.00
Idaho
D(客户端订阅)
0.00
New Mexico
站点 B 与发布服务器同步时发生更新冲突。 与前一示例不同,因为站点 D 具有一个客户端订阅,所以它在同步时采用发布服务器(站点 A)的优先级值。 因为站点 A 的优先级高于站点 B,所以站点 B 在冲突中落选;最初输入站点 D 的值入选。 (假如订阅服务器 B 先于订阅服务器 D 与站点 A 同步,则站点 B 当在冲突中入选。) 站点 D 在冲突中入选依靠的是发布服务器自在站点 D 上更新的行版本上次同步后尚未更改或接收另一更改。 如果任何具有服务器订阅的订阅服务器或者任何其他具有客户端订阅的订阅服务器先行同步,则遵循最高优先级或“最先进入发布服务器者入选”的规则。
所有站点都同步之后的最终值所示如下。
站点
优先级值
行值
A(发布服务器)
100.00
New Mexico
B(服务器订阅)
75.00
New Mexico
C(服务器订阅)
50.00
New Mexico
D(客户端订阅)
0.00
New Mexico
当服务器订阅和客户端订阅在拓扑中的同一级混用时,同步的顺序和优先级的值决定着冲突的结果。 这最后一组更新说明了为什么必须慎重。 尽管该订阅服务器在三个订阅服务器中的优先级值最低,但是由于它首先与发布服务器同步(从而采用发布服务器的优先级值 100.00),所以在冲突中入选。 假如是站点 C(服务器订阅,优先级值 50.00)而非站点 D 输入了 New Mexico,则站点 B(服务器订阅,优先级值 75.00)当在冲突中入选,那么结果就会是 California。
- sql server replication遇到的一些问题
- SQL Server Replication(复制)中遇到的问题
- sql server 2005 遇到的一些问题
- Sql Server 导入 My Sql 遇到的一些问题 。。。
- sql server 2005安装过程中遇到的一些问题
- SQL Server 2005 & 2008 遇到的一些问题
- 使用 sql server 2008过程中遇到的一些问题!
- 关于我在SQL server中遇到的一些问题
- SQL Server 遇到的问题
- sql server 2000中的数据库附加到sql server 2005中会遇到的一些问题
- SQL Server的一些问题
- SQL Server Replication的不错的文档
- 【rubycas-server】遇到的一些问题记录
- SQL server replication的三种方式
- sql server 2000的合并复制及遇到的一些问题
- SQL Server-- Replication
- SQL Server Replication
- SQL Server Replication II
- emacs之行六-使用etags创建TAGS文件
- 实践任务1
- java面试题二
- NCBI accession number, GI and GeneID
- 正则表达式
- sql server replication遇到的一些问题
- Display status of all Concurrent Managers
- linux的inode暴增
- JAVA web service --- overview
- Android防止内存溢出浅析
- linux 和win7 双系统模式下 忘记win7 密码的修改方法
- Android蓝牙开发浅析
- jsp页面传参乱码解决
- file_operation结构体详解