sqlserver2012在做发布订阅时报错看看啥原因
###### 错误消息:
Message: SQL Server 网络接口: 定位指定的 Server/Instance 时出错 [xFFFFFFFF].
链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI11" 返回了消息 "登录超时已过期"。
链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI11" 返回了消息 "与 SQL Server 建立连接时发生了与网络相关的或特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。"。
Command Text: sp_refreshview
Parameters: @viewname = [dbo].[V_DcsMater]
Stack: 在 Microsoft.SqlServer.Replication.AgentCore.ReMapSqlException(SqlException e, SqlCommand command)
在 Microsoft.SqlServer.Replication.AgentCore.AgentExecuteNonQuery(SqlCommand command, Int32 queryTimeout)
在 Microsoft.SqlServer.Replication.AgentCore.ExecuteDiscardResults(CommandSetupDelegate commandSetupDelegate, Int32 queryTimeout)
在 Microsoft.SqlServer.Replication.Snapshot.ArticleDependenciesAnalyzer.ViewDependencyNode.FetchBaseDependenciesWithRefreshTransaction(SqlConnection connection)
在 Microsoft.SqlServer.Replication.RetryableSqlServerTransactionManager.ExecuteTransaction(Boolean bLeaveTransactionOpen)
在 Microsoft.SqlServer.Replication.Snapshot.ArticleDependenciesAnalyzer.ViewDependencyNode.FetchBaseDependenciesWithRefresh()
在 Microsoft.SqlServer.Replication.Snapshot.ArticleDependenciesAnalyzer.ViewDependencyNode.get_BaseDependencies()
在 Microsoft.SqlServer.Replication.Snapshot.ArticleDependenciesAnalyzer.BaseDependencyNode.GetEnumerator()
在 Microsoft.SqlServer.Replication.Snapshot.ArticleDependenciesAnalyzer.DepthFirstSearchVisit(IDependencyNode dependencyNode)
在 Microsoft.SqlServer.Replication.Snapshot.ArticleDependenciesAnalyzer.DepthFirstSearchVisit(IDependencyNode dependencyNode)
在 Microsoft.SqlServer.Replication.Snapshot.ArticleDependenciesAnalyzer.DoTopologicalSortWithCurrentEdgeTypeSet(Boolean enumerateTablesFirstInRoot)
在 Microsoft.SqlServer.Replication.Snapshot.ArticleDependenciesAnalyzer.PerformArticleDependenciesAnalysis()
在 Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.DoReplicationDependenciesAnalysis(Scripter scripter, SqlSmoObject[] smoObjectArray, IDictionary urnKeyArticleLookupTable)
在 Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.DoScripting()
在 Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.DoScripting()
在 Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.GenerateSnapshot()
在 Microsoft.SqlServer.Replication.SnapshotGenerationAgent.InternalRun()
在 Microsoft.SqlServer.Replication.AgentCore.Run() (源: MSSQLServer,错误号: -1)
获取帮助: http://help/-1
Server WIN-LT8B2EF9PJ3, Level 0, State 2, Procedure sp_refreshsqlmodule_internal, Line 71
链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI11" 返回了消息 "与 SQL Server 建立连接时发生了与网络相关的或特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。"。 (源: MSSQLServer,错误号: 7412)
获取帮助: http://help/7412
Server WIN-LT8B2EF9PJ3, Level 0, State 2, Procedure sp_refreshsqlmodule_internal, Line 71
链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI11" 返回了消息 "与 SQL Server 建立连接时发生了与网络相关的或特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。"。 (源: MSSQLServer,错误号: 7412)
获取帮助: http://help/7412
Server WIN-LT8B2EF9PJ3, Level 0, State 2, Procedure sp_refreshsqlmodule_internal, Line 71
链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI11" 返回了消息 "与 SQL Server 建立连接时发生了与网络相关的或特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及
######sqlserver 2012 Windowsserver2012
参考:
1. https://blog.csdn.net/qq_33022911/article/details/79604124
2.https://www.cnblogs.com/fogwang/p/15544190.html
打开的属性窗口,在其右边点击“连接”,然后再左侧勾上“允许远程连接到此服务器”
TCP协议是否正常启动
最后是防火墙端口是否开放
是不是发布服务器连接出现问题,比如密码修改无法登录或者服务器故障等造成登录超时问题。
根据提供的错误消息,这个问题可能是由于以下原因之一导致的:
登录超时已过期:这可能是由于连接到服务器的时间超过了登录超时时间限制而导致的。可以尝试增加登录超时时间或者优化网络连接以解决此问题。
与网络相关的或特定于实例的错误:这种错误可能是由于网络连接问题或者服务器配置问题导致的。可以检查实例名称是否正确,确保 SQL Server 已配置为允许远程连接,并且网络连接正常。还可以查阅 SQL Server 的联机文档以获取更多详细信息。
综上所述,你可以采取以下步骤来解决这个问题:
检查网络连接:确保你的网络连接正常,可以访问目标服务器。尝试使用其他工具或方法连接到 SQL Server 实例,以验证网络连接是否正常。
检查实例配置:确保 SQL Server 实例已配置为允许远程连接。你可以通过 SQL Server 配置管理器来进行检查和配置。
增加登录超时时间:如果登录超时时间较短,可以尝试增加登录超时时间的设置。可以在连接字符串或者连接属性中设置登录超时时间。
查阅 SQL Server 联机文档:根据提供的错误消息中的帮助链接,参考 SQL Server 的联机文档,查找有关该错误的更多信息和解决方案。
这些步骤应该能帮助你诊断和解决发布订阅时出现的错误。如果问题仍然存在,请提供更多详细信息或者错误日志,以便我能够提供更具体的帮助。
实例名称错误:确认 SQL Server 实例名称是否正确,实例名称是区分大小写的。
SQL Server 未配置允许远程连接:在 SQL Server 配置管理器中,选择 SQL Server 网络配置,然后选择你的实例名称。在右侧窗口中,右键单击 TCP/IP,然后单击启用。然后在 SQL Server 服务中,重新启动你的实例。
网络问题:确认你的网络是否正常,在 SQL Server 所在的服务器上 ping 一下发布服务器,看看网络连接是否正常。
防火墙问题:防火墙可能阻止了 SQL Server 的端口。你需要确认 SQL Server 的端口(默认是 1433)是否在防火墙中被允许。
SQL Server 浏览器服务未启动:如果你用的是命名实例,而不是默认实例,要确保 SQL Server 浏览器服务已经启动。
服务器间的时间同步问题:确保发布服务器和订阅服务器的系统时间是同步的。