我查看了如何确定已安装的 SQL Server 实例及其版本?已经但是 CMD 什么都不返回:
C:\Windows\system32>sqlcmd -L
C:\Windows\system32>
但是在使用 Visual Studio (v2019) 时,我转到查看 > SQL Server 对象资源管理器,我看到两个带有系统数据库的 SQL Server 实例。一个称为 (LocalDB)\MSSQLLocalDB,另一个称为 (LocalDB)\ProjectsV13。
两者都使用 SQL Server 2016 (v13.0.4001)。使用它我也能够通过 SSMS 2018 进行连接。
我的问题是:为什么这些实例没有出现在命令行中?我可以删除其中一个服务器实例吗?为什么有两个?
我努力了:
我检查了我的服务,我只有 SQL Server VSS 写入。其他一切都与 SQL 无关。我在 SQL Server 配置管理器中查找,但那里的 SQL Server 服务也是空的。我检查了 C:\Program Files (x86)\Microsoft SQL Server\90\Shared 并且 sqlbrowser.exe 也不存在。
我刚刚尝试在 TCP 1433 和 UDP 1434 上设置入站和出站规则以允许连接。再次失败,cmd 没有返回任何内容。
我打开防火墙日志并在运行命令几次后检查了日志,但没有记录任何内容(成功或失败)。我打开了 powershell 并对我的 ip 和端口 1433 和 1434 进行了测试网络连接,但是 ping 失败了。仍然没有写入防火墙日志文件。
要发现本地计算机上安装的 SQL localdb 实例,您应该使用 SQLLocalDB 实用程序。我发现它安装在 C:\Program Files\Microsoft SQL Server\150\Tools\Binn\SQLLocalDB.exe for SQL 2019。如果您安装了该工具,您应该能够从命令提示符运行以下命令以返回localdb 实例列表:
sqllocaldb.exe 我
要删除 localdb,请在命令提示符处键入以下内容:
sqllocaldb.exe d nameofinstancetoremove
以下文档帮助了我:
https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-express-localdb?view=sql-server-ver15
https://learn.microsoft.com/en-us/sql/tools/sqllocaldb-utility?redirectedfrom=MSDN&view=sql-server-ver15
- 电源外壳
导入模块 sqlserver 'computername'| Foreach-Object {Get-ChildItem -Path "SQLSERVER:\SQL\$_"}
确保您没有链接服务器 (LocalDB)\ProjectsV13 指向自身 (LocalDB)\MSSQLLocalDB
检查定义的任何别名