SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

SQL Server入門

SQL Serverの構造を理解する


 あっというまに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は、その名の通りユーザーのデータを格納するデータベースです。

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

次のページ
プロセス/スレッド構成

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
SQL Server入門連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/8016 2016/05/16 17:30

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング