名前付きインスタンスとしてインストールされたSQL2008R2(10.50.1600)で奇妙な問題が発生しています。外部クライアントが接続するために、従わなければならない特定の手順がありますが、従う必要はありません。実際、SQLサーバーでプロトコルTCP/IP
とプロトコルを開いて再起動しましたが、これは問題ではありません。Named Pipes
Active Directoryドメイン(Server 2003から実行)を使用しています。サーバーまたはクライアントのOS(XP、2003、2008、Vista、7、64ビット、32ビットなど)に関係なく、問題が発生します。この問題は、SQL Management Studio、ADO(アプリケーションから)など、接続できるものからも発生します。
問題は、クライアントがこのサーバーに接続する前に、各クライアントマシンが最初にODBCを介してこのサーバーに接続する必要があることです(ODBCは使用しません)。これを行う前に10.5SQLサーバーに接続しようとすると、「サーバーが存在しないか、アクセスが拒否されました」という結果になります。しかし、ODBCに(を介してNamed Pipes
)接続できるようになると、他のすべてが機能し始めます。コンピュータ名とIPアドレスの両方を使用する場合にも同じ問題が発生します。実際、コンピューター名\インスタンス名で接続する場合は、最初にODBCで接続する必要があります。次に、IPアドレス\インスタンス名で接続する場合は、次の場合にも同じことを行う必要があります。それ。
これは、すべてのクライアントコンピューターで実行する必要があります。この場合も、ODBCが名前付きパイプを介してこのSQLサーバーに接続できるようになると、そのクライアントからの今後のすべての試行が機能します。
これが発生する原因は何ですか?それを回避する方法は?これを「ODBCトリック」と呼んでいるので、実行する必要はありません。他のバージョンのSQLでこの問題が発生したことはありません。