我有一个 SQL Server 2008 R2 服务器,其中包含一堆当前在兼容级别 90 (2005) 下运行的已发布数据库。
订阅数据库也是 SQL Server 2008 R2,但是目标数据库设置为兼容性级别 100,并且复制工作正常。
如果我更改已发布数据库的兼容性级别,它会以任何方式影响复制,还是只是重新初始化所有订阅并重新启动复制的情况?
我怀疑更改已发布的数据库兼容性级别可能会稍微改变复制存储过程的功能,但我不是 100% 确定。
是这种情况吗?
我们最近在多次接近中断后停用了一个实施得相当糟糕的服务代理设置,但是在我早上检查时,我注意到有 2 个服务代理内部 SPID (<50) 仍然持有约 75% 的 TempDB空间。
现在,我知道这些是服务代理任务,因为 SysProcesses 上的 CMD 列显示“BRKR EVENT HNDLR”和“BRKR TASK”,而最后的等待类型分别是“BROKER_EVENTHANDLER”和“SLEEP_TASK”。两者都将“背景”作为状态,0 开放交易和一个多月前的最后一批时间。
目前服务代理实现已完全禁用(从代码角度),队列已禁用(is_activation_enabled 和 is_receive_enabled = 0),transmission_queue、conversation_endpoints 或实际队列中没有任何内容,但有问题的数据库仍然有 is_broker_enabled = 1(与 TempDB 和 MSDB 一样)。
服务器当前正在运行带有安全修复程序 (11.0.5343.0) 的 SP2,即使在集群故障转移之后,TempDB 的使用似乎仍然存在。我们没有尝试重新启动,因为这是一个生产系统,但我认为故障转移会产生相同的效果。
以前有没有人遇到过这个问题,如果有,你是怎么解决的?
谢谢,
sql-server database-internals service-broker sql-server-2012 tempdb