解決済み: プロバイダー: 共有メモリ プロバイダー、エラー: SqlServer への接続時に 0 - パイプラインの反対側にプロセスがありません [ピット レコードを踏む SqlServer への C# 接続]

1. SqlServer に接続する場合、プロバイダー: 共有メモリ プロバイダー、エラー: 0 - パイプラインの反対側にプロセスがなく、SqlServer に接続する場合、ユーザー 'sa'... ログインに失敗しました

パイプの反対側にプロセスがないというエラーが発生した場合は、次のアクションを実行する必要があります。

  1. Sql Server Management Studio に移動し、データベース サーバーを右クリックして [プロパティ] をクリックします。
    ここに画像の説明を挿入

  2. [セキュリティ] 列で、サーバー認証モードを [Sql Server および Windows 認証モード] に変更し、[OK] をクリックします。

ここに画像の説明を挿入

  1. セキュリティのユーザーで、saユーザーを選択して変更し、ステータスバーの「データベースエンジンへの接続を許可するかどうか」を付与に設定し、ログイン名を有効にします。

ここに画像の説明を挿入
ここに画像の説明を挿入

  1. Sql Server ネットワーク構成ツールを開き (スタート メニューで検索するだけ)、MSSQLSERVER のプロトコル TCP/IPを有効にします。

ここに画像の説明を挿入

  1. 上記の 4 つの手順を実行しても問題が解決しない場合は、データベース接続ステートメントで間違ったインスタンス名が記述されていないかどうかを検討する必要があります。

Data Source = の後のインスタンス名が正しいかどうかを確認します

 string connString = "Data Source=.\\SQLEXPRESS;database=Patients;uid=sa;pwd=123456";

2. インスタンス名 mssqlserver と sqlserver の違い

mssqlserver と sqlserver:
類似点: mssqlserver と sqlserver はどちらもデータベースの
違いです:

  1. mssqlserver と sqlserver は、1 つのデータベースの下にある 2 つの異なるインスタンスです
  2. sqlserver 2005 の既定値は mssqlserver (ms は Microsoft を意味します) であり、sqlexpress は sql のインストール時に作成される新しいインスタンスです。

ヒント: 既定のインスタンス (mssqlserver) 接続では、コンピューター名 (. はマシンを表します) \ インスタンス名は必要ありません。カスタム インスタンス (sqlexpress) 接続では、コンピューター名 (. はマシンを表します) \ インスタンス名が必要です。

  1. Sqlexpress は mssqlserver の簡略化されたバージョンであり、無料であり、機能ははるかに少なくなっています。テストに適しています。Ms SQL SEver は有料版で、SQL Express よりも強力です。

おすすめ

転載: blog.csdn.net/m0_63622279/article/details/129594947