web-dev-qa-db-ja.com

サーバーとの接続は正常に確立されましたが、ログインプロセス中にエラーが発生しました。 (エラー番号:233)

SQL Serverへの接続中にエラーが発生しました:

enter image description here

スタックトレースの詳細は次のとおりです。

===================================

Cannot connect to ServerName.

===================================

A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.) (.Net SqlClient Data Provider)

------------------------------
For help, click: http://go.Microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=233&LinkId=20476

------------------------------
Server Name: ServerName
Error Number: 233
Severity: 20
State: 0


------------------------------
Program Location:

   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
   at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
   at System.Data.SqlClient.TdsParserStateObject.ReadBuffer()
   at System.Data.SqlClient.TdsParserStateObject.ReadByte()
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
   at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject, Boolean withFailover)
   at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String Host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
   at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.SqlClient.SqlConnection.Open()
   at Microsoft.SqlServer.Management.SqlStudio.Explorer.ObjectExplorerService.ValidateConnection(UIConnectionInfo ci, IServerType server)
   at Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()

NOTE試してみました

  • sQL Server Management Studioを閉じて再度開きます。

  • クローズ、VSの再オープン、ソリューションの再構築

  • データベースにアクセスしているワーカープロセスを強制終了しました。

  • ログイン資格情報が正しい。

  • サーバーをpingして、ダウンしていないことを確認できます。

25
Pranav Singh

サーバー上で何らかのSQLサービスが何らかの形で停止したことが判明しました。解決策は、SQL Serverサービスを手動で再起動することでした。

私はこれが愚かであることを知っているが、とにかく働いた。有用なコメントをありがとう@PareshJ。

12
Pranav Singh

SQL2008の場合、

  • オープン管理スタジオ
  • Rtクリックインスタンス
  • プロパティに移動します
  • select セキュリティ
  • サーバー認証で、SQL ServerおよびWindows認証モードを確認します
  • ヒットOK

構成マネージャーを使用してサーバーを再始動します。

36
user7643068

「管理者として実行」アプリケーションを起動するとき。この方法でこのエラーを回避しました。

enter image description here

2
Kishor K

ここ から:

根本的な原因:SQL Serverインスタンスで最大接続を超えました。

修正方法...!

  1. F8またはオブジェクトエクスプローラー
  2. [インスタンス]を右クリックし、[プロパティ]をクリックします。
  3. 左側の「ページを選択」エリアで「接続」を選択します
  4. 「同時接続の最大数(0 =無制限)」の値を0(ゼロ)に変更します。
  5. SQL Serverインスタンスを1回再起動します。

それとは別に、以下が有効になっていることも確認してください。

  • 共有メモリプロトコルが有効になっています
  • 名前付きパイププロトコルが有効になっています
  • TCP/IPが有効になっています
1
Rahul Tripathi

.NETコードをx64アプリケーションとして実行しているSqlConnection.Open()を含むコード行にエラーメッセージが表示されました。 x86として実行するとエラーは発生しません。

解決策は、Force protocol encryptionでTCP/IPの%windir%\System32\cliconfg.exeオプションを無効にすることでした

プロトコル暗号化を強制

0
Viteokntl

ここでのSQL 2016ソリューション/回避策(以前のバージョンでも機能する可能性があります)。これはすべての状況で機能しないか、適切ではないかもしれませんが、SSMSでデータベースユーザーに読み取り/書き込みスキーマ所有権を付与することでエラーを解決しました。

[データベース]> [セキュリティ]> [ユーザー]> [ユーザー]> [プロパティ]> [所有スキーマ]> db_datareaderおよびdb_datawriterを確認します。

0
Tawab Wakil

(デフォルトではなく)データベースを指定すると、このエラーが解決する場合があります。

0
Alex

次の点が私にとって有効です。試してください:

  1. 管理者としてSSMSを開始
  2. sQLサービスが実行されていることを確認してください。スタートアップの種類を「自動」に変更します

enter image description here

  1. SSMSのサービスインスタンスプロパティテーブルで、以下を有効にします。

enter image description here

0
Joseph Wu