Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)テクノロジーでビジネスを加速するための実践Webメディア

テーマ別に探す

SQL Serverの構造を理解する

2016/05/13 06:00

 あっというまに5月になりました。新しい環境でデータベースを学び始めた方も多いのではないでしょうか?本連載では、データベースを学び始めた方々に、SQL Serverのリレーショナルデータベースの構造や基本的な利用方法などをお伝えしていきたいと思います。

 リレーショナルデータベースの構造を理解することは、データベースを活用したアプリケーション開発や運用管理、チューニング手法等を習得するための基礎となります。

 また、昨今リレーショナル データベース以外にもHadoopやDocument DB等の新しい発想のデータベースが提供されていますが、そのような新しいテクノロジーの特性やメリット・デメリットを理解するための土台となるリレーショナルデータベースの基礎を学んでいただければと思います。

 本記事では、SQL Serverリレーショナルデータベースをインストールする際に、最低限理解しておく必要がある、基本的な構造についてご説明いたします。

インスタンスとデータベースの関係

 SQL Serverではインスタンス(Windowsのサービス)とデータベースとの関係は、1:Nとなり、複数のデータベースで構成されています。また、OS上に複数のSQL Serverインスタンスを配置することも可能です。

 OS:1 < インスタンス:N < データベース:N
 OS:1 < インスタンス:N < データベース:N

データベース構成

 インスタンスを構成するデータベースには、System DatabaseとUser Databaseの2つの要素で構成されています。

 System Databaseはインスタンスレベルのメタデータ(インスタンスレベルの制御情報、ユーザー情報)や一時作業領域として利用されます。各システムテーブルの利用用途は下記表の様になります。

 SQL Serverの特徴的な構成としては、masterデータベースがあります。

 SQL Serverは、起動時に設定ファイルから起動パラメータ読み取るのでは無く、インスタンスレベルの各種パラメータ情報をmasterデータベースで管理しているため、メモリやプロセッサ設定、その他各種パラメータの多くがSQL Serverの稼働中に変更可能で、インスタンスの再起動が不要となっています。

 msdbデータベースは、SQL Serverエージェントが使用するデータベースで、ジョブのスケジューリングや警告、オペレータ情報、その他にジョブ実行履歴やバックアップ履歴などが格納されます。ジョブ実行履歴やバックアップ履歴は累積されるため、放っておくとデータベースが肥大してしまうこともありますので、定期的なメンテナンスが必要です。

 定期メンテナンスは、SQL Server Management Studioからメンテナンスプランを作成して[履歴のクリーンナップ]の設定を行うことで、定期メンテナンスジョブの作成が出来ます。

 tempdbデータベースは、クエリ実行時の一時作業領域として利用されるだけではなく、最近のSQL Serverでは、スナップショット分離レベルのバージョンストアや、インデックスメンテナンス時の作業領域など、多く機能で利用されるために、性能面を考慮した最適な物理設計を行う必要があります。

 SQL Server 2014以前では、SQL Serverのインストール後に、tempdbのベストプラクティスに則した構成変更を個別に行う必要がありましたが、SQL Server 2016ではインストール時にハードウェア構成を自動的に判断して、最適な構成でtempdbを構成することが出来るようになっています。

tempdb 複数ファイルグループの設定(SQL Server 2016新機能)

 SQL Server 2016のセットアップ実行時に、tempdbのデータファイル数を環境に合わせて設定する(8または搭載CPUコア数の小さい値を既定値とする)

tempdbファイルグループ設定

User Database

 User Databaseは、その名の通りユーザーのデータを格納するデータベースです。

 データベース毎にデータファイルとログファイルを個別に管理していますので、バックアップやメンテナンス等の管理単位はデータベース単位となります。

※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 佐藤秀和(サトウヒデカズ)

     日本マイクロソフト株式会社  クラウド&ソリューションビジネス統括本部  データプラットフォーム技術部  SQL ServerやAzureなどデータプラットフォーム製品の技術営業チームに所属。SQL Server 2000のリリース直後にマイクロソフトへ入社。入社以来SQL Serv...

バックナンバー

連載:SQL Server入門

この記事もオススメ

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5