gpt4 book ai didi

sql-server - 无主键(唯一索引)的事务复制

转载 作者:行者123 更新时间:2023-12-03 02:25:19 24 4
gpt4 key购买 nike

我刚刚遇到了一些令人不安的事情,我试图从一个设计不受我们控制的数据库实现事务复制。这种复制是为了在不给系统带来太多负担的情况下执行报告。在尝试复制时,只有一些表被遍历。

在调查表中,由于没有主键,因此未选择复制表,我认为这不可能,如果我使用 ODBC 和 ms access 但不在 Management Studio 中,它甚至会显示为主键。而且查询也不是慢得离谱。

我尝试插入重复记录,但未能说明唯一索引(不是主键)。似乎这些表是使用唯一索引而不是主键来实现的。为什么我不知道我可以尖叫。

无论如何,是否有执行事务复制或替代方案,它需要处于事件状态(最后一两分钟)。主数据库服务器目前是 sql 2000 sp3a 和报告服务器 2005。

我目前唯一想尝试的就是将复制设置为另一种类型的数据库。我相信复制说 oracle 是可能的,这会强制使用 ODBC 驱动程序,就像我假设访问正在使用,因此显示主键。我不知道这是否符合我的深度。

最佳答案

如 MSDN states ,无法在没有主键的表上创建事务复制。您可以使用 Merge replication (一种方式),不需要主键,并且如果不存在,它会自动创建一个 rowguid 列:

Merge replication uses a globally unique identifier (GUID) column to identify each row during the merge replication process. If a published table does not have a uniqueidentifier column with the ROWGUIDCOL property and a unique index, replication adds one. Ensure that any SELECT and INSERT statements that reference published tables use column lists. If a table is no longer published and replication added the column, the column is removed; if the column already existed, it is not removed.

不幸的是,如果使用合并复制,您将会受到性能损失。

如果您仅需要使用复制来报告,并且不需要数据与发布者上的数据完全相同,那么您也可以考虑快照复制

关于sql-server - 无主键(唯一索引)的事务复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1164648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com