…像我的标题说…我不能连接到我的实例在SQL Server Express从SQL Server标准…我已经尝试禁用发射墙和检查sqlbrowser已经启动,但由于某种原因,我不能连接到我的datbase .. 。叫做server_name \ sqlexpress ..
我有一台虚拟机和全面运行的MS SQL Server 2008 R2 …我还有几个运行sqlexpress的vm。 他们运行良好,我可以使用sqlexpress连接到他们…但是当我尝试从sqlserver访问…我得到这个错误。
与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:SQLnetworking接口,错误:26 – 错误定位服务器/实例指定)(Microsoft SQL Server,错误:-1)
深入挖掘错误,我发现了这一点
错误编号:-1严重性:20状态:0
最后这个…
Program Location: at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.SqlServer.Management.SqlStudio.Explorer.ObjectExplorerService.ValidateConnection(UIConnectionInfo ci, IServerType server) at Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()
在运行mssqlserver的虚拟机上closures防火墙…我在一台正在运行sqlexpress的虚拟机上打开了防火墙,但是仍然收到错误信息…有人可以帮忙…谢谢
确保您已经为数据库实例启用了TCP协议。 Microsoft 在这里提供详细的说明。
这么简单的答案
对我来说,错误消息意味着SQL Server Standard无法在DNS中find主机名,它不能正确地与sqlbrowser服务交互,由于某种原因,sqlbrowser不知道该实例,或者Standard无法连接到Express计算机上的正确端口。
我们可以从表中删除的东西,如一个错误的用户名,一个不正确的SQL密码或一个缺less的默认数据库,连接后会被注意到。 连接过程并没有得到足够的发展,就像这样的事情发生失败。
我假设所有的虚拟机都在同一台服务器上,而且我们不必担心硬件防火墙或NATredirect,因为这些虚拟机都在同一个虚拟networking上。
打击我的是,您可以从标准电脑连接到所有的一台Express电脑。 那台电脑有什么不同? 我认为破碎的networking具有一些networkingfunction,就像它可以看到其他计算机一样。 计算机是否在与其他计算机不同的虚拟networking上?
一些故障排除任务:首先,找出Express计算机的IP地址是什么。
接下来,使用terminal服务,远程桌面,vSphere或类似的东西连接到SQL Server标准计算机。 你能从SQL Server标准到SQL Server Express? 首先,尝试ping Express计算机的主机名,然后尝试使用IP。 如果您可以通过主机名和IP进行ping,请仔细检查通过主机名进行ping操作时显示的内容是否与分配给Express计算机的IP地址相同。 (你可能正在ping一些其他的电脑,得到“幸运”)。如果IP号码不同,你可能会出现某种虚拟机pipe理程序的networkingconfiguration错误。
如果您无法通过主机名进行ping操作,并且出现有关未find主机名的错误,请尝试使用完全限定的域名。 如果您的主机名是“express”,请尝试“express.foo.com”,或者任何看起来合适的。 如果有效,请尝试连接到作为主机名的实例。
如果您可以通过主机名进行ping操作,并且IP号码匹配,则Express计算机应该在DNS中正确注册。
如果您无法通过主机名成功ping通,但您可以通过IP,请尝试使用Express计算机的IP地址而不是主机名(即“hal9000 \ sqlexpress”,尝试“192.168”)从标准计算机连接SSMS。 1.100 \ sqlexpress“,如果有效的话,networking上有一些东西。
离开这个地方并不是一个好的长期解决scheme,因为IP地址的变化比主机名更频繁,但是对于testing/开发,或者直到您可以按照您的想法找出Express计算机不在DNS中的原因它应该是。
如果ping操作正常,您可以在标准计算机上使用SSMS连接到Express计算机上的实例吗? 如果可以的话,问题可能与如何定义链接服务器有关。