0

さて、ここで関連する質問をたくさん読んで、グーグルで調べましたが、これを理解できません。

クライアントの 1 人が、Sql Server とサイトのデータベースも実行しているサーバー上に Web サイトをセットアップすることを望んでいます。つまり、同じボックスです。

ただし、Web サイトはデータベースに接続できず、次のエラーが発生します。

SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 26 - 指定されたサーバー/インスタンスの検索中にエラーが発生しました)

また、Windows イベント ログを調べて、さらに情報が得られるかどうかを確認しましたが、追加情報なしで同じメッセージを単純に再表示しました。

サーバーは Windows Server 2008 Standard です。
IIS は、そのバージョンの Windows に含まれる IIS バージョンです。
Sql Server は Sql Server 2008 R2 Standard Edition です。
Sql Server に接続するために作成したデータ アクセス ライブラリがあります。

  • Remote ConnectionsSql Serverでオンに なっていることを確認しました(同じボックスですが)。
  • SQL and Windows AuthenticationSqlログインを許可するためにオンになっ ていることを確認しました。
  • テスト Windows アプリを使用して、接続文字列とデータ アクセス レイヤーを確認しました。
  • PortQryUI を使用して、SQL Server が利用可能であることを確認しました。

次のような接続文字列のさまざまなバリエーションも試しました。

  • マイサーバー\インスタンス
  • ローカルホスト\インスタンス
  • 127.0.0.1\インスタンス
  • (ローカル)\INSTANCE
  • tcp:(ローカル)\INSTANCE
  • np:(ローカル)\INSTANCE
  • 。\実例
  • MY.PUB.IP.ADD\INSTANCE

したがって、Sql Server は適切にセットアップされているようです。
私のテスト用 Windows アプリは正常に動作し、接続文字列が正しく、データ アクセス レイヤーが接続できることを確認しています。

これは特に IIS に関係しているように思われ、そこにある設定が接続をブロックしているに違いありません。

追加:
Windows ファイアウォールが実行されていません。
Sql ブラウザ サービスが実行されています。
サーバー構成では、すべてのネットワーク プロトコルが有効になっています。

System.Data.SqlClient.SqlConnectionStringBuilderオブジェクトを使用して接続文字列を作成しています。Sql 認証が使用されていることを確認するために、ビルダーから返される ConnectionString を出力します。

Data Source="(local)\INSTANCE";Initial Catalog=mydb;User ID=myuser;Password=mypassword

4

0 に答える 0