原文:SQLServer 订阅过期解决方法

由于分发数据库执行一个较长的事务,达到了系统预定的72小时,导致了该订阅过期,数据库分发代理已不可再启用,提示错误如下:

错误信息:已将此(这些)订阅标记为不活动,必须将其重新初始化。需要删除 NoSync 订阅,然后重新创建它们

右键订阅,发现该订阅已处于不活的状态!~

怎么解决?难道要重新初始化??!

后来找到一个系统的存储过程 sp_changesubstatus,该存储过程可以更改订阅的3种状态:active 、inactive、subscribed。

--此存储过程在发布服务器的发布数据库中执行
exec sp_changesubstatus
@publication = 'your publication name'
,@subscriber = 'your subscriber name'
,@status = 'active'

执行之后,重新关闭和启动该分发代理作业,发现没有作用!~提示还是一样!~后来发现,如果订阅过期,该存储过程是无法更改的,更改无效!~

关于订阅的活动状态,还有一个地方可以更改,即更改分发库中的一个表 MSsubscriptions 的状态字段(0 = 不活动;1 = 已订阅;2 = 活动),订阅中的每个已发布项目在MSsubscriptions表中占一行。

--select * from distribution.dbo.MSpublications
--select * from distribution.dbo.MSsubscriptions where status<>2 update sub set status = 2
from distribution.dbo.MSsubscriptions sub
where status<>2 and publication_id=27

执行之后,重新关闭和启动该分发代理作业,很快,复制正常了!~

在发布和订阅库测试操作数据,同步正常!总是完成了!~

注:即使订阅过期或处于不活动状态,订阅服务器中的更新仍会传播到发布服务器中。

此外,由于系统默认最大事务保质期为72小时,如果有事务在这期间没有传递到订阅,则“清除分发”作业标记为停用,该订阅的事务将被清空。如果订阅过期超过336小时(14天),则订阅将被“过期的订阅清除” 作业执行删除。(更多参考订阅过期和停用

为了避免过期导致的问题,有两种方法设置:

1. 禁用“过期的订阅清除” 作业;

2. 设置更长的保质期。

本文出自“Hello.KK
(SQL Server)
”的博客,转载请务必保留此出处http://blog.csdn.net/kk185800961/article/details/46688827

SQLServer 订阅过期解决方法的更多相关文章

  1. Microsoft VS 2008 过期解决方法破解方法

    Microsoft VS 2008 过期解决方法电脑上的Microsoft Visual Studio 2008 Team System 试用版提示离过期还有**天.于是百度,搜索结果大多是以下两种解 ...

  2. sqlserver 2000数据压缩解决方法

    --sqlserver 2000数据压缩解决方法. /************************************************************************* ...

  3. PL/SQL Developer过期解决方法

    参考资料: plsql过期解决方法 plsql永久注册码适用个版本 方法一: 1.首先,登陆PL/SQL Developer,PL/SQL Developer要到期了 2.输入指令“regedit”打 ...

  4. Navicat for MySQL(Ubuntu)过期解决方法

    推荐购买正版软件,尊重版权  [官网在这里] Navicat for MySQL(Ubuntu系统)免费版试用过期解决方法: Step1. 直接删除 /home目录下的  .navicat文件夹(64 ...

  5. 传奇GOM引擎授权过期解决方法.

    传奇GOM引擎授权过期解决方法 下载最新的GOM引擎,将里面的Key.Lic文件找出来,替换掉授权过期的版本,如果你本身是免费版最好是找同样的免费版的来覆盖. 如果你本身是免费版,但是却用的是商业版K ...

  6. sqlserver错误126解决方法

    是不是很尴尬! 华丽的分割线下便是解决方法: 1.打开sqlserver配置管理器. 2.选择sqlserver网络配置,并禁用VIA协议确定保存. 3.在服务里面启动[SQL Server (SQL ...

  7. 连接WCF报EntityFramework.SqlServer 错误的解决方法

    现象: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFram ...

  8. SSRS 数据源访问Cube 无法创建订阅的解决方法

    SSRS Report 的数据源可以直接放问SSAS 的Cube. 当报表的数据源设置成下图: 这样设置后,report 能够正常访问 Cube 并打开Report. 但是,如果我们需要添加数据驱动的 ...

  9. plsql过期解决方法

    1.首先,登陆PL/SQL Developer,PL/SQL Developer要到期了 2.输入指令“regedit”打开注册表,如图所示 3.然后,在注册表里按HKEY_CURRENT_USER\ ...

随机推荐

  1. [javase学习笔记]-6.6 基本数据类型參数与引用数据类型參数的传递过程

    这一节基本数据类型參数和引用数据类型參数的传递过程. 数据类型參数和引用參数我们在前面章节中都已涉及到了,那么我们来看看以下的两段代码: //基本数据类型參数传递 class Demo { publi ...

  2. Python将被加入高考科目?你怎么看?

    今天看到这样的一则新闻:不禁感叹,人工智能这股风来的太快,已经掀起全民学习Python的浪潮. 2017年中观察:看上去这个大纲内容基本是这样了,但是实行年份可能要往后推了,不在2017年执行了(据说 ...

  3. Linux修改windows中文本文件出现的^M

    换行符的Linux与windows文本文件是不一致的,需要通过 :%s/^M$//g 其中^M的输入使用ctrl+v+m 可以删除^M

  4. 课堂随笔03--for循环及两个循环中断关键字

    for (int i = 1; i <= 8;i++) {}  for循环可嵌套,执行指定次数,可用作计数. 用两个for循环嵌套,可以方便控制行列的输出. break:中断循环 continu ...

  5. 自己动手写shell命令之ls

    linux下ls命令(支持-R參数)的c语言实现: #include <stdio.h> #include <sys/types.h> #include <dirent. ...

  6. tensorflow 的版本差异与变化

    官方文档的说明,Transitioning to TensorFlow 1.0 1. 简单列举如下 变量 tf.VARIABLES ⇒ tf.GLOBAL_VARIABLES tf.all_varia ...

  7. SpringBoot项目优化和Jvm调优(楼主亲测,真实有效)

    项目调优 作为一名工程师,项目调优这事,是必须得熟练掌握的事情. 在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行. 在这边有一篇比较好的文章,推荐给大家! Spring ...

  8. Apparatus, system, and method for automatically minimizing real-time task latency and maximizing non-real time task throughput

    An apparatus, system, and method are provided for automatically minimizing Real-Time (RT) task laten ...

  9. JS中构造函数与原型对象的同名属性,实例会取哪一个

    构造函数与原型对象的同名属性,实例会取哪一个? 看了下面的过程,再回忆JS高程3里关于这部分的示意图.实例my在new的时候,本身就获得了a属性,所以my.a是1,倘若在new的时候如果没有赋予a属性 ...

  10. 【17.00%】【codeforces 621D】Rat Kwesh and Cheese

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...