transactional-replication

SQL 2012 Server 数据库事务复制性能问题
transactional-replication

SQL 2012 Server 数据库事务复制性能问题

我们已经为客户的 .NET Web 应用程序配置了 SQL 2012 服务器数据库事务复制,以便在不同的 SQL 服务器上分发 SQL 事务和报告。 我们已经在作为主数据库服务器的 SQL-Node1 上实现了事务复制,我们已经在 SQL-Node2 上配置了主数据库的复制,以便将报告拉到我们的 Web 应用程序中,该应用程序具有大量的事务和从 Excel 表条目上传的数据,每天大约有 1000 万个条目。 在两台 SQL 2012 服务器上配置复制后,几周后我们遇到了一些性能问题,发现在将文件上传到数据库...

Admin

SQL Server 分发代理清理作业导致阻塞
transactional-replication

SQL Server 分发代理清理作业导致阻塞

我正在使用 SQL Server 事务复制,并且注意到每天在执行分发代理清理作业时,分发服务器的所有发布都会被阻止。我发现这种阻止持续长达 2 小时。一些订阅需要极低的延迟,所以这对我来说现在是一个大问题。 我读到过将 HistoryVerboseLevel 设置为 0 将停止记录到 MSdistribution_history 数据库。完成此操作后,我更改了分销商配置文件的订阅的阻止就消失了。然而,在三天之内,所有订阅都被标记为不活动。 我现在没有主意了,所以希望其他人能有解决方案。我的下一步是尝试在分发数据库上启用快照隔离,但感觉这是一种“大锤”方法...

Admin

是否有任何我可以实际使用的分布式事务文件系统实现?
transactional-replication

是否有任何我可以实际使用的分布式事务文件系统实现?

我一直在寻找分布式事务文件系统,这样我就不必自己做不达标准的实现。 我只遇到过两个: Warp 事务文件系统- 该网站不再可用,并且除非我获得生产代码的许可证,否则源代码无法投入生产 Wave 事务文件系统- 我找不到此的任何源代码 有没有流行的开源分布式事务文件系统?我原本以为至少有一个存在。 ...

Admin

SQL Server - 即使允许端口 1433,防火墙也会阻止复制
transactional-replication

SQL Server - 即使允许端口 1433,防火墙也会阻止复制

我有两台服务器,服务器 1 和服务器 2,都是独立的,Windows Server 2016 和 SQL Server 2017 使用默认实例。它们不是域成员,并且通过 VPN 连接(使用 Neorouter)。 我正在尝试使用推送订阅从服务器 1(本地)到服务器 2(远程)设置复制。 我创建了防火墙规则以允许端口 1433 通过,并已将服务器 2 设置为仅在 VPN IP 地址上侦听该端口。服务器 2 是默认实例,因此动态端口应该不是问题;尽管如此,我还是打开了 SQL 浏览器,并允许端口 1434 UDP 通过防火墙。 使用 SSMS 连接到服务器...

Admin

MS SQL 复制仅使用系统帐户运行
transactional-replication

MS SQL 复制仅使用系统帐户运行

我正在尝试使用 SQL Server 2012 配置新的复制 我配置了分发 在配置发布时,它要求用户运行快照代理。我为快照文件夹设置了一个具有正确权限的强用户。 现在我收到以下错误: 客户端不具备所需权限。步骤失败。– SQL 作业失败并出现错误 将 SQL 代理帐户更改为本地系统时,快照有效,但出于安全原因,我需要使用特定的 Windows 帐户运行 SQL 代理。 我该如何解决这个问题? ...

Admin

SQL Server 2008R2 事务复制停止并重新启动但继续日志备份
transactional-replication

SQL Server 2008R2 事务复制停止并重新启动但继续日志备份

在当前正在复制的数据库中,我想停止复制(停止日志读取器进程)一段时间,但我想继续对同一个数据库进行日志备份。 日志备份是否会释放日志以供重复使用,还是日志读取器任务会保持原样,以便执行复制以将事务复制到分发数据库?所有这些都假设日志的空间可用于日志增长。我认为,标记为复制但尚未分发的事务日志中剩余的内容不会被覆盖,但我想验证这一点。 如果是这样,当我重新启动日志读取器进程时,事务将被写入分发数据库,​​然后日志将继续像过去一样被处理并适当缩小。 ...

Admin

如果 SQL Server 复制分发服务器和订阅服务器位于同一台服务器上,是否应使用 PUSH 还是 PULL 订阅?
transactional-replication

如果 SQL Server 复制分发服务器和订阅服务器位于同一台服务器上,是否应使用 PUSH 还是 PULL 订阅?

在此先感谢您的帮助。 我正在设置新的 Microsoft SQL Server 复制,并且分发服务器和订阅服务器在同一台服务器上运行。发布服务器位于远程服务器上(因为它是生产数据库,并且 MS 建议对于大容量,分发服务器应位于远程服务器上)。 我不太了解 PUSH 订阅和 PULL 订阅的内部工作原理,但我的直觉告诉我 PUSH 订阅占用的资源较少,因为 (1) 分发服务器已经是远程的,所以这不会对发布服务器产生负面影响,并且 (2) 将事务从分发服务器推送到订阅服务器比订阅服务器轮询分发数据库更有效率。 是否有人有关于 PUSH 与 PULL 的资源...

Admin

复制是否比高频读取消耗更少的资源?
transactional-replication

复制是否比高频读取消耗更少的资源?

我正在开始开发一个新的网络应用程序,该应用程序需要从一开始就进行扩展设计。 我正在研究数据库复制和主/从复制(或发布者/订阅者 - 我认为这些是相同的东西,但如果我错了,请纠正我)的概念。 我一直在阅读的拓扑结构涉及主服务器处理所有数据库写入操作,从服务器处理所有读取操作。 我的问题是: 在从服务器必须尽可能接近实时数据的情况下,事务复制对主数据库的负载是否会比直接读取要小? 此外,从属服务器的性能是否不会受到事务复制的影响,就像它被写入一样? 总体而言,感觉就像引入复制后操作数量成倍增加 例如 数据被写入主数据库(由客户端) 从主数据库读...

Admin

SQL Server 2008 R2 复制日志读取器无法执行 sp_replcmds
transactional-replication

SQL Server 2008 R2 复制日志读取器无法执行 sp_replcmds

此日志读取器代理在几个月内运行良好,直到错误中引用的用户从域中删除。此后,收到错误“进程无法在‘SERVER’上执行‘sp_replcmds’”,更详细的内容是“无法获取有关引用该用户的 Windows NT 组/用户的信息”。 除了发布访问列表(随后将其从发布访问列表中删除)之外,日志读取器代理中没有任何地方引用此用户。代理仍然无法成功启动。 我认为,这里的简单问题是日志读取器代理是在该用户下创建的,但该代理在域中不再存在。是否有某个地方的“所有者”需要更改? 数据库上的所有其他功能继续成功执行。如能得到任何其他帮助或想法,我将不胜感激。 ...

Admin

如何将复制数据库 (SQL Server 2008 R2) 的文件移动到其他驱动器
transactional-replication

如何将复制数据库 (SQL Server 2008 R2) 的文件移动到其他驱动器

如果有人能帮助我解决以下问题,我将不胜感激: 我们在事务复制下使用两个 SQL Server 2008 R2 数据库:具有可更新订阅的事务发布。由于磁盘空间不足,我们需要将数据库文件移动到新驱动器。但我不想中断复制。 我正在寻找能够帮助我将文件移动到新驱动器的必要步骤。 谢谢 ...

Admin

sql server 对等复制 - 代理是否以 NT AUTHORITY\NETWORK SERVICE 身份运行?
transactional-replication

sql server 对等复制 - 代理是否以 NT AUTHORITY\NETWORK SERVICE 身份运行?

在测试台上,我尝试使 SQL Server 2005 对等(事务)复制正常工作,并让复制代理在该NT AUTHORITY\NETWORK SERVICE帐户下运行。 在此之前,我设置了对等复制,代理在 SQL Server 代理服务帐户(即系统帐户)下运行,并在 AD 中创建了一个包含机器帐户的安全组。我授予该组对数据库、PAL、分销商的必要权限。这很有效。 如果我尝试对以 NT AUTHORITY\NETWORK SERVICE(或 NT AUTHORITY\NETWORKSERVICE - 没有空格,我都试过了)身份运行的代理进行完全相同的设置,我会...

Admin

有什么理由复制 SQL Server 数据库以进行报告吗?
transactional-replication

有什么理由复制 SQL Server 数据库以进行报告吗?

我们正在升级我们的 ERP 应用程序以在 SQL Server 2008 R2 上运行。它目前作为基于文件的系统在其自己的 Server 2008 虚拟机中运行。SQL Server 将安装到该 VM 中。 我们有一个单独的虚拟机(在同一物理主机上),它运行 SQL Server 来处理其他数据。是否有理由(出于性能或其他原因)不惜一切代价将数据从 ERP SQL 服务器复制到另一台虚拟机?我最初的计划是出于报告目的进行复制,并减少 ERP SQL 服务器上的负载,但如果两个 SQL 服务器都在同一物理主机上,我看不出这样做会带来性能上的好处。 ...

Admin

SQL Server 订阅服务器迁移
transactional-replication

SQL Server 订阅服务器迁移

目前,我们有一个从 SQL Server 2005 OLTP 发布者/分发者到两个订阅者的单向事务复制(一个是 SQL 2005,另一个是 SQL2008 R2)。复制安全性通过 SQL 代理的域服务帐户实现(所有盒子都使用同一个帐户)。 SQL2008R2 订阅者用于 BI 目的并托管一个数据库,该数据库具有生产发布者数据库表的子集,具有不同的安全性和索引。 我们需要将此 BI 用户迁移到具有性能更强大的硬件的较新设备中。 该计划如下: 停止复制到 BI 盒(继续复制到其他订阅者)。 备份BI盒上的所有数据库(包括系统数据库)。 将所有...

Admin

SQL Server 2008 SP1 分区表的事务复制生成 StackDump
transactional-replication

SQL Server 2008 SP1 分区表的事务复制生成 StackDump

我有一个已发布的分区表,用于事务复制。尽管发布中的 allow_partition_switch = 1 和 replicate_partition_switch = 0 选项,但此表上的 SWITCH 操作似乎已复制到订阅服务器。 当我尝试在发布者上执行以下示例脚本时... 更改表 [PartitionedTable] 将分区 21 切换到 [PartitionedTable_SWAP] 分区 21 返回以下错误并生成堆栈转储。 来自 SPID 53 会话的用户请求生成了致命异常。SQL Server 正在终止此会话。请联系产品支持服务部​​门...

Admin

从 SQL Server 2008 到 2000 的事务复制
transactional-replication

从 SQL Server 2008 到 2000 的事务复制

我有从我的服务器 1 (MS SQL 2000) 到另一家公司 (在不同网络上) 的服务器 2 (MS SQL 2000) 的事务复制,并且它工作正常。我没有使用服务器 2 的真实名称,而是使用了引用服务器 2 的 IP 地址的别名。现在,我尝试设置从我的服务器 3 (MS SQL 2008) 到同一台服务器 2 (MS SQL 2000) 的事务复制。我可以使用相同的别名通过 SSMS 连接到服务器 2。但是,当我尝试使用它进行复制时,我收到一条消息,提示对于复制,我只能使用真实实例名称 (并且该消息提供了该真实名称!)。但是当我尝试使用它时,消息显示未找...

Admin