AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

    • 主页
    • 系统&网络
    • Ubuntu
    • Unix
    • DBA
    • Computer
    • Coding
    • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[merge-replication](server)

Martin Hope
Refracted Paladin
Asked: 2010-04-01 06:58:55 +0800 CST

不同数据库中的过滤器需要 1 个数据库中的表中的数据

  • 6

我有一个使用 4 个单独数据库的 Win Form、Data Entry、应用程序。这是一个偶尔连接的应用程序,它使用合并复制 ( SQL 2005 ) 保持同步。这工作得很好。我要解决的下一个障碍是在我的出版物中添加过滤器。

现在,我们正在向 150 个订阅者中的每个订阅者复制 70mbs,压缩后,事实上,他们只需要其中的一小部分。使用过滤器我可以做到这一点(见下面的代码),但我必须制作一个映射表才能做到这一点。此映射表由 3 列组成。PrimaryID(Guid)、WorkerName(varchar) 和 ClientID(int)。

问题是我需要所有四个数据库中都存在此表才能将其用于过滤器,因为据我所知,过滤器语句中不允许视图或跨数据库查询。

我有哪些选择?

似乎我会将其设置为在 1 个数据库中维护,然后使用触发器在其他 3 个数据库中保持更新。为了成为过滤器的一部分,我必须将该表包含在复制集中,所以我该如何适当地标记它。

有更好的方法吗?

SELECT <published_columns> FROM [dbo].[tblPlan] WHERE [ClientID] IN (select ClientID from [dbo].[tblWorkerOwnership] where WorkerID = SUSER_SNAME())

这允许您将过滤器链接在一起,下一个位于第一个下方,因此它仅从第一个过滤集中提取。

SELECT <published_columns> FROM [dbo].[tblPlan] INNER JOIN [dbo].[tblHealthAssessmentReview] ON [tblPlan].[PlanID] = [tblHealthAssessmentReview].[PlanID]
sql-server sql-server-2005 replication filtering merge-replication
  • 2 个回答
  • 377 Views
Martin Hope
Refracted Paladin
Asked: 2010-03-19 06:11:16 +0800 CST

在 SQL 复制中更改存储过程

  • 3

我如何正确地ALTER在 SQL 2005 合并复制中使用 StoredProcedure?

我只需要添加一个列。我已经成功地将它添加到表中,现在我需要将它添加到 SP。我这样做了,但现在它不会与以下错误同步-->

Insert Error: Column name or number of supplied values does not match table definition. (Source: MSSQLServer, Error number: 213)

在下面添加我的评论以便于查看

是的,表更改已被复制。然后,由于列关闭,存储过程停止工作,所以我对存储过程进行了 ALTER 并尝试复制它。现在它不会同步

sql-server sql-server-2005 replication merge-replication
  • 1 个回答
  • 999 Views
Martin Hope
Refracted Paladin
Asked: 2010-03-18 03:26:45 +0800 CST

这会强制合并复制拓扑重新初始化吗?

  • 4

我需要向作为复制集一部分的表添加几列。它不是约束列或任何文章过滤器的一部分,它允许 NULL。我有一个很好的主意,我可以运行它 -->ALTER TABLE tblPlanDomain ADD ReportWageES VARCHAR (100) NULL

不要强迫我所有的客户重新初始化,但我希望能得到一些保证。任何人都可以以一种或另一种方式为我验证吗?

谢谢,


编辑:添加信息

这就是我所说的 --> http://msdn.microsoft.com/en-us/library/ms151870.aspx

基于此,我的问题的答案似乎是否定的,但我仍然希望得到人工确认。

sql-server sql-server-2005 replication merge-replication
  • 2 个回答
  • 712 Views
Martin Hope
Developer404
Asked: 2010-02-20 04:30:13 +0800 CST

开始同步时出错

  • 1

我正在使用合并复制进行数据库同步。启动复制监视器时出现以下错误。我可以访问双方。还是有问题。

错误消息:进程无法连接到订阅服务器“DTECH\SQL2008”。(来源:MSSQL_REPL,错误号:MSSQL_REPL20084) 网络接口:系统检测到可能尝试破坏安全性。请确保您可以联系对您进行身份验证的服务器。(来源:MSSQLServer,错误号:-2146892976)无法生成 SSPI 上下文(来源:MSSQLServer,错误号:-2146892976)无法验证对发布“Pub_Smster”的订阅。确保正确指定所有合并代理命令行参数并且正确配置订阅。如果发布者不再拥有有关此订阅的信息,请删除并重新创建订阅。(来源:MSSQL_REPL,错误号:MSSQL_REPL-2147201019)

有人知道这个错误吗?我失踪了?

sql-server-2008 merge-replication
  • 0 个回答
  • 730 Views
Martin Hope
Refracted Paladin
Asked: 2010-02-19 13:54:07 +0800 CST

复制同步失败;发布者超出身份范围

  • 3

我使用 SQL 2005 发布者/分发者和大约 100 个 SQL 2005 Express 订阅者设置了合并复制。几个月来一切都很好,现在突然之间每个人都遇到了以下错误。

我一直在谷歌搜索,但无济于事。谁能提供一些见解?我什至尝试删除用户的订阅。我也试过运行 -->

sp_adjustpublisheridentityrange @publication='MyDB'

无论如何,这是错误-->

Error messages:
The Publisher failed to allocate a new set of identity ranges for the subscription. This can occur when a Publisher or a republishing Subscriber has run out of identity ranges to allocate to its own Subscribers or when an identity column data type does not support an additional identity range allocation. If a republishing Subscriber has run out of identity ranges, synchronize the republishing Subscriber to obtain more identity ranges before restarting the synchronization. If a Publisher runs out of identit (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147199417)
Get help: http://help/MSSQL_REPL-2147199417
Not enough range available to allocate a new range for a subscriber. (Source: MSSQLServer, Error number: 20668)
Get help: http://help/20668
Failed to allocate new identity range. (Source: MSSQLServer, Error number: 21197)
Get help: http://help/21197
sql-server sql-server-2005 replication merge-replication
  • 1 个回答
  • 3016 Views
Martin Hope
Refracted Paladin
Asked: 2010-02-04 05:54:49 +0800 CST

SQL 合并复制 - 过滤器集

  • 2

我在 SQL 2005 中有一个“工作”复制集,我们在内部使用它给 SQL Express 2005 上远程分支的用户。我想对我们最大的集应用一个过滤器,以帮助最大限度地减少带宽影响。我要问的是在将过滤器放在那里之前我需要考虑哪些因素。它会引起我应该注意的任何问题吗?是否会对压缩产生不利影响。每个人申请后都需要重新初始化吗?

任何抬头或洞察力将不胜感激。

谢谢,

编辑

这是一个快照,显示了我正在谈论的压缩设置。 SQL 2005 压缩设置

此外,如有必要,我可以包含压缩快照的照片。

谢谢您的帮助。

sql-server sql-server-2005 replication filtering merge-replication
  • 1 个回答
  • 240 Views
Martin Hope
Refracted Paladin
Asked: 2010-02-03 10:46:03 +0800 CST

过滤前 2 名的复制集

  • 1

我有一个我们在合并复制(SQL 2005)中使用的复制集。我试图弄清楚如何将前 2 的过滤器应用于表格。

此外,有没有办法设置过滤器,以便它向下渗透到子表,或者我需要以不同的方式处理它?

我正在查看的是我正在复制到用户笔记本电脑的计划数据库。我只想复制最后两个计划,并且只复制这两个计划的关联数据。例如,有一个列出与某个计划相关的所有药物的药物表。我只想复制与前 2 个计划之一相关的药物表上的行。

我不知道我应该怎么做。我在“发布属性”中看到了“过滤器”选项,但它是按表格的,而且我似乎没有 Top 2 的选项。

sql-server sql-server-2005 replication merge-replication
  • 1 个回答
  • 68 Views
Martin Hope
Asked: 2010-01-28 08:41:18 +0800 CST

SQL Server 2005 将复制合并到 SQL Server CE 3.5

  • 1

在我的组织中,我们有一个 SQL Server 2005 数据库服务器 (DBServer)。应用程序的用户通常会连接到 DBServer,但偶尔会希望断开连接并在使用 SQL Server Compact Edition 3.5 (SQLCE) 的笔记本电脑上继续工作。

因此,我们一直在研究在 DBServer 和 SQLCE 之间使用合并复制。根据我对这个过程的了解,IIS 必须安装在“服务器”上......但是,我没有发现这是在谈论 DBServer 还是 SQLCE。我假设文档指的是 DBServer,并向我们的网络人员提出了这个建议。

这个想法很快就被搁置了,因为在内部服务器上安装 IIS 不是我们的政策。这就是我们的 SQL Server 2005 Web 服务器 (WebServer) 进入画面的地方。这个想法是 IIS 将安装在 WebServer 上,并将成为 DBServer 和 SQLCE 进行通信的管道。

起初这听起来是个好主意,直​​到我开始寻找有关此类设置的文档。我所能处理的一切都是 DBServer --> SQLCE --> DBServer 设置... DBServer --> WebServer --> SQLCE --> WebServer --> DBServer 上没有任何内容。

问题:

  1. 使用 3 台服务器设置是否理想?
  2. 有没有人有关于这种设置的文档?
  3. IIS 是否甚至需要在其中一台大型服务器上运行,或者它是否可以在装有 SQLCE 的笔记本电脑上运行?(我真的很喜欢这个选项;))
sql-server sql-server-2005 iis merge-replication
  • 1 个回答
  • 369 Views
Martin Hope
user32762
Asked: 2010-01-25 15:32:53 +0800 CST

合并分区服务器 2003

  • 2

我刚刚安装了新的 500gig 驱动器来替换运行 Windows 2003 Server 的 RAID 服务器中的 160gig 驱动器。

我想知道是否有人可以推荐一个实用程序来帮助我恢复新驱动器上的所有新空间,并将我现有的 2 个分区合并为一个。我知道我可以重新安装所有东西,但我希望有一个价格合理的实用程序可以购买来完成这项工作。

我正在运行带有 2 个驱动器的 RAID 镜像。

merge-replication
  • 2 个回答
  • 78 Views
Martin Hope
Brian Dunzweiler
Asked: 2009-09-04 05:50:34 +0800 CST

合并复制发布订阅者场景

  • 1

我有一个 SQL 2008 -> SQL 2000 -> MS Access 2003 的合并发布订阅者拓扑。在 SQL 2008 级别的一个数据库中,我有一个未过滤的可更新发布(称为目录),由 SQL 2000 服务器订阅,然后重新发布到 MS Access 客户端。我可以在 MS Access 订阅者处进行插入/更新,它们可以很好地流向 SQL 2008 服务器。在 SQL 2008 的另一个数据库中,我有一些出版物。第一个发布具有基于区域值的静态过滤器。另一个发布是订单和行的未过滤发布。这两个发布都由 SQL 2000 机器订阅到与目录发布分开的数据库。在 SQL 2000 级别,我为每个用户创建过滤发布,这些发布从过滤后的表中提取,然后连接到订单表。我可以创建 MSAccess 出版物并将它们同步下来。问题是当我在任何过滤表中进行更改时。我看到更新命中 SQL 2000 服务器,但它没有流向 SQL 2008 服务器。我尝试了一个虚拟更新,然后更改流向了 SQL 2008 机器。任何想法为什么上传到 SQL 2000 中过滤表的更改不会传播到 SQL 2008 机器?

sql-server replication merge-replication
  • 1 个回答
  • 631 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助
subwaysurfers
my femboy roommate

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve