0

このエラーは、SQL Server 2012 で次のコードを記述すると表示されます。

EXEC xp_cmdshell 'bcp "select [ProductID],[ProductName],[UnitPrice] from Northwind.dbo.Products" queryout "d:\bcptest2.txt" -T  -c -t, '

エラー = [Microsoft][SQL Server Native Client 11.0] SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできません。インスタンス名が正しいかどうか、および SQL Server がリモート接続を許可するように構成されているかどうかを確認してください。詳細については、SQL Server Books Online を参照してください。

それを解決する方法は?

4

1 に答える 1

3

作成したクエリは正しく機能します。ただし、SQL Server 内で TCP/IP を有効にしていません。これは、次のようにして行うことができます。

  1. 「SQL Server 構成マネージャー」を開きます
  2. 「SQL ネイティブ クライアント構成」を選択します
  3. 右側のペインで、[TCP/IP] を右クリックし、[有効にする] を選択します。
  4. SQL Server サービスを再起動します

クエリが正しく機能するはずです。

詳細については、次の msdn ドキュメントを参照してください。SQL Server の TCP/IP ネットワーク プロトコルを有効にする

他の設定が必要な可能性があるため、これで問題が解決しない場合はお知らせください。

編集:

コマンド ライン (つまり cmd.exe) から次のコマンドを実行してみてください。

 bcp "select [ProductID],[ProductName],[UnitPrice] from Northwind.dbo.Products" queryout "d:\bcptest2.txt" -T  -c -t

これがうまくいくかどうか教えてください (問題の原因が BCP なのか xp_cmdshell なのかを確認できます)。次のことも調べていただけますか。

  1. リモート接続を許可するように SQL サーバーが構成されている
    • SSMS 内で、サーバー名を右クリックして [プロパティ] > [接続] を選択し、[リモート接続を許可する] ボックスにチェックを入れます。
  2. ユーザーはシステム管理者ですか?
  3. SQL サーバーはどこにありますか? (つまり、ローカル インストールですか、それともネットワーク上のサーバー上ですか?)
  4. また、SQLのインスタンスですか?
于 2013-02-07T10:50:34.843 に答える