私はこのエラーを持っています:
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.)
(Microsoft SQL Server, Error: 233)
このサイトにも同様の質問があります。答えは、TCP/IPとパイプを有効にすることです。しかし、両方とも有効にしましたが、まだ動作しません:
Microsoft SQL Server 2012を使用していますが、ユーザーには完全な権限があります。
サーバーは、デフォルトでのみWindows認証に設定されました。エラーの原因はそれであるという通知はないため、それを把握するのは困難です。 SQL Management Studioは、SQL認証のみでユーザーを作成した場合でも警告を発しません。
したがって、答えは次のとおりです。WindowsからSQL認証に切り替える:
properties
を選択します。security
タブを選択します。SQL Server and Windows Authentication mode
を有効にします。これで、ログイン/パスワードで接続できます。
これを解決するには、Windows認証を使用してSQL Management Studioに接続し、サーバーノードの[プロパティ]-> [セキュリティ]を右クリックして、SQL ServerおよびWindows認証モードを有効にします。 「sa」を使用している場合は、アカウントが有効になっていることを確認してください。これを行うには、ログインの下で「sa」を開き、ステータスを表示します。
これが機能しない場合は、SQL Serverの再インストールが必要になる場合があります
SQL資格情報を使用してログインしようとしている場合は、レジストリでSQL ServerのLoginModeを変更して、SQL Server認証とWindows認証の両方を許可することもできます。
また、TCP/IP接続を強制すると(localhost
または127.0.0.1
の代わりに.
を提供することにより)、エラーの本当の理由を明らかにすることができます。私の場合、接続文字列で指定されたデータベース名が正しくありませんでした。
したがって、チェックリストは次のとおりです。
私はこの問題に二度直面し、以前の回答はすべて失敗しました。幸いなことに、次のリクエストが仕事をします
Alter login [user] with CHECK_POLICY = OFF
go
Alter login [user] with CHECK_POLICY = ON
go
だから、統合セキュリティのためにこれも最近持っていました、私の問題は実際に修正するのはかなり簡単でしたが、主に「Trusted_Connection = True」接続文字列に。
私はそれがかなり明白に思えるかもしれませんが、接続文字列形式を connectionstrings.com からコピーし、接続文字列のその部分が欠落していることに気付くまで20分ほどかかりました。
シンプルで、少し気が抜けたように感じますが、それは私にとっての答えでした。
私の場合、ログインユーザーのパスワードの有効期限が切れ、同じ例外が発生しました。次に、Windows認証モードでログインし、関連するユーザーのパスワードを変更すると、問題が解決しました。
「サーバーとの接続は正常に確立されましたが、ログインプロセス中にエラーが発生しました。(プロバイダー:共有メモリプロバイダー、エラー:0-パイプのもう一方の端にプロセスがありません。)」
私の接続は次のとおりです。
server = POS06\SQLEXPRESS; AttachDbFilename = C:...\Datas.mdf; Initial Catalog = Datas;ユーザーID = sa; Pwd = 12345;接続タイムアウト= 10;
しかし、私のSQLはPOS06\MSQL2014です
接続文字列を変更します
server = POS06\MSQL2014; AttachDbFilename = C:...\Datas.mdf; Initial Catalog = Datas;ユーザーID = sa; Pwd = 12345;接続タイムアウト= 10;
出来た。
他の回答に従ってください。まだ機能しない場合は、コンピューターを再起動して、WindowsでSQL Serverサービスを効果的に再起動してください。
[セキュリティ]-> [ログイン]でユーザーが指定されていることを確認します(指定されていない場合)-追加して再試行してください。