无法为 SQL Server 2016 发布创建快照代理
Can't create snapshot agent for SQL Server 2016 publication
刚刚安装了 SQL Server 2016 实例。以前我在 2008 年和 2012 年使用合并复制没有问题。我在这里尝试做同样的事情,虽然我可以毫无问题地创建发布,但当我尝试创建快照代理时出现以下错误。 SQLServer Agent是运行,网上查不到什么错误:
===================================
无法保存对代理安全设置的更改。
===================================
执行 Transact-SQL 语句时发生异常或
批。 (Microsoft.SqlServer.ConnectionInfo)
----------------------------程序位置:
于
Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(字符串
sqlCommand, ExecutionTypes executionType, Boolean retry) at
Microsoft.SqlServer.Replication.ReplicationObject.ExecCommand(字符串
命令输入)在
Microsoft.SqlServer.Replication.Publication.CreateSnapshotAgent()
在
Microsoft.SqlServer.Management.UI.PageCreatePubAgentSecurity.SaveAgentSecurity(ReplAgentType
类型)在
Microsoft.SqlServer.Management.UI.PubPropAgentSecurity.SaveProperties(执行模式&
执行结果)
===================================
找不到存储过程'sys.sp_MSaddreplsymmetrickey'。
将数据库上下文更改为 'CoBRAClientData'。 (.Net SqlClient 数据
提供商)
---------------------------- 如需帮助,请单击:http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=13.00.1601&EvtSrc=MSSQLServer&EvtID=2812&LinkId=20476
---------------------------- 服务器名称:SERVER1\COBRASERVER 错误编号:2812 严重性:16状态:62 程序:
sp_MSreplopensymmetrickey行号:37
----------------------------程序位置:
于
Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(执行TSqlAction
action, Object execObject, DataSet fillDataSet, 布尔值
catchException) 在
Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(字符串
sqlCommand, ExecutionTypes executionType, Boolean retry)
这通过 sql 管理工作室发生,如果我使用脚本:
exec sp_addpublication_snapshot @publication = N'CoBRAClientPub', @frequency_type = 4, @frequency_interval = 14, @frequency_relative_interval = 1, @frequency_recurrence_factor = 0, @frequency_subday = 1, @frequency_subday_interval = 5, @active_start_time_of_day = 500, @active_end_time_of_day = 235959, @active_start_date = 0, @active_end_date = 0, @job_login = N'server1\repl_snapshot', @job_password = null, @publisher_security_mode = 1
从未想出使用 sql 2016 解决此问题的方法。卸载并安装 sql 2014(最新的服务包),一切正常。我最初尝试卸载 2016 并重新安装它,但那没有用。只有 2014 年做到了。
刚刚安装了 SQL Server 2016 实例。以前我在 2008 年和 2012 年使用合并复制没有问题。我在这里尝试做同样的事情,虽然我可以毫无问题地创建发布,但当我尝试创建快照代理时出现以下错误。 SQLServer Agent是运行,网上查不到什么错误:
===================================
无法保存对代理安全设置的更改。
===================================
执行 Transact-SQL 语句时发生异常或 批。 (Microsoft.SqlServer.ConnectionInfo)
----------------------------程序位置:
于 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(字符串 sqlCommand, ExecutionTypes executionType, Boolean retry) at Microsoft.SqlServer.Replication.ReplicationObject.ExecCommand(字符串 命令输入)在 Microsoft.SqlServer.Replication.Publication.CreateSnapshotAgent()
在 Microsoft.SqlServer.Management.UI.PageCreatePubAgentSecurity.SaveAgentSecurity(ReplAgentType 类型)在 Microsoft.SqlServer.Management.UI.PubPropAgentSecurity.SaveProperties(执行模式& 执行结果)===================================
找不到存储过程'sys.sp_MSaddreplsymmetrickey'。 将数据库上下文更改为 'CoBRAClientData'。 (.Net SqlClient 数据 提供商)
---------------------------- 如需帮助,请单击:http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=13.00.1601&EvtSrc=MSSQLServer&EvtID=2812&LinkId=20476
---------------------------- 服务器名称:SERVER1\COBRASERVER 错误编号:2812 严重性:16状态:62 程序: sp_MSreplopensymmetrickey行号:37
----------------------------程序位置:
于 Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(执行TSqlAction action, Object execObject, DataSet fillDataSet, 布尔值 catchException) 在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(字符串 sqlCommand, ExecutionTypes executionType, Boolean retry)
这通过 sql 管理工作室发生,如果我使用脚本:
exec sp_addpublication_snapshot @publication = N'CoBRAClientPub', @frequency_type = 4, @frequency_interval = 14, @frequency_relative_interval = 1, @frequency_recurrence_factor = 0, @frequency_subday = 1, @frequency_subday_interval = 5, @active_start_time_of_day = 500, @active_end_time_of_day = 235959, @active_start_date = 0, @active_end_date = 0, @job_login = N'server1\repl_snapshot', @job_password = null, @publisher_security_mode = 1
从未想出使用 sql 2016 解决此问题的方法。卸载并安装 sql 2014(最新的服务包),一切正常。我最初尝试卸载 2016 并重新安装它,但那没有用。只有 2014 年做到了。