昨日の夜まで、ローカルマシンからサーバーに接続できました。今、私は次のエラーを受け取ります:
サーバーとの接続は正常に確立されましたが、ログイン前のハンドシェイク中にエラーが発生しました。 (プロバイダー:SSLプロバイダー、エラー:0-待機操作がタイムアウトしました。)(.Net SqlClientデータプロバイダー)
注:実際のサーバーに問題なくログオンできます。
昨日、私はIISを自分のマシンにインストールし、自分のIPアドレスを使用してサイトを設定しました-これが何をする必要があるかわかりません。
私はこの記事に出くわし、手順に従いましたが、助けにはならなかったようです。
次の記事も読み、TC/IP設定を変更し、再起動しましたが、何もしませんでした。
コメントからの提案も試み始めましたが、もっと混乱するかもしれないことに気づいたときに停止しました。
それで、なぜこれが起こっているのですか/どうすれば修正できますか?
私の状況では、考えられる原因であるCovenant Eyesと呼ばれるコンテンツフィルター/プロキシがありました。
SQL Server 2012のインストールを修復しようとしたところ、インストールがクラッシュしましたが、それでも問題は解決しませんでした。アンインストールコードを生成してフィルターをアンインストールするとすぐに、接続できました。再起動する必要すらありませんでした。
マシン上のプロキシとコンテンツフィルターを確認し、それらを無効にしてください!
ここで支持されている答え: http://social.msdn.Microsoft.com/Forums/en-US/vssetup/thread/2d11b6f9-3ada-4682-b643-c721a97af4ba
問題にうんざりしていませんか? winsockとは何か、またはこの低レベルのがらくたの意味を知らないか、気にしません。
コマンドプロンプトに移動する
これを行う
netsh Winsock reset
あなたの人生を続け、幸せになります。
私の特定のセットアップでは、カスタムデータベースにセッションデータを格納して使用していました。また、接続文字列を介してデータを暗号化(Encrypt = True)し、これにより問題が修正されました!
その結果、データがsslで暗号化されていないのではないかと思いますが、Webサーバーを追加するまではそれほど問題にはなりません!
システムを復元しましたが、接続できました。
SQLに接続しようとする各ワークステーションでこのエラーメッセージが表示されました。すべてのコンピュータがドメインに接続されています。この問題を解決するために私がしたことは:
1)ワークステーションにログインしているユーザーのSQL Management Studioで、ログインとしてdomian\user nameを作成します。 2)TLS 1.0もこのアクセスを阻止していました。トランスポート層セキュリティTLSは、2つのシステム間に安全な通信チャネルを確立するために使用される暗号化プロトコルです。 1つまたは両方のシステムを認証し、システム間でやり取りされる情報の機密性と整合性を保護するために使用されます。
両方のコンピューターのレジストリで、\ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Serverに移動しました。 2つのサブキーの値を入れ替えます。
再起動後、再度テストを行ったところ、接続を正常に確立できました。
SQL Server構成マネージャーを開き、SQL Serverサービスが実行されていることを確認します。
tCP/IP接続を許可するように構成されています。
エラー:
接続タイムアウトの期限が切れました。ログイン前のハンドシェイクを消費しようとしたときにタイムアウト時間が経過したか、サーバーが時間内に応答できませんでした。このサーバーへの接続試行中に費やされた時間は-[Pre-Login] initialization = 11977でした。 handshake = 5138;
解決:
この問題は、接続文字列を変更してパラメーターTransparentNetworkIPResolution
をfalseに設定することで解決できます。
例:
Server=myServerName;
Database=myDataBase;
Trusted_Connection=True;
TransparentNetworkIPResolution = False
接続文字列でfalseに設定すると、500msでタイムアウトせず、接続は成功します。
この問題は、SSLインスペクションを実行している途中のファイアウォールに関連している可能性があります。
SSLインスペクションを実行していない別の接続を使用して再試行するか、接続しているソースまたは宛先、あるいはその両方の除外を作成するようにファイアウォール管理者に依頼することをお勧めします。
乾杯!
このエラーは、SQL Serverの接続の過負荷が原因で発生する場合があります。したがって、DBをシングルユーザーに変更し、再度マルチユーザーに変更します。
または、単にこのクエリを実行します。
マスターALTER DATABASE DatabaseName SET SINGLE_USER WITH ROLLBACK IMMEDIATE ALTER DATABASE DatabaseName SET MULTI_USERを使用します
それで私の問題は解決しました。 :) 楽しい..!!
これらの解決策はどれも私にとってはうまくいきませんでした。うまくいったことは次のとおりでした:
SQL Server構成マネージャー
SQL Serverサービスを選択
問題のあるサービスを見つけてプロパティを表示する
[ログオン]タブで、[ビルトインアカウント]を[ネットワークサービス]に変更します。
免責事項:これは私のローカル開発PCにあったので、セキュリティ上の懸念はありませんでした。
最近、SQLサーバーのユーザー接続設定を変更した可能性があります。
起動パラメーターに-mを追加して、インスタンスをシングルユーザーモードで起動する必要があります。次に、以下のコマンドでユーザー接続設定を変更する必要があります。
USE AdventureWorks2012 ;
GO
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE ;
GO
EXEC sp_configure 'user connections', 325 ;
GO
RECONFIGURE;
GO
このエラーは、コンピュータのインターネットプロトコル設定を変更するプログラムのインストール後に発生しました。最近、インターネットダウンロードマネージャーのインストール後に同じ問題が発生しました。IDMがIP設定を変更したため、IDMをPCからアンインストールして再起動すると問題が解決するためです。
したがって、インターネットダウンロードマネージャーなど、インターネットプロトコル設定を変更したアプリケーションをアンインストールします。