Questions tagged «transactional-replication»

4
群集,事务复制与可用性组
假设您需要确保依赖于SQL Server 2012的应用程序全天候可用,因为它的数据库后端即使一台服务器计算机出现故障也是如此。 作为开发人员而不是DBA,我努力了解何时使用哪种方案进行故障转移/高可用性: Windows故障转移群集中的两台(或更多)服务器,SQL Server作为群集实例 两个(或多个)SQL Server实例与事务复制保持最新 SQL Server可用性组中的两个(或更多)SQL Server,以同步提交模式配置 这些方案中的每个方案都适合哪种工作负载,这些方案可以处理哪种故障/停机?它们是否具有可比性/可互换性?


1
要复制的LOB数据(2135980)的长度超过配置的最大值65536
我收到复制错误“要复制的LOB数据长度(2135980)超过配置的最大65536”。 以前曾使用sp_configure将其设置为最大值(-1),并且对sys.configurations的查询确认正在使用最大值(-1)。 EXEC sp_configure 'max text repl size', -1 ; RECONFIGURE; GO select * from sys.configurations where name like 'max text repl size%'; GO 我尝试对“最大文本复制大小”使用较大的值,而不是对最大值进行设置,然后将其关闭然后再打开,都无济于事。 还有其他事情可能会覆盖“最大文本替换大小”设置,或者我可以看到的其他任何地方?

6
如何在MS SQL Server上修复混乱的复制
我从备份还原了数据库。数据库使用复制发布到其他服务器。假设数据库还原会破坏复制,我尝试删除该复制并重新创建它(我们有一个脚本可以从头开始重新创建它)。我不确定自己所做的确切,但是现在它处于完全混乱的状态,我无法修复。 首先,我尝试摆脱订阅(在发布服务器上): EXEC sp_dropsubscription @publication = 'PublicationName', @article = N'all', @subscriber = 'SubscriberServerName' 这似乎有效。SELECT * FROM syssubscriptions没有显示结果。在订阅服务器上,SSMS> {SubscriberServer}>复制>本地订阅-订阅不存在。 因此,我尝试删除该出版物。SSMS> {服务器}>复制>本地发布> {PublicationName}>删除。这给出以下错误信息: Could not delete publication 'PublicationName'. Could not drop article. A subscription exists on it. Changed database context to 'DatabaseName'. (Microsoft SQL Server, Error: 14046) 好的,所以我尝试删除文章: EXEC sp_droparticle @publication = …

1
从备份初始化事务复制
在设置要复制的发布时允许使用“从备份初始化”。我们已经创建复制数据库已有好几年了,并且始终从backkup进行初始化,但是从未设置过该标志(几天前我们才第一次注意到它)。复制当然一直都没有问题。 我发现有很多命中说明需要使用此方法,但没有一个可以解释原因。 有谁知道这实际上是什么?从我的角度来看,这似乎没有必要,但我认为我必须缺少一些东西。

1
无法截断事务日志log_reuse_wait_desc-AVAILABILITY_REPLICA
今天早上,我被我们的数据库之一的事务日志已满警报惊醒。该服务器是Alwayson群集,也是事务复制订阅服务器。我检查了log_reuse_wait_desc,它显示了logbackup。某人四天前不小心禁用了日志备份作业,我重新启用了日志备份作业,日志被清除。从凌晨4点开始,我想我将在那天早上晚些时候去上班,因为日志已经增长到400GB,所以请顺便去。 上午10点-我在办公室,我在缩小之前检查日志使用率,大约是16%。我很惊讶,检查显示复制的log_reuse_wait_desc。我很困惑,因为这是一个复制订户。然后,我们看到该数据库已启用CDC,并认为这可能是原因,因此禁用了CDC,现在log_reuse_wait_desc显示了AVAILABILITY_REPLICA。 同时,日志使用量仍在稳定增长,目前为17%。我检查了Alwayson仪表板,并检查了已发送和重做队列,两者实际上都为零。我不确定为什么日志重用显示为AVAILABILITY_REPLICA并且无法清除日志。 知道为什么会这样吗?

1
服务器崩溃后如何还原复制
我们在一个SQL Server 2005实例上有两个数据库,它们之间具有事务复制(作为文章有3个表)。该服务器既充当发布者又充当分发者。 然后服务器上的RAID发生故障。但是.mdf,在崩溃之前,我们设法分离并复制了几乎所有文件。 还原系统后,我们重新安装了SQL Server,还原了系统数据库(主数据库,模型数据库,msdb数据库)并将.mdf文件放置在相同的路径中。就这样开始了。 复制出现问题。尽管“ 本地订阅”文件夹包含有问题的订阅,但“ 本地出版物”文件夹为空。当我尝试添加新出版物时,我得到了: 新发布向导在检索发布名称时遇到一个或多个错误。 执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo) 无效的对象名称“ dbo.syspublications”。(Microsoft SQL Server,错误:208) 我决定尝试删除左侧订阅(最终我设法做到了)并禁用服务器上的发布和分发,这给了我: SQL Server无法禁用“ someserver”上的发布和分发。 无效的对象名称“ dbo.syssubscriptions”。EXECUTE之后的事务计数表明缺少COMMIT或ROLLBACK TRANSACTION语句。上一个计数= 0,当前计数=1。EXECUTE之后的事务计数指示缺少COMMIT或ROLLBACK TRANSACTION语句。上一个计数= 0,当前计数=1。EXECUTE之后的事务计数指示缺少COMMIT或ROLLBACK TRANSACTION语句。上一个计数= 0,当前计数=1。EXECUTE之后的事务计数指示缺少COMMIT或ROLLBACK TRANSACTION语句。上一个计数= 0,当前计数=1。EXECUTE之后的事务计数指示缺少COMMIT或ROLLBACK TRANSACTION语句。先前计数= 0,当前计数=1。将数据库上下文更改为'master'。(Microsoft SQL Server,错误:208) 似乎某些信息未从系统数据库备份中恢复(可能distribution数据库可能丢失了某些内容)。 我也尝试遵循无法禁用发布和分发中给出的答案。但是没有成功。我尝试syspublications同时在master和中创建distribution,但未更改。 那么,如何使复制在该服务器上工作? 试图在服务器上发布一些其他数据库,并且可以正常工作。因此,问题似乎与已发布的数据库有关。如何清除它以管理在其上创建新出版物? System Tables 问题数据库的子文件夹将丢失发布数据库时创建的复制表。 在复制监视器中,我可以看到那些旧的订阅,但在Replication文件夹中不可用 。

2
SQL Server:事务复制计算列
我是事务复制订阅的订阅者。我无法控制发布者。 我已阅读以下有关对发布数据库进行架构更改的文章: 在发布数据库上进行架构更改 但是,我正在尝试更改订阅端的架构(如果可能)。我想知道事务复制是否支持将持久性计算列添加到订户表。 与为需要计算值的每个表添加新视图相比,我更喜欢此解决方案。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.