この問題で 2 日間立ち往生しているので、助けていただければ幸いです。
シナリオ: 自分の開発マシン (および別の同僚) から SERVER\INSTANCE に接続できますが、別の SQL Server からは接続できません。私が得るエラーは、一般的な「...インスタンス名が正しいことを確認してください..」です。私が行ったこと/確認したこと:
宛先(およびソース)サーバーのファイアウォールを無効にして、ファイアウォールの問題であるかどうかを確認しました(マシンから接続できるため、これが最も可能性が高いようですが、これは役に立ちませんでした)。
SQL Browser が動作していることを確認しました (開発マシンから接続できるためです)。
両方の SQL Server には複数のインスタンスとハードコーディングされたポートがあるため、競合が発生した場合に備えて、それらが異なるポートであることを確認しました (これは役に立ちませんでした)。
SQL Server を再起動し、ブラウザ/インスタンス サービスが実行されていることを確認しました
イベントログを確認しました - 特記事項なし
興味深いことに、インスタンス名を介して接続せず、2 番目のサーバーから動的ポート (つまり、SERVER、PORT) を介して接続すると、正常に動作します。これは、ローカルで正常に動作することを除いて、SQL Browser に問題があることを示唆しています。サーバーと私の開発マシンから。
アイデアや提案はありますか?ありがとう。
編集:コメントを明確にするために、データSQLサーバーをSQLAと非データSQLBと呼びます。
編集#2:テストケース/情報を追加:
情報: 上記のテストはすべて、データベースへの接続を確立するために SSMS インターフェースを介して行われました。関連するデータベースは両方とも 2012 です。
新しいテスト ケース: 代わりにリンク サーバーをセットアップするスクリプトを実行してみましたが、SQL Server 2005 ボックスでスクリプトを実行すると問題なく動作することがわかりましたが、SQL Server 2012 サーバー (SQLB) で同じスクリプトを実行すると、SQLA に接続できませんでした。エラー: SQL Server ネットワーク インターフェイス: 指定されたサーバー/インスタンスの検索エラー [xFFFFFFFF]。
編集#3:潜在的な問題を絞り込みました:
PortQry をダウンロードして実行し、開発ボックスから実行すると、UDP 経由で 1434 をクエリして返されたすべてのインスタンスを取得し、SQLB から同じクエリを実行してもインスタンスは返されず、開発ボックスでは LISTING として返されたのに対し、1434 はフィルター処理されていると表示されます。両方のマシンでファイアウォールを無効にしたことを除いて、これはファイアウォールに関連しているとしか思えません