“SQLCMD -L”失败——为什么?

发布于 2024-09-27 05:08:10 字数 1473 浏览 5 评论 0原文

我有 2 个 SQL Server 2008R2 实例和 SQL Server Express 2008 实例。
SQLCMD 等有效 [1]。

但“SQLCMD -L”和“OSQL -L”失败 [2]。
为什么?
我在 SQLCMD 使用中缺少什么?
如何使用SQLCMD获取服务器?

[1] SQLCMD的测试结果

>sqlcmd
1> use AdventureWorks2008R2;
2> SELECT TOP(2) BusinessEntityID, FirstName, LastName From Person.Person;
3> GO
Changed database context to 'AdventureWorks2008R2'.
BusinessEntityID FirstName                                          LastName

---------------- -------------------------------------------------- --------------------------------------------------
         285      Syed                                               Abbas
         293      Catherine                                          Abel
(2 rows affected)
1>

[2]

<块引用>

SQLCMD -L

服务器:

<块引用>

OSQL -L

服务器: -- 无 --

更新:
启动 SQLBrowser 后我有:

<块引用>

OSQL -L

服务器:
(本地)
PBLACK
PBLACK\SQL2008R2
PBLACK\SQLEXPRESS

<块引用>

SQLCMD -L

服务器:
PBLACK
PBLACK\SQL2008R2
PBLACK\SQLEXPRESS

为什么 OSQL 枚举(本地)但 SQLCMD 不枚举?
SQLEXPRESS(已损坏,我无法启动它)和 SQL2008R2 实例未运行(已停止) - 为什么会枚举它们?
是否可以仅公开正在运行的 SQL Server 实例?

I am having 2 instances of SQL Server 2008R2 and instance of SQL Server Express 2008.
SQLCMD, etc., works [1].

But "SQLCMD -L" and "OSQL -L" fail [2].
Why?
What am I missing in SQLCMD use?
How to use SQLCMD to get servers?

[1]
Test results of SQLCMD

>sqlcmd
1> use AdventureWorks2008R2;
2> SELECT TOP(2) BusinessEntityID, FirstName, LastName From Person.Person;
3> GO
Changed database context to 'AdventureWorks2008R2'.
BusinessEntityID FirstName                                          LastName

---------------- -------------------------------------------------- --------------------------------------------------
         285      Syed                                               Abbas
         293      Catherine                                          Abel
(2 rows affected)
1>

[2]

SQLCMD -L

Servers:

OSQL -L

Servers:
-- NONE --

Update:
After starting SQLBrowser I have:

OSQL -L

Servers:
(local)
PBLACK
PBLACK\SQL2008R2
PBLACK\SQLEXPRESS

SQLCMD -L

Servers:
PBLACK
PBLACK\SQL2008R2
PBLACK\SQLEXPRESS

Why does OSQL enumerate (local) but SQLCMD not?
SQLEXPRESS (is broken, I cannot start it) and SQL2008R2 instance are not running (stopped) - why are they enumerated?
Is it possible to expose only running SQL Server instances?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

走野 2024-10-04 05:08:10

实例发现协议依赖于 SQL Server 浏览器服务。默认情况下此服务被禁用。如果您需要能够发现已安装的 SQL Server 实例,则需要显式启用并启动此服务。

The instance discovery protocol relies on the SQL Server Browser Service. By default this service is disabled. You need to explicitly enable and start this service if you need to be able to discover the SQL Server instances installed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文