同じワークグループに接続されている他のコンピューターからSQL Serverデータベースにアクセスする方法


11

SQL Serverデータベースを使用するC#アプリケーションを作成しました。ワークグループで他のコンピュータを自分と相互に接続しています。C#アプリケーションを他の人と共有しました。アプリケーションを開くと、エラーが発生します

SQL Serverへの接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした

しかし、アプリケーションは私のPCで正常に動作しています。私が使用している接続文字列は

Data Source=ASHISHPC1\SQLEXPRESS;Initial Catalog=ACW;User ID=ash159;Password=ashish159

これは.configファイルに保存されます。

アプリケーションは私のPCで正常に動作しています。私は何をしなければなりませんか?サーバーでTCP / IPを有効にしましたが、同じエラーが引き続き発生します。接続文字列などに変更がありますか?


1
「データソース」のIPアドレスを使用してみてください
ミッチウィート

1
Windowsファイアウォールをオフにしてみてください... technet.microsoft.com/en-us/library/hh231672.aspxも確認してください。これでうまくいくはずです。

3
Windowsファイアウォールをオフにする必要はありません-その神話の伝播を停止してください!以下の私の答えを参照してください。
Jon Seigel、2014年

回答:


17

リモートアクセスを許可するために変更する必要があるセキュリティには2つのレベルがあります。

  1. SQL Serverの設定。Express、Developer、およびEnteprise Evaluationエディションのデフォルトでは、TCP / IPプロトコルによる接続は無効になっています。SQL Server構成マネージャーを使用してこれを有効にします。

  2. Windowsファイアウォール。ファイアウォールを完全に無効にすることはこのコンポーネントで機能しますが、無効にすることはセキュリティのベストプラクティスではありません(必須ではありません)。(注:このセクションでは、デフォルト構成を想定しています。これらのステップにわずかに影響する変更可能な設定が多数あります。)

    接続するSQL Serverインスタンスのタイプに応じて、2つのケースがあります。

    1. デフォルトのインスタンス(コンピューター名でのみ接続)。TCPポート1433またはデータベースエンジンサービスのいずれかに着信許可を追加します。

    2. 名前付きインスタンス(コンピューター名+インスタンス名で接続)。UDPポート1434に着信許可ルールを追加して、SQLブラウザーサービスにアクセスします。データベースエンジンサービスに着信許可ルールを追加します。

この手順は、ここに完全に文書化されています。または、私が説明するのを見て、名前付きインスタンスの構成をここでウォークスルーできます。


0

SQL-Serverで正しいネットワーク設定を設定する必要があります。SQL-Serverで アクティブなTCP / IP また、サーバーBrowser-Serviceが実行されていることを確認してください。サーバ。


0

bendegで述べられているようにsqlbrowserサービスがオンになっていること、およびクライアントが名前を解決するためにsqlbrowserにアクセスできるようにマシンでUDP 1434が開いていることを確認してください。名前付きインスタンスのTCP / IPポートも開きます。

インスタンスのポートを見つけるには、次のようにManagement Studioでtcp:プレフィックスを使用して接続します。

SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID

-1

ホームネットワークのWindowsファイアウォールをオフにしたところ、問題なく動作しました。ありがとうございました。


5
これがあなたの質問であった場合は、元のサイト(Stack Overflow)で使用したのと同じ認証情報でここにサインインして、ここで質問の所有権を取得する必要があります。
jcolebrand

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.