Windows11にSQL Server2022とSSMSを導入してA5SQLでデータベース接続するまでにやったこと

SQL に慣れるためローカル上で実行環境を作成しようとした際に少し詰まったので、やったことをメモしておく

# 環境

Windows11 23H2
SQL Server2022
SQL Server Management Studio 20.2 （以降 SSMS と呼ぶ）
A5SQL 　最新版(2.20.2)

## それぞれの役割

SQL Server・・・Microsoft のリレーショナルデータベース管理システム
SSMS・・・SQL Server の管理・開発を行うための統合ツールで、データベースの作成、クエリ実行、バックアップなどを簡単に実行できる
A5SQL・・・多機能な SQL 開発ツールで、SQL クエリ実行や ER 図作成、データベース管理に使用する

SSMS 上でもクエリを書いたり実行したりは出来ますが、A5SQL が便利で人気も高いようなのでまとめて導入したいと思います。


## 1. SQL Server のインストール

1. [SQL Server ダウンロードページ](https://www.microsoft.com/ja-jp/sql-server/sql-server-downloads)にアクセス
2. 「開発者向け無料ダウンロード」の「Developer」版を選択（個人開発用）
3. ダウンロードしたインストーラーを実行
4. インストールの種類で「基本」を選択（簡易インストール）
   - より詳細な設定が必要な場合は「カスタム」を選択
5. インストール場所を確認し、「インストール」をクリック
6. インストールが完了したら「閉じる」をクリック

### SQL Server インストール時の注意点

- インストール完了時に表示される接続文字列をメモしておくと便利
- インストール中に設定した SA パスワードは忘れないようにメモしておく
- 基本インストールでは以下の機能がインストールされる：
  - データベースエンジン
  - SQL Server 管理ツール
  - 接続クライアント

## 2. SSMS のインストール

1. [SSMS ダウンロードページ](https://learn.microsoft.com/ja-jp/ssms/download-sql-server-management-studio-ssms)にアクセス
2. 「SQL Server Management Studio (SSMS) のダウンロード」をクリック
3. 日本語版をダウンロード（英語版をインストールすると後々日本語化設定ができない）
4. ダウンロードしたインストーラーを実行
5. インストール場所を確認し、「インストール」をクリック
6. インストールが完了したら「閉じる」をクリック

### SSMS インストール時の注意点

- インストール中に他のアプリケーションを閉じるよう求められる場合がある
- インストール完了後、Windows Update で最新の更新プログラムを適用することを推奨
- SSMS は SQL Server とは別のアプリケーションなので、別途インストールが必要

## 3. A5SQL のインストール

1. [A5SQL ダウンロードページ](https://a5m2.mmatsubara.com/)にアクセス
2. 「ダウンロード」ボタンをクリック
3. 最新版（執筆時点では 2.20.2）をダウンロード
4. ダウンロードしたインストーラーを実行
5. インストール場所を確認し、「次へ」をクリック
6. インストールが完了したら「完了」をクリック

### A5SQL インストール時の注意点

- 初回起動時にライセンス確認画面が表示される（個人利用は無料）
- ODBC ドライバーが必要な場合は、追加でインストールする必要がある
- 設定のインポート/エクスポート機能を使うと、複数の環境で同じ設定を共有できる

### Windows 側の設定

SQL Server を使用するためには、以下の Windows 側の設定が必要です：

1. **Windows ファイアウォールの設定**

   - SQL Server のポート（TCP/1433）と SQL Server Browser（UDP/1434）の通信を許可する
   - Windows ファイアウォールの詳細設定から、「受信の規則」に新しい規則を追加
   - 「ポート」を選択し、TCP/1433 と UDP/1434 を追加

2. **Windows サービスの確認**

   - 「サービス」アプリケーションを開く（Windows キー + R → services.msc を入力）
   - 以下のサービスが実行中であることを確認：
     - SQL Server (MSSQLSERVER)
     - SQL Server Browser
   - 自動起動に設定しておくと便利

### SQL Server の設定

1. **認証モードの設定**

   - SQL Server 構成マネージャーを開く
   - 「SQL Server のサービス」→「SQL Server (MSSQLSERVER)」を右クリック →「プロパティ」
   - 「セキュリティ」タブで認証モードを設定
   - 開発環境では「混合モード（SQL Server 認証と Windows 認証）」を選択すると便利

2. **ネットワーク設定**

   - SQL Server 構成マネージャーで「SQL Server ネットワークの構成」→「MSSQLSERVER のプロトコル」
   - TCP/IP を有効化する

### SSMS の設定

1. **接続設定**

   - サーバー名：PC 名\SQLEXPRESS（SQL Server インストール時に設定した名前）
   - 認証方法： SQL Server 認証
   - ログイン： sa
   - パスワード：SQL Server インストール時に設定したパスワード

2. **A5SQLに接続するデータベースを作成する**

   - データベースを右クリック→新しいデータベース
   - 名前以外は特に変えず作成


### A5SQL の設定

1. **接続設定**

   - 「ファイル」→「データベース接続設定」
   - 新規接続の追加：
     - 接続名：任意の名前（例：「ローカル SQL Server」）
     - データベース種類：「SQL Server」を選択
     - サーバー名：PC 名\SQLEXPRESS（SQL Server インストール時に設定した名前）
     - 認証方法：SQL Server 認証
     - ログイン： sa
     - パスワード：SQL Server インストール時に設定したパスワード
     - データベース名：接続するデータベース名

2. **エディタ設定**

   - 「ツール」→「オプション」→「エディタ」
   - フォント、色、インデント、タブ幅などを設定
   - コード補完機能の設定


### エラーが発生する場合確認すること

#### 接続エラー

1. **ポート開放の確認**

   - SQL Server のデフォルトポート TCP/1433
   - SQL Server Browser のデフォルトポート UDP/1434
   - 動的ポートを使用している場合はおそらく関係ない

2. **サービスの稼働確認**

   - Windows のサービス画面で以下のサービスが実行中か確認：
     - SQL Server (MSSQLSERVER)
     - SQL Server Browser
   - 停止している場合は右クリックで「開始」を選択

3. **TCP/IP プロトコルの有効化確認**

   - SQL Server 構成マネージャーで「SQL Server ネットワークの構成」→「MSSQLSERVER のプロトコル」
   - TCP/IP が無効になっている場合は右クリックで「有効」を選択
   - 設定変更後は SQL Server サービスの再起動が必要

4. **認証モードの確認**
   - SQL Server 認証を使用している場合、混合認証モードが有効になっているか確認
   - SQL Server Management Studio でサーバーを右クリック →「プロパティ」→「セキュリティ」
   - 「SQL Server と Windows 認証モード」が選択されているか確認


## 参考にしたサイト
https://qiita.com/portfoliokns3/items/9e3d1196d680a39dd223

https://www.shihonakaoka.com/knowledge/_A5m2SqlServer.php

https://www.k-core.co.jp/mitumori/lan/tcpipenable

https://zenn.dev/onishichi/articles/f5b01cf85aeb19

https://a5m2.mmatsubara.com/wp/?topic=sql-server%E3%81%B8%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E6%8E%A5%E7%B6%9A%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84

### 自分用メモ
再度設定する時は画像を取っておく