1

SQLServer2008R2のインスタンスとSQLServerExpress2008のインスタンスが2つあります。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インスタンスが実行されていない(停止している)-なぜそれらが列挙されているのですか?
実行中のSQLServerインスタンスのみを公開することは可能ですか?

4

1 に答える 1

4

インスタンス検出プロトコルは、 SQLServerブラウザサービスに依存しています。デフォルトでは、このサービスは無効になっています。インストールされているSQLServerインスタンスを検出できるようにする必要がある場合は、このサービスを明示的に有効にして開始する必要があります。

于 2010-10-13T05:27:46.160 に答える