5 sql-server-2008 sql-server ssms
这就是我现在正在使用的。我有一个包含 SQL Server 2008 Enterprise 实例的主机操作系统。我在这台主机上运行了一个虚拟机,它有一个 SQL Server 2008 R2 Express 实例。在虚拟机中,我可以连接到 SSMS 中的主机实例。但是在主机操作系统中,我无法访问虚拟机的 Express 实例。
什么可能导致这种情况?主机可以ping通虚拟机,所以我认为不是网络问题。在虚拟机上的 SSCM 中,我已启用相应的网络协议。
还有什么我需要注意的吗?
按照尝试的顺序:
转到:SQL Server 虚拟机上的 SQL Server 配置管理器,在 SQL Server 网络配置下选择您的实例(应该是SQL2008 的协议),启用您的首选协议(我猜是 TCP/IP)并再次测试。
至于为什么它通常被禁用:
来自MSDN文章:
出于安全原因,默认情况下在 SQL Server Express 中禁用网络协议。可以手动或在安装 SQL Server Express 期间启用单个协议。
转到:SQL Server 虚拟机上的 SQL Server 配置管理器,在SQL Server 服务下确保SQL Server Browser正在运行。
来自MSDN文章:
某些网络协议使用 SQL Server Browser 将命名实例与 TCP/IP 端口号相关联。但是,如果 SQL Server Express 与 MSDE 或 SQL Server 2000 的 SP3 之前版本安装在同一台计算机上,则可能会发生冲突。此外,SQL Server Browser 服务在安装后不会自动启动
如果您安装 SQL 2008 Express(或更高版本),Server 实例将被命名为 SQLExpress,因此要连接您需要指定 ServerName 和 InstanceName,即:
[VMServer\SQLExpress]
Run Code Online (Sandbox Code Playgroud)
在服务器上的 SSMS 中右键单击服务器,转到连接并确保选中允许远程连接到此服务器
安全性
您可能会遇到身份验证问题,但这应该是将用户添加到 SQL Server 实例的直接问题。
注意:如果以上都不适合您,并且您找到了解决方案,请将您的解决方案添加到上面的列表中(也尝试帮助未来的用户)