第 2 章 SQL Server 2000の特徴と管理/構築ツール ~ SQL Server 一年生 - データベース基礎編 - ~

NEC
E ラーニング事業部
鈴木   智行

2003 年 4 月 21 日

目次

1. SQL Server 2000とは 1. SQL Server 2000とは
2. SQL Server 2000 のインスタンス 2. SQL Server 2000 のインスタンス
3. SQL Server 2000 のサービス 3. SQL Server 2000 のサービス
4. SQL Server 2000 にインストールされているデータベース 4. SQL Server 2000 にインストールされているデータベース
5. 管理/構築ツール 5. 管理/構築ツール

1. SQL Server 2000とは

第 1 章で紹介したとおり、 Microsoft 社の SQL Server 2000 は RDBMS を実現している製品です。ここでは SQL Server 2000 の特徴とエディションについて紹介します。

1-1 特徴

●TCO (Total Cost of Ownership : 総所有コスト ) の大幅な削減
"Easy to Use" をコンセプトにおき、ウィザードや Visual Database Tools などの初心者でも利用しやすい豊富な GUI ツールや、自動設定/自動チューニング等の機能を備えることでデータベースの管理/運用作業や開発作業を大幅に軽減することができます。

●優れたパフォーマンスの提供と高い拡張性を実現
4 ウェイ/8 ウェイ CPU 構成時や Windows 2000 Server/Server 2003 プラットフォームにおける TPC-C ベンチマークで、プライス/パフォーマンスでの圧倒的な優位性を実証しています(https://www.microsoft.com/japan/sql/evaluation/compare/benchmarksresult.asp)。

●統合ビジネス インテリジェンスのプラットフォームとソリューションを標準で提供
費用効率の高いデータウェアハウジングソリューションの構築と設計を簡単に実現するための Analysis Services や ETL ツールとしての DTS (Data Transformaiton Service) などを SQL Server に無償添付して提供しています。

●汎用的なデータアクセス方式を提供
ODBC や OLE DB などの汎用的なデータアクセス方式を提供しており、Microsoft Visual Basic、Microsoft Visual C++、Microsoft Access などのクライアントアプリケーションから統一的な利用方法でデータアクセスができます。

●単一のデータベースServer 2000 では 1 つのコンピュータに複数の SQL Server ●プラットフォームで、豊富なリレーショナル   サポートと XML の直接サポートを提供
リレーショナルデータベースとしての機能はもちろんのこと XML を標準サポートし、他の様々な業務アプリケーションとの連携を可能にします。

1-2 エディション

SQL Server 2000 と一口にいってもその種類 ( エディション ) はさまざまです。モバイルコンピュータからハイエンドなサーバーまでに対応する豊富なバリエーションを備えています。各エディションは同一のソースコードを利用することで 100% のアプリケーション互換性を提供しています。そのため私たちはスケールアップにも柔軟に対応できるので、導入の際には利用したい先進の機能やデータベースの規模に合わせて最適なエディションを選択できます。さまざまなエディションがありますが最低限覚えて欲しいのは次の 2 つのエディションです。

●SQL Server 2000 Enterprise Edition
SQL Server 2000 の全ての機能が利用でき、最大 32CPU と最大 64GB の RAM をサポートしています。大規模システムに対応すると共に高可用性/高信頼性/高パフォーマンスを実現します。Windows 2000 Server/Advanced Server/Datacenter Server 上に実装することが可能です。

●SQL Server 2000 Standard Edition
主に小規模から中規模のシステムを対象とし、最大 4CPU と最大 2GB の RAM をサポートしています。大規模システム向けの機能を除いた全ての機能をサポートします。Windows 2000 Server/Advanced Server/Datacenter Server 上に実装することが可能です。

この他、クライアント OS /モバイル環境に適用する Personal Edition や開発者向けの Developer Edittion 、小規模アプリケーションの組み込み用として使用する Desktop Engine や Windows CE 用の CE Edition があります。

これらのエディションの機能比較は「 SQL Server の各エディションの機能比較 」に掲載されているので是非確認してください。

また SQL Server 2000 Enterprise Edition を試用したい場合は、 Slammer ワームに対応済の「 SQL Server 2000 120 日間限定評価版 ReleaseA 」が無償で提供されていますのでダウンロードして豊富な機能を評価してください。

2. SQL Server 2000 のインスタンス

SQL Server 2000 では 1 つのコンピュータに複数の SQL Server 2000 システムを実装することが可能です。その 1 つ 1 つの SQL Server 2000 システムのことをインスタンスと言い、利用者はあたかも別々のコンピュータで稼動しているかのようにそれぞれのインスタンスを利用することができます。インスタンスには既定のインスタンスと名前付きインスタンスの 2 種類あります ( 図 2-0-1) 。

図

図 2-0-1 1 つのコンピュータに複数のインスタンスを構成できる

2-1 既定のインスタンス

「コンピュータ名」で接続するインスタンスのことを既定のインスタンスといいます。既定のインスタンスは 1 台のコンピュータにつき 1 つのみ可能です。

2-2 名前付きインスタンス

SQL Server 2000 のインストール時にインスタンス名を指定してインストールした場合、既定のインスタンスとは別のインスタンスとして識別することができます。このインスタンスのことを名前付きインスタンスといい、「コンピュータ名 \ インスタンス名」で接続することができます。名前付きインスタンスは 1 台のコンピュータに複数構成することが可能です。

3. SQL Server 2000 のサービス

SQL Server 2000 は Windows 2000 にインストールすると 5 つのサービスとして構成されます。

3-1 SQL Server サービス

SQL Server サービスはデータベースエンジンとも呼ばれることもある SQL Server の本体です。 SQL Server サービスはデータベースを管理し、クライアントから送信された Transact-SQL を処理します。サービス名は既定のインスタンスでは「 MSSQLSERVER 」ですが名前付きインスタンスでは「 MSSQL$ インスタンス名」になり、デフォルトで OS 起動時に自動起動します。

3-2 SQL Server エージェントサービス

SQL Server エージェントサービスはスケジュール管理エンジンであり、このサービスを利用すれば SQL Server サービスと連携して SQL Server の定期的な管理作業を自動化することができます。サービス名は既定のインスタンスでは「 SQLSERVERAGENT 」ですが名前付きインスタンスでは「 SQLAGENT $ インスタンス名」になります。しかし SQL Server サービスと異なり、デフォルトで OS 起動時に自動起動しないので注意が必要です。

詳細については「 SQL Server エージェントを有効に使ってますか? 」のコラムで解説していますので、是非参考にしてください。

3-3 Microsoft Search サービス

Microsoft Search サービスはフルテキストインデックスの作成および検索サービスです。通常の Transact-SQL では基本的な文字検索しかできませんが、フルテキストインデックスを使用すれば、 SQL Server サービスと連携して高度な文字列検索が可能になります。 Microsoft Search サービスは SQL Server のインストール時に「フルテキスト検索機能」を選択しなければインストールされないので注意してください。サービス名は Microsoft Search であり、既定のインスタンスと名前付きインスタンスで共有利用します。

3-4 MSSSQLServerADHelper サービス

MSSSQLServerADHelper サービスは SQL Server や Analysys Services の情報を Active Dierectory にオブジェクトとして登録したり、削除したりするサービスです。したがって Active Directory を利用できるクライアントであれば簡単にこれらの情報を利用することができます。サービス名は MSSSQLServerADHelper であり、既定のインスタンスと名前付きインスタンスで共有利用します。

3-5 MS DTC サービス

MS DTC サービスは Microsoft 分散トランザクションサービスと呼ばれるサービスで、複数のサーバーにまたがって実行されるトランザクション ( 分散トランザクション ) の管理を行います。サービス名は Distributed Transaction Coordinator であり、既定のインスタンスと名前付きインスタンスで共有利用します。

4. SQL Server 2000 にインストールされているデータベース

SQL Server 2000 には初めから 6 つのデータベースがインストールされており、システムデータベースとユーザーデータベースに大別することができます。システムデータベースはデータベースの管理情報が格納するためのデータベースであり、ユーザーデータベースは業務システムで利用する業務データを格納するためのデータベースです。インストール直後では 4 つのシステムデータベースと 2 つのユーザーデータベースがあります。各データベースでは管理情報を格納するテーブル ( システムテーブル ) を複数保持しています ( 図 4-0-1) 。

図

図 4-0-1 データベースには複数のシステムテーブルが存在する

4-1 masterデータベース

master データベースではシステムテーブルに SQL Server 全体に関わる情報を記録します。したがって master データベースが壊れた場合は、 SQL Server が起動しないなどの重大な影響があるので、十分な障害対策が必要です。

4-2 model データベース

model データベースではシステムテーブルにデータベース自身に関わる情報を記録します。また SQL Server 上に作成するユーザーデータベースは model データベースを元にして作成されるため、ユーザーデータベースの既定値を規定できるデータベースとも言えます。

4-3 msdb データベース

msdb データベースではシステムテーブルに主に SQL Server エージェントサービスが扱う情報を記録します(一部、バックアップなどの SQL Server サービスが扱う情報もあります)。 SQL Server を運用するための情報が格納されるので master データベースの次に重要度が高いデータベースと言えるでしょう。

4-4 tempdb データベース

tempdb データベースは SQL Server の作業用として自動的に使用されます。一時的な記憶領域であり SQL Server の起動時に再作成されるため、永続データを保存しておくことはできません。

4-5 pubs データベース

pubs データベースは出版社を想定して作成されたサンプルデータベースであり、既にテーブルにデータが格納されている完成されたデータベースです。 pubs データベースを使用すれば SQL Server 初心者が SQL Server の機能を勉強することができ、 SQL Server Books Online (SQL Server のオンラインヘルプ ) の例として多く使用されています。 pubs データベースは必要なければ削除して構いません。もし再作成したい場合は c:\Program Files\Microsoft SQL Server\MSSQL\Install\instpubs.sql のファイルを利用してください。

4-6 northwind データベース

northwind データベースは Northwind Treaders という架空の会社の業務を想定して作成されたサンプルデータベースであり、 pubs データベース同様に既にテーブルにデータが格納されている完成されたデータベースです。もともと Access で利用されており、 SQL Server の各種参考書で例として多く使用されています。 northwind データベースは必要なければ削除して構いません。もし再作成したい場合は c:\Program Files\Microsoft SQL Server\MSSQL\Install\instnwnd.sql のファイルを利用してください。

5. 管理/構築ツール

SQL Server 2000 をインストールすると [ スタート ]-[ プログラム ] に [Microsoft SQL Server] グループが作成され ( 画面 5-0-1) 、グループ内からいろいろな SQL Server 2000 用のツールを起動することができます。ここではその中でも特に使用頻度の高いツールを 2 つ紹介します。

画面

画面 5-0-1 Microsoft SQL Server グループ

5-1 SQL Server Enterprise Manager

第 1 章で紹介したとおり、 SQL Server 2000 へのアクセスには Transact-SQL 言語を使用します。しかし SQL Server Enterprise Manager は GUI 操作によって Transact-SQL を自動生成してくれるため ( 図 5-1-1) 、特に難しい Transact-SQL のステートメント   や文法/構文などを覚える必要はありません。

図

図 5-1-1 SQL Server Enterprise Manager は Transact-SQL を自動生成する

SQL Server Enterprise Manager はどちらかというと SQL Server の管理操作を主な役割としますが、データベースデザイナやクエリデザイナといった開発者向けの GUI ツールも起動できるため、データベースの構築なども簡単に行えます。

SQL Server Enterprise Manager では、目的とする作業を実行するためにいろいろな操作方法が用意されていますが、大別するとウィザードを使用する方法とメニューを使用する方法があります。

※ウィザード
一問一答形式で設定できる初心者向けの使いやすいインターフェースであり、数多くの種類が用意されています ( 画面 5-1-2) 。しかし詳細なパラメータの設定や既存パラメータ設定の変更などができません。

画面

画面 5-1-2 SQL Server にはたくさんのウィザードが用意されている

※メニュー
SQL Server Enterprise Manager では管理対象が階層化されています。それぞれの階層でマウスを右クリックすれば、その階層に関連した作業をするためのメニューを利用することができます ( 画面 5-1-3) 。

画面

画面 5-1-3 メニューではその階層に応じた作業が提供される

SQL Server Enterprise Manager ではいろいろな作業ができますが、まずはその中でも次の 2 つの作業を覚えてください。

  • サービスの起動/停止
    SQL Serverサービス (MSSQLSERVER) は OS 起動時に開始しますが、手動で停止/開始する必要があるかもしれません。こういったケースでは[コンピュータ名(\インスタンス名)]をクリックしてハイライト(選択状態)にし、右クリックしたメニューから[開始]/[停止]を選択します (画面 5-1-4)。これによって SQL Server サービスの状態を切り替えることができます。

    画面

    画面 5-1-4 SQL Server サービスの開始/停止はメニューから行える

  • サーバーの登録
    SQL Server Enterprise Manager はローカル SQL Server だけではなく、ネットワーク上のリモート SQL Server も同じ操作で管理することができます。しかし SQL Server Enterprise Manager でリモート SQL Server を管理するためには、サーバーの登録を行わなければいけません (ローカル SQL Server は自動登録されます)。こういったケースでは [SQL Serverグループ] をクリックしてハイライト (選択状態) にし、右クリックしたメニューから [SQL Serverの新規登録] を選択します。すると SQL Server 登録ウィザードが起動する (画面 5-1-5) ので対象の SQL Server 名、認証モード、グループを選択して登録します。

    画面

    画面 5-1-5 SQL Server 登録ウィザードの画面

    この他、第 3 章と第 4 章ではデータベースを作成したりユーザーを作成する作業を紹介します。

5.2 クエリアナライザ

SQL Server Enterprise Manager は GUI 操作で非常に扱いやすいのですが、 SQL Server 2000 に関する全ての操作ができるわけではありません。通常業務には充分だと思いますが、より細かな作業を行わなければならない場合には、 SQL Server Enterprise Manager で実現できないこともあります。こういったケースでは Transact-SQL を直接 SQL Server に発行する必要があります。そのためのインタフェースを提供するのがクエリアナライザです ( 図 5-1-6) 。

図

図 5-1-6 クエリアナライザは Transact-SQL を直接 SQL Server に発行する

クエリアナライザはどちらかというと SQL Server の構築/ AP 開発作業が主な役割ですが、オブジェクトブラウザといったいろいろな Transact-SQL を自動生成する補助ツールも添付されているため、管理者でも簡単に扱うことが可能です。詳しくは「初めて学ぶ Transact-SQL 」コラムの「 第 2 章 クエリアナライザ 」で取り扱っていますので、ぜひ参照してください。

次回は SQL Server のデータベースについて紹介します。

鈴木 智行: NEC E ラーニング事業部に所属。入社以来、インストラクタとして教育業務に従事。汎用機、 UNIX を経て、 1994 年より   マイクロソフト認定トレーナー (MCT) として、管理者向け教育を担当。 SQL Server は 4.21a から携わっており、現在は主に SQL Server 2000 に関わるデータベース教育を中心に担当。 Windows 2000 および SQL Server 2000 での MCSE , MCDBA を取得しており、情報処理技術者試験のテクニカルエンジニア(データベース)も取得済。 SQL Server の優位性をアピールできるように Oracle Gold も取得した。今後 Oracle Plutinum を取得予定し、日々データベースを極めることに努力している。