問題①:アプリからSQL Serverに接続できない
エラーメッセージ: ユーザー '
ユーザ名
' はログインできませんでした。
原因と対策
原因 | 対策 |
---|---|
SQL Server 認証モードが「Windows認証のみ」だった | SQL Server 構成マネージャー → 認証モードを「SQL Server + Windows認証」に変更し、SQL Server サービスを再起動 |
ログインが存在しない | CREATE LOGIN を実行して作成 |
ログインが「無効」になっていた | ALTER LOGIN で有効化 |
データベースにユーザーが存在しない | CREATE USER を USE DB名 内で実行 |
アプリの接続文字列が間違っている | C# の app.config の connectionString に正しい「Server」「Database」「User Id」「Password」を指定※ TrustServerCertificate=true; も追加済み |
SQL Server ポート(1433)が開いていなかった | SQL Server 構成マネージャーでTCP/IPを有効化、1433を固定指定、ファイアウォールで許可、サービス再起動 |
問題②:SSMSでユーザーマッピング追加時にエラー
エラーメッセージ: ユーザー '
' は既に存在します。ユーザ名

原因
- 該当データベース内に既にユーザー
が存在していたため、二重作成になっていた。<
>ユーザ名
対策
CREATE USER
ではなくALTER USER
を使用し、既存のログインと関連付ける
USE 該当データベース;
ALTER USER ユーザ名
WITH LOGIN = ユーザ名
;
問題③:ping応答はあるのに、SQLポート(1433)が疎通しない
確認コマンド
Test-NetConnection -ComputerName IPアドレス
-Port 1433
原因
- SQL ServerのTCP/IPが無効だった or ポート未固定 or ファイアウォール未設定
対策
- 「SQL Server 構成マネージャー」 >
TCP/IP
を有効化 IPAll
セクションの TCPポート = 1433 に設定

- サーバーのファイアウォールを以下で一時的に無効化確認
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
または以下でポート許可を追加
New-NetFirewallRule -DisplayName "SQL Server 1433" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow
テスト・検証手順のポイント
テスト内容 | ツール | 成功条件 |
---|---|---|
ping応答確認 | ping | 応答あり |
ポート開放確認 | Test-NetConnection | TcpTestSucceeded : True |
SQLログイン確認 | SSMS | SQL Server 認証でログイン成功 |
C#アプリ接続確認 | アプリ起動 or テストコード | 接続成功し、例外発生なし |
最終的に成功した接続文字列(C#)
<connectionStrings>
<add name="IIMSConnection"
connectionString="Server=IPアドレス
,1433;
DataBase=データベース名
;
User Id=ユーザ名
;
Password=パスワード
;
TrustServerCertificate=true;"
providerName="Microsoft.Data.SqlClient"/>
</connectionStrings>
📌 参考:認証モード変更後のサービス再起動(必須)
- SQL Server 構成マネージャーを開く
- 該当インスタンスを右クリック → 再起動