1

SQL Server 2008 R2 と一緒に SQL Server 2012 をインストールしました

問題なくローカルに接続できます

しかし、LAN 上の別の PC 経由で接続しようとすると、タイムアウトが発生します。

タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。

これがコードです

Dim queryString = "SELECT * FROM cities"
Using connection As New SqlConnection("data source=PCBOX\MSSERVER;initial catalog=MYDB;persist security info=True;user id=ABC;password=123;Connection Timeout=30")
    Dim command As New SqlCommand(queryString, connection)
    connection.Open()
    Dim reader As SqlDataReader = command.ExecuteReader()
    While reader.Read()
        Console.WriteLine(String.Format("{0}, {1}", reader(0), reader(1)))
    End While
End Using
Dim a = New MYDBEntities
Dim b = a.Cities.ToList

ここで、いくつかの興味深いメモ:

  1. LANからでもssmsから接続できました
  2. LAN 経由で ssms から接続すると、常に最初に ssms でタイムアウトが発生し、2 回目の試行でのみ即座に接続されます。
  3. コードを介してクエリを実行している場合にのみ、例外がスローされます。同じ例外は、sqlconnection または EF 経由です。
  4. Visual Studio自体は、EFウィザードを表示し、使用可能なテーブルを表示し、クラスを作成するなど、DBへの接続に問題はありません...
  5. LAN 上の ssms から一瞬で実行できるクエリを実行すると、すぐに 4 行 (それだけです) が返されます

問題は何ですか?

私は試した:

  1. 構成マネージャーで可能なすべてのクライアント プロトコルを有効にする
  2. 関連すると思われるサービス (エージェント、ブラウザなど) を再起動します。
  3. サーバーPC全体を再起動しました
  4. パスワードの変更
  5. SQL Server ログを調べます (間違った場所を探している可能性がありますが、試行された接続が表示されていないようです)
  6. Windows ファイアウォール ログ (C:\Windows\System32\LogFiles\Firewall\pfirewall.log) を調べると、空です。
  7. クライアント マシンに SQL Server 2012 をインストールする
  8. 接続文字列のポートを 1433 に設定します (どちらのバージョンも私が 1433 に設定していますが、大丈夫ですか?)。しかし、その後、別のエラーが発生します

    SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。接続先が一定時間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました。

他に何ができますか?

4

2 に答える 2

3

あなたの問題によく似たこのリンクを見つけました。ここをクリック ファイアウォールが切断された接続をログに記録していない場合は、ファイアウォールのポートを開いてみてください

于 2012-06-04T21:21:26.027 に答える
2

SQL Server 2008 R2 と一緒に SQL Server 2012 をインストールしたので、デフォルトのポートを使用せずに接続を試みます。

SQL Server 2012 が使用しているポートを見つけるには、クライアント 11 プロトコル セクションの SQL "SQL Server 構成マネージャー" に移動します。TCP/IP プロトコルのポートのプロパティを調べます。

インスタンス名の後のコードで、ポート番号よりもカンマを追加します。

data source=PCBOX\MSSERVER,1434;

これは、ポート以外の何かである可能性があります。

于 2012-06-01T18:13:10.943 に答える