はじめに
この記事では、世界で最も普及しているデータベース管理システムの一つであるSQL Server の無償版と、その管理ツール
- SQL Server 2022 EXPRESS
- SQL Server Management Studio (SSMS)
の会社・自宅への導入検討資料として、その主要な特徴、制限、そしてインストールに必要なハードウェア要件とインストール手順、そしてその設定手順についてわかりやすくご紹介します。
この記事は、Microsoft Access から SQL Serverへのアップサイジングをご検討の方を始め、初心者から経験豊富なプロフェッショナルまで、誰もが参考にできる実用的なリソースですので、SQL Server 導入に興味のある方はぜひご覧ください。
SQL Server Express とは?
SQL Server Expressは、Microsoftが提供する無料エディションのSQL Serverです。
このデータベースシステムは、小規模なアプリケーションやデータ駆動型のウェブサイトに適しており、特に中小企業や独立したソフトウェアベンダーに人気があります。
SQL Server Expressは、フルバージョンのSQL Serverのすべての機能を持っているわけではありませんが、
- Microsoft Azure版等のSQL Serverと比べて月額年額のサブスクリプション費用がかからない
- 必要に応じて、後でより大きなエディションにアップグレードすることが可能
といったことから小規模なデータベースアプリケーションや学習目的には理想的な選択肢の一つではないでしょうか。
SQL Server Express の主な特徴と制限
主な特徴と制限 | 説明 | |
---|---|---|
1 | コスト効率 | SQL Server Expressは無料で提供されているため、初期コストを気にせずにデータベースソリューションを導入することができます。 |
2 | サイズ制限 | 各データベースの最大サイズは10GBまでです。これは、小規模アプリケーションやウェブサイトには十分な容量ですが、大規模なエンタープライズレベルのアプリケーションには適していません。 |
3 | ツール | SQL Server Expressには、データベースの作成、管理、データのバックアップなどを行うための基本的なツールが含まれています。SQL Server Management Studio (SSMS) などのツールも無料で使用でき、Expressエディションのデータベースを管理することができます。 |
4 | パフォーマンスとスケーラビリティ | Expressエディションは、使用できるメモリやCPUの数に制限がありますが、小規模なアプリケーションには十分なパフォーマンスを提供します。 |
5 | セキュリティ | SQL Server Expressも、フルバージョンのSQL Serverと同様のセキュリティ機能を備えています。これには、ロールベースのセキュリティ、行レベルのセキュリティ、透過的なデータ暗号化などが含まれます。 |
6 | クラウドとの統合 | SQL Server Expressは、Microsoft Azureとの統合が可能で、クラウドでのバックアップやさらに高度なサービスを利用することができます。 |
SQL Server Express インストールのためのハードウエア要件
SQL Server Expressをインストールするためのハードウエア要件は以下の通りです。
これらの要件は、SQL Server のバージョンやインストールする特定の機能によって異なる場合があるので、常に最新の公式ドキュメントを参照して、特定の環境やシナリオに適した要件を確認ください。
主な要件 | 説明 | |
---|---|---|
1 | プロセッサータイプ | – 64 プロセッサ: AMD Opteron、AMD Athlon 64、Intel Xeon with Intel EM64T support、Intel Pentium IV with EM64T support – x86 プロセッサ: Pentium III 互換以上 |
2 | プロセッサ速度 | 推奨: 2.0 GHz 以上 |
3 | メモリー最小要件 | 推奨: 1 GB 以上 |
4 | ディスク スペース | SQL Server Express のディスク容量要件は、使用する機能とコンポーネントによって異なりますが、最小で 6 GB |
SQL Server Management Studio (SSMS) とは
SSMS(SQL Server Management Studio)は、Microsoft SQL Serverの管理を行うための統合環境です。
ユーザーは、このツールを使用してSQL Serverインスタンスを管理し、データベースを設定し、データをクエリし、スクリプトを作成することができます。
SSMSは、データベース管理者(DBA)、開発者、データ分析者にとって、日常の作業を効率的に行うための重要なツールです。
SSMSは、ローカルまたはリモートのSQL Serverインスタンスに接続し、データベース管理タスクを中央で行うことができる無料の強力なツールであり、定期的に更新されています。
主な特徴と制限 | 説明 | |
---|---|---|
1 | グラフィカルなインターフェース | SSMSは、データベースの構造、ストアドプロシージャ、セキュリティ設定など、SQL Serverのさまざまな側面を視覚的に表示し、操作するためのグラフィカルなインターフェースを提供します。 |
2 | クエリエディタ | T-SQL(Transact-SQL)クエリの作成、編集、実行を行うためのテキストエディタを備えています。このエディタは、シンタックスハイライト、コード補完、クエリ実行計画の表示などの機能を提供します。 |
3 | データベースの設計と管理 | ユーザーは、新しいデータベースを作成したり、既存のデータベースを管理したりすることができます。これには、テーブル、インデックス、ビュー、関係などのデータベースオブジェクトの作成と変更が含まれます。 |
4 | セキュリティ管理 | SQL Serverのセキュリティ設定を管理するためのオプションを提供します。これには、ログインアカウントの作成、ユーザーとロールの割り当て、アクセス許可の設定などが含まれます。 |
5 | バックアップと復元 | データベースのバックアップを取得し、障害の場合にデータベースを復元する機能を提供します。 |
6 | パフォーマンスモニタリングとチューニング | システムのパフォーマンスを監視し、問題を診断し、データベースのパフォーマンスを最適化するためのツールが含まれています。 |
7 | データのインポートとエクスポート | データを他のデータベースやファイルにインポートしたりエクスポートしたりするためのウィザードを提供します。 |
T-SQL(Transact-SQL)は、Microsoft SQL Serverで使用される拡張されたSQL(Structured Query Language)です。
SQLは、リレーショナルデータベース管理システム(RDBMS)でデータを操作したり、クエリを実行したりするための標準的なプログラミング言語ですが、T-SQLは、標準SQLの機能セットに、プログラムの流れを制御追加するための追加のプログラミング構造(例えば、変数、ループ、条件分岐など)、組み込み関数、ストアドプロシージャ、トリガーなどが追加されています。
SQL Server Expressのインストール
これらの手順はWindows Server 2019 Essentials上にインストールしたSQL Server Expressの場合でも全く同一です。
ダウンロード方法
この記事を執筆中の2023年10月時点で最新のSQL Server 2022 EXPRESS は以下URLからダウンロードできます。
このリンクを開くと以下のような画面となるので、インストールしたいPC内からこの画面右下にある「または、無料の専用エディションをダウンロード」の欄にある「Express」の「今すぐダウンロード」ボタンをクリックすると
インストールPCのダウンロードフォルダに「SQL2022-SSEI-Expr.exe」というインストーラーがダウンロードされます。
SQL Server 2022 Express Edition インストール手順
まずダウンロードフォルダの先ほどの「SQL2022-SSEI-Expr.exe」を右クリックして管理者として実行してインストーラーを起動すると、以下の画面が現れるので、「基本(B)」をクリックします。
「ライセンス条項」を確認後「同意する」をクリックします。
「インストール場所」を確認後、必要に応じて変更し「インストール(I)」をクリックします。
すると以下のように画面が遷移した後
次の画面となったら、SQL Server 2022 Express Edition のインストールは終了です。
SQL Server Management Studio インストール手順
続いて先ほど画面下の「SSMSのインストール(I)」をクリックすると、以下のURLが開くので、「使用できる言語」をクリックします。
次に現れた画面から「日本後」をクリックすると
インストールPCのダウンロードフォルダに「SSMS-Setup-JPN.exe」というインストーラーがダウンロードされるので
この「SSMS-Setup-JPN.exe」を右クリックして管理者として実行すると以下の画面が現れるので、インストール場所を確認し、必要に応じて変更後「インストール(I)」ボタンをクリックします。
しばらくして以下の画面が現れたらSSMSのインストールは無事終了しましたので「閉じる(C)」を押してインストール作業を終了します。
そして最後にSQL Server 2022をインストールしたPCを再起動して下さい。
この再起動によりSQL Server 2022が初期設定され利用可能になります。
SQL Server Expressの設定
ログイン
Windowsのスタートメニューにある次のような
- Microsoft SQL Server 2022
- Microsoft SQL Server Tools 19
のうち、この「Microsoft SQL Server Tools 19」からSSMSを起動します。
すると以下のような接続ダイアログ画面が現れ、この「サーバ名(S)」のフィールドに
「SQL Server 2022 ExpressをインストールしたPC名\SQLEXPRESS」あるいは「≪参照≫」と表示されるので、「SQL Server 2022 ExpressをインストールしたPC名\SQLEXPRESS」と表示されているときはそのまま「接続(C)」をクリックします。
「≪参照≫」と表示されているときは、この「≪参照≫」をクリックすると以下のダイアログが現れるので、「データベースエンジン」の前の「+」をクリックして展開し
現れた「SQL Server 2022 ExpressをインストールしたPC名\SQLEXPRESS」をクリックして選択後「接続(C)」をクリックし
再度現れた接続ダイアログ画面で「接続(C)」をクリックします。
すると、SSMSがSQL Server Express に接続され、次のようなSSMSの画面が表示されます。この左側のオブジェクトエクスプローラの最上部で(サーバ名をぼかしている)部分が、接続しているSQL Server 名を表しています。
この「インストールしたPC名\SQLEXPRESS」はAccess VBA等を使ったSQL Serverとのシステム構築の際、接続文字列の一部として使用するので、必ずメモを取って保管して置きましょう。
認証方式設定
次に今選んだ「SQL Server 名」にマウスをあて右クリックから現れるコンテキストメニューで「プロパティ(R)」を選択します。
すると以下の「サーバのプロパティ」画面が現れるので、左側の「セキュリティ」をクリックします。
すると、以下の「サーバのプロパティ」画面の「サーバー認証」の選択値が
- Windows 認証モード(W)
となっているので、これを
- SQL Server 認証モードとWindows認証モード(S)
に変更して「OK」をクリックします。
するとサーバの再起動を促されますので「OK」ボタンをクリックしてこのダイアログ画面を閉じたあと、先ほどの「SQL Server 名」にマウスをあて右クリックから現れるコンテキストメニューで「再起動(A)」を選択します。
ここで再起動するかという警告ダイアログ画面が出ますので「はい(Y)」をクリックします。これによりSQL Server が再起動され、次回のSQL Serverへのログインの際、次のようなSQL Server認証方式が使えるようになり、このあと作成するログイン名とパスワードでログイン出来るようになります。
Windows認証 | Windowsのコンピュータにログインする際に使用した認証情報をそのまま使う認証方式。 |
SQL Server認証 | SQL Server にログインする際のログイン名、パスワードをWindowsへの認証情報とは別に定義する認証方法です。 |
データベース作成
それでは早速SQL Server上にデータベースを作成しましょう。
先ほどの「SQL Server 名」の下にある「データベース」にマウスをあて右クリックから現れるコンテキストメニューから「新しいデータベース(N)…」を選択します。
すると「新しいデータベース」画面が現れるので、「データベース名(N)」フィールドに自分の好きなデータベース名を英数字で記入し(この例では[myDB]としています)、「OK」をクリックします。
ここで作成する「データベース」はあるプロジェクトや業務システムが使用する複数のテーブルやクエリ等をまとめたもので、1つのSQL Server に対して目的に応じて複数定義することが出来ます。
このデータベース名も業務システム構築の際に対象データベースを特定するための接続文字の一部として使用しますので、他の情報同様に必ずメモを取って保管して置きましょう。
ユーザーアカウント作成
次に、「SQL Server 名」の下にある「セキュリティ」の前にある「+」をクリックし
現れた「ログイン」を右クリックして「新しいログイン(N)…」を選択します。
そして「ログイン-新規作成」画面で「ログイン名(N)」を入力し、「SQL Server認証」を選択した後、任意の「パスワード(P)」およびその「パスワードの再入力(C)」を記入して、さらに「パスワードポリシーを適用する(F)」の前のチェックを外し、「OK」をクリックします。
この「ログイン名(N)」、パスワード(P)は先ほどのSQL Server にログインする際のログイン名、パスワードで、SQL Serverへのログインの他に、業務システム構築の際に接続文字の一部として使用されますので、必ずメモを取って保管して置きましょう。
パスワードポリシーとは例えば、3か月ごとにパスワードを更新しなければならないといったルールのことです。
業務システム内で接続文字としてパスワードを使用する際、こういったルールを適用すると、運用が難しくなるため、ここでは未適用とします。
権限設定
続いてこの新規ユーザーにどんな権限を与えるかを設定します。
具体的には先ほどの「ログイン-新規作成」画面左の「サーバーロール」をクリックして現れる全てのサーバーロールの前をにあるチェックボックスを全てチェックして、「OK」をクリックします。
サーバーロールは、Microsoft SQL Serverにおいてロール(役割)を予め特定の権限グループとして定めたものであり、管理者はこれらを各ユーザーに割り当てることでそのユーザーが実行可能な一連のタスクを制限できます。
権限グループ | 説明 |
---|---|
bulkadmin | BULK INSERTコマンドを使用したデータの一括インポートを行う権限を持っています。 |
dbcreator | 新しいデータベースを作成し、既存のデータベースを変更または削除する権限を持っています。 |
diskadmin | ディスクに関連するタスク、特にディスクの管理に関するタスクを実行する権限を持っています。 |
processadmin | 実行中のプロセスを管理する権限を持っています。このロールのメンバーは、サーバー上のすべてのプロセスを終了させることができます。 |
public | すべてのログインに自動的に付与されるロールで、特別な権限はありませんが、ユーザーがシステムにアクセスするための基本的な権限を提供します。 |
securityadmin | ログインを管理し、パスワードポリシーを設定する権限を持っています。このロールは、セキュリティに関連する問題に対処するために使用されます。 |
serveradmin | サーバーの全般的な設定を変更したり、サーバーをシャットダウンする権限を持っています。 |
setupadmin | SQL Serverの起動オプションを設定し、リンクされたサーバーを管理する権限を持っています。 |
sysadmin | このロールのメンバーは、サーバーのすべての活動を実行できます。最も強力なロールであり、サーバー内のほぼすべてに対する無制限の権限を持っています。 |
ユーザーマッピング
最後にこの新規ユーザーが利用可能なデータベースへのマッピングを行います。
具体的には先ほどの「ログイン-新規作成」画面左の「ユーザーマッピング」をクリックして現れるデータベースのうち、この新規ユーザーにアクセスを許容するデータベースのチェックボックスをチェックし、さらにこの「myDB」に対するロールメンバシップの全ての項目にチェックして「OK」をクリックします。
システムデータベースの非表示設定
SQL Server には構築時にSQL Serverの稼働に向けて自動的に生成されるシステム用のデータベースがありますが、通常一般ユーザーがこれらにアクセスするのは好ましくないため、オプション設定でこれらを非表示にします。
具体的にはSSMSの「ツール(T)」メニューから「オプション(O)」を選択し
現れた「オプション」画面の左側で「スタートアップ」を選択し、右側の
- オブジェクトエクスプローラのシステムオブジェクトを非表示にする
の前のチェックボックスにチェックを付け、続いて「OK」をクリックします。
その他オプション設定
もう一つ、データベース内のテーブル定義を開発中の利便性を高めるため、このオプション中の
デザイナー > テーブルデザイナーおよびデータベースデザイナー
を選択した際に右側に現れる
- テーブルの再作成を必要とする変更を保存できないようにする
というオプションのチェックを外し、「OK」をクリックします。
このオプションにチェックがされたままだと、テーブルの仕様変更時に「このテーブル仕様の変更は保存できない」といった警告が現れ、変更の保存ができないためです。
これらのオプション設定の変更は一旦SSMSを終了し、再度ログインすることで有効になります。
ログアウト
SSMSの「ファイル(F)」メニューから「終了(X)」を選択するとSQL Server からログアウトすることができます。次回ログインの際にはSQL Server認証でログインしましょう。
おわりに
この記事では、世界で最も普及しているデータベース管理システムの一つであるSQL Server の無償版と、その管理ツール
- SQL Server 2022 EXPRESS
- SQL Server Management Studio (SSMS)
の会社・自宅への導入検討資料として、その主要な特徴、制限、そしてインストールに必要なハードウェア要件とインストール手順、そしてその設定手順についてわかりやすくご紹介しました。
この記事が、Microsoft Access から SQL Serverへのアップサイジングをご検討の方に少しでもお役にたてれば幸いです。
Microsoft Access の利用スケールの拡大に伴い顕在化する、スピードの問題、同時アクセスの問題、バックアップの問題、セキュリティの問題等の運用上の課題解決の方法として、本格的なデータベースへのアップサイジング(移行)を検討されている方は、選択子の一つとして検討されることをお勧めします。