連載 [第1回] :
SQL Serverイントロダクション入門者向けにとどまらないSQL Serverの魅力
2007年7月20日(金)
SQL Serverのデータベース基本機能
一般的なデータベースも同様ですがSQL Serverには、データを安全に蓄積・管理・運用するために次の表1に示す機能が用意されています。
機能 | 概要 |
---|---|
データ定義・ データ操作 |
データの定義、検索、登録、変更、削除などの操作が可能 |
データ整合 | 同時アクセスや誤った操作などによるデータの不整合を防ぐ機能 |
トランザクション 管理 |
処理(トランザクション)の成功や失敗を管理し、失敗時の変更の取り消し・データの復元を行う |
バックアップ・ 復旧 |
障害発生に備えたデータのバックアップや、実際の障害発生時に作成したバックアップを戻したり、障害発生直前のデータに戻す(復旧させる)ための機能 |
データ分散・ 可容性 |
サーバダウン時に正常稼働しているサーバに切り替えるためのシステム冗長化機能 |
セキュリティ・ 認証 |
不正アクセスなどからデータを守るための認証機能やデータ暗号化機能 |
SQL Serverの基本機能は、表1をみてわかる通り、データを「蓄積する、抽出する」というきわめて基本的な作業を、より効率的に、かつ安全に実現するためのものです。
通常のデータベースを含めSQL Serverは、基本的にシステムやアプリケーションから利用されるため(厳密にはそうでないデータベースソフトもありますが)、複数のコンピュータから同時にアクセスや操作が行われたり、システム側のエラーにより予期しないデータ操作が行われることを前提にし、それらによるデータの破損や不整合の発生などを予防する機能が必要となります。
例えば、複数のユーザがあるデータに対し同時に変更処理を行ってしまうことがあります。そのような場合、書き換えを行っている途中で別のユーザがまた別の情報に書き換えできてしまうことで、データが破損してしまう可能性があります。それらを防ぐためにSQL Server側では排他処理として変更中のデータにアクセスできないようにロックをかけることができます。
また、処理中によからぬエラーが発生し、処理が途中で止まってしまった場合、整合性が取れないデータが登録されてしまうということも考えられます。このような問題によく出される例として、銀行口座の預け入れを行う途中でエラーが発生してしまい、投入した金額が通帳に書き込まれないというものがあげられます。
こういった事態が発生してしまわないようにSQL Serverには、トランザクション機能が備わっており、処理の途中でエラーが発生しても処理を取り消し(ロールバック)できるようになっています。
また、システムの障害発生などを考え、あらかじめデータベースのバックアップを取るようにスケジュール設定できたり、それらを実際に簡単に復元できる機能や、データベースが破損してしまった事態に備え、バックアップファイルを利用して破損する直前の状態に復旧させる機能なども用意されています。
このような、障害発生などによる影響をさらに最小限にとどめるための高度な機能としてSQL Serverには「クラスタリング機能」「ミラーリング機能」「レプリケーション機能」の3つが搭載されています。
クラスタリング機能は、障害が発生してSQL Serverがダウンしてしまった時に、正常稼働している別のSQL Serverに切り替えられる機能です。また、非常によく似た機能としてミラーリング機能があります。これはクラスタリングより設定が簡単で、短い時間で切り替えを実現できるといったメリットがあります。ただしクラスタリングでしかできないこともあるので(ここではページの都合で説明しませんが)、どちらを利用するかは検討する必要があります。
レプリケーションもクラスタリング、ミラーリングと同様に切り替えなどの処理を行うことができますが、基本的にはまったく同じデータをいくつものサーバに持たせるという「複製処理」を主に得意とするため、利用環境を考えた上で選択する必要があります。
必要不可欠なセキュリティ・認証機能
SQL Serverの基本機能として最後に紹介するのが、セキュリティ・認証機能です。システムには認証や権限設定は必要不可欠な機能なのであえて説明するまでもありませんが、SQL Serverにも、登録されたユーザのみが利用できるようにする認証機能や、ユーザによって操作できる内容を設定できる権限機能、さらにデータを暗号化する機能があります。
暗号化には一般的にいくつかの方式(アルゴリズム)がありますが、SQL ServerではDES、Triple DES、RC2、RC4、128ビット RC4、DESX、128ビット AES、192ビット AES、256ビット AESなど、複数のアルゴリズムを利用できるようになっています。また通信時のデータ暗号化も行えるようになっているため、安全なシステム環境を構築することが可能です。
運用ツール
ここまで、SQL Serverの基本機能を説明してきましたが、実際にはこれらを設定・管理するツールが必要となります。SQL Serverではこれらの管理ツールとして「SQL Server Management Studio」が用意されています。SQL Server Management Studioは、これまで説明してきた機能をGUIベースで設定できるツールで、日々のメンテナンスはもちろん、障害発生時の問題処理、復旧作業、また障害対策などのあらゆる設定をこのツールから行うことができます。
他のデータベースソフトでは、GUIツールがなかったり、設定する内容によっていくつものツールを利用しなければならなかったり、操作がわかりづらいなどの問題があります。しかしSQL Serverでは、基本的に管理ツールはこのSQL Server Management Studioに集約されており、操作面でもウィザードなどが多く採用されていたりと、わかりやすさや運用のしやすさなどが重視されている優れたツールとなっています。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。