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 订阅过期解决方法的更多相关文章
- Microsoft VS 2008 过期解决方法破解方法
Microsoft VS 2008 过期解决方法电脑上的Microsoft Visual Studio 2008 Team System 试用版提示离过期还有**天.于是百度,搜索结果大多是以下两种解 ...
- sqlserver 2000数据压缩解决方法
--sqlserver 2000数据压缩解决方法. /************************************************************************* ...
- PL/SQL Developer过期解决方法
参考资料: plsql过期解决方法 plsql永久注册码适用个版本 方法一: 1.首先,登陆PL/SQL Developer,PL/SQL Developer要到期了 2.输入指令“regedit”打 ...
- Navicat for MySQL(Ubuntu)过期解决方法
推荐购买正版软件,尊重版权 [官网在这里] Navicat for MySQL(Ubuntu系统)免费版试用过期解决方法: Step1. 直接删除 /home目录下的 .navicat文件夹(64 ...
- 传奇GOM引擎授权过期解决方法.
传奇GOM引擎授权过期解决方法 下载最新的GOM引擎,将里面的Key.Lic文件找出来,替换掉授权过期的版本,如果你本身是免费版最好是找同样的免费版的来覆盖. 如果你本身是免费版,但是却用的是商业版K ...
- sqlserver错误126解决方法
是不是很尴尬! 华丽的分割线下便是解决方法: 1.打开sqlserver配置管理器. 2.选择sqlserver网络配置,并禁用VIA协议确定保存. 3.在服务里面启动[SQL Server (SQL ...
- 连接WCF报EntityFramework.SqlServer 错误的解决方法
现象: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFram ...
- SSRS 数据源访问Cube 无法创建订阅的解决方法
SSRS Report 的数据源可以直接放问SSAS 的Cube. 当报表的数据源设置成下图: 这样设置后,report 能够正常访问 Cube 并打开Report. 但是,如果我们需要添加数据驱动的 ...
- plsql过期解决方法
1.首先,登陆PL/SQL Developer,PL/SQL Developer要到期了 2.输入指令“regedit”打开注册表,如图所示 3.然后,在注册表里按HKEY_CURRENT_USER\ ...
随机推荐
- 【iOS】怎样推断文本文件的字符编码格式
整体思路: 遍历全部的字符编码.能正确读取输出转换的就是文本文件的编码格式. 代码例如以下: // // main.m // 检測文本字符编码格式的小技巧 // // Created by 杜子兮 ( ...
- transform、accumulate —— C++ 下的 MapReduce
accumulate:Map,逐元素分别单独处理: 注:for_each:不改变区间元素的内容,所以更多的是输出打印等功能: accumulate:Reduce,整体化归为一个单独的数值: 两个函数均 ...
- Elasticsearch v5.4
在Windows上安装Elasticsearch v5.4.2 前言 最近项目里为了加快后台系统的搜索速度,决定接入开源的搜索引擎,于是大家都在对比较常用的几个开源做技术调研,比如Lucene+盘 ...
- js进阶-9-3/4 form对象有哪些常用属性
js进阶-9-3/4 form对象有哪些常用属性 一.总结 一句话总结: 1.一般html标签有哪些常用属性:name id value 2.form对象有哪些常用属性(特有):action meth ...
- js如何操作表格(常用属性方法汇总)
js如何操作表格(常用属性方法汇总) 一.总结 一句话总结: 二.表格相关的属性和方法 1.1 Table 对象集合 cells[] 返回包含表格中所有单元格的一个数组. 语法:tableObject ...
- Java循环输出一个菱形与阶乘倒数
package javafirst; public class HomeWork { public static void main(String[] args){ System.out.printl ...
- 【项目积累】对JSON数据的处理
[项目简述] 接触.NET项目非常长一段时间了,前台用的都是MVC框架.不知道大家是否想过一个问题.我们是怎样将数据显示到前台的,换句话说,MVC能够识别怎么样的数据形式?答案非常ea ...
- spark action之saveastextfile
java /** *saveastextfile 把rdd中的数据保存到文件中,只能指定文件夹 *@author Tele * */ public class SaveasTextFileDemo1 ...
- 【21.37%】【codeforces 579D】"Or" Game
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- tomcat启动时自动加载一个类 MyServletContextListener
目的: 我们知道在tomcat启动后,需要页面请求进行驱动来执行操作接而响应.我们希望在tomcat启动的时候能够自动运行一个后台线程,以处理我们需要的一些操作.因此需要tomcat启动时就自动加载一 ...