我刚刚遇到一些令人不安的事情,我试图从一个设计不受我们控制的数据库中实现事务复制.这种复制是为了执行报告而不会对系统造成太大的负担.在尝试复制时,只有一些表发生了.
由于调查表没有主键,因此没有选择复制调查表,我认为如果我使用ODBC和ms访问而不是在管理工作室中,它甚至不会显示为主键.查询也不是非常慢.
我尝试插入一个重复的记录,它没有说出一个唯一的索引(不是主键).似乎是使用唯一索引实现的表与主键相对.为什么我不知道我会尖叫.
无论如何都要执行事务复制或替代方案,它需要是实时的(最后一两分钟).主db服务器目前是sql 2000 sp3a和报告服务器2005.
我目前唯一想到的尝试就是将复制设置为另一种类型的数据库.我相信复制说oracle是可能的,这会强制使用像我假设访问正在使用因此显示主键的ODBC驱动程序.我不知道这是否准确无误.
我删除了与数据库“test”相关的所有发布和订阅。我现在拥有的只是与服务器中其他数据库相关的发布和订阅。尽管如此,它还是说“无法删除数据库‘测试’,因为它正在用于复制。”
我经常被要求更改我的公司SQL Server Transactional Publications上的过滤器,其中包含数百个表和大约400GB的行数据.
每当我需要更改过滤器时,我必须完全重新整理整个出版物并将其发送给订阅者,这个过程需要将近一整天才能完成.
我的问题:可以在不提供整个发布快照的情况下更改SQL Server复制过滤器吗?
我正在尝试进行事务复制并在查看快照代理状态时获取发布异常:
SQL Server 不支持区域设置标识符 (LCID) 8192
这是什么意思?解决方案?
我创建了一个发布者(在sql server 2008 r2上),创建事务复制并在订阅者sql实例(SQL Server 2012 Express)上创建了一个新数据库.在SQL Server 2012 Express上创建新订阅后.
但我的新数据库尚未通过同步更新.
在通过复制监视器的服务器SQL Server 2008 r2上,我可以看到状态是SQL Server 2012 Express的未初始化订阅,并且详细信息没有可用的复制事务.信息
我怎么解决它?
谢谢
sql-server replication sql-server-2008 transactional-replication