SQL Server 2005 アップグレード ハンドブック

このページはアーカイブです。記載されている内容は情報提供のみを目的としており、ページ内のリンクは有効でない可能性がありますが、これらの情報についてマイクロソフトはいかなる責任も負わないものとします。

公開日: 2006年2月8日

Douglas McDowell, Erik Veerman, and Michael Otey

トピック

SQL Server 2005 の活用
拡張されたエンタープライズ データ管理機能
開発者の生産性
高度なビジネス インテリジェンス
優れた機能
迅速な ROI : SQL Server 2005 による一元管理
顧客事例
スムーズなアップグレードへの準備
アップグレードのメカニズム
アップグレード プロセス
コンポーネントのアップグレードに関する考慮事項
オペレーティング システムおよびハードウェアのアップグレードに関する考慮事項
SQL Server 2005 に関するその他のリソース
執筆者について

SQL Server 2005 の活用

現在 SQL Server を活用している企業や組織では、SQL Server 2005 へのアップグレードを検討されることをお勧めします。アップグレードすると、既存のアプリケーションで迅速に成果を上げつつ、既存のアプリケーションの拡張や新規アプリケーションの開発によって新機能を十分に活用でき、継続的な成果が期待できます。今日のビジネス環境では、効率的に業績を向上させることができる包括的なデータ管理プラットフォームが必要とされています。SQL Server 2005 の包括的なデータ管理プラットフォームでは、リレーショナル データの開発および管理機能が、ETL (抽出、変換、および読み込み)、OLAP、レポート機能と共に、エンタープライズ アプリケーションの厳しい要件を満たすセキュリティ、パフォーマンス、および可用性で統合されています。

SQL Server 2005 の標準化されたデータ プラットフォームを採用することで、複数の製造元から提供されたデータベース、デバイス、およびアプリケーション間でデータをインテリジェントに共有できます。これにより、オープン スタンダードに基づいた IT 投資を行い、広範な開発者および管理用のスキル セットやツールの中から効果的に人的、物的資源を活用できます。

また、新しいリリースでは、エンタープライズ レベルのパフォーマンス、信頼性、およびセキュリティを低下させることなくコスト管理を行うことができます。SQL Server 2005 では、包括的なエンタープライズ データ管理機能セット、業界標準ハードウェアのサポートが提供されており、開発者やデータベース管理者の生産性を向上させる、開発および管理の統合環境が整っているため、最新の実装や継続的なメンテナンスにかかる企業のコストは最低限で済みます。Express、Workgroup、Standard、Enterprise などの SQL Server 2005 ファミリには、1 つの製品で必要なすべての機能が備わっています。データの統合、管理、分析、レポートなどの包括的で独創的な機能を使用でき、それに対する追加コストはかかりません。以下で、新しいリリースがエンタープライズ データ管理、開発者の生産性、およびビジネス インテリジェンス (BI) といった主な分野でどのように役立つかを見てみましょう。

拡張されたエンタープライズ データ管理機能

SQL Server 2005 は、優れたデータ可用性、扱いやすい管理機能、および強固なセキュリティを備えた企業向けソフトウェアで、モバイル ハンドヘルド デバイスから、要件の厳しい OLTP システムおよびマルチテラバイトのデータ ウェアハウスまで対応します。新しいリリースを使用すると、日常的なデータベース管理業務を自動化できるため、データベース管理者がより価値の高い作業に集中的に取り組むことで、さらに生産性を上げることができます。また、SQL Server 2005 の拡張可能なフレームワークを利用して、予防的にシステムの状態やパフォーマンスの監視を行うこともできます。次に、新しいリリースのエンタープライズ データ管理機能を見てみましょう。

エンタープライズ パフォーマンス

SQL Server 2005 は、リレーショナル エンジンから BI までのあらゆるコンポーネントについて優れたパフォーマンスを発揮します。リレーショナル エンジンは、要件の高い OLTP ワークロードやマルチテラバイトのデータ ウェアハウスを処理します。SQL Server 2005 Integration Services (SSIS) では、複数の変換先への配信でメモリ内変換が実行され、1 秒間に数百万の行が移動します。Analysis Services では、秒以下のクエリ時間で情報に統一的にアクセスでき、高度なキャッシングが可能です。また、非常に大規模なデータセットに対して、データ予測のためのデータ マイニングを実行できます。Notification Services は、さまざまなビジネス ルールに基づいてイベントをポーリングする、多数のサブスクリプション実行ユーザーをサポートします。Reporting Services は、スケール アップまたはスケール アウトの配置モデルで構成でき、さらに高度なキャッシングおよびスナップショット機能によって高いユーザー同時実行性をサポートします。一括読み込みは、SQL Server へのデータ挿入をすばやく実行する方法です。SQL Server 2005 でも利用可能ですが、一括コピー プログラム (bcp.exe) や BULK INSERT (T-SQL) を使用すると、SQL Server のプロセス内外の一括読み込みのパフォーマンスが、よりいっそう迅速になります。また、新しいリリースでは OPENROWSET() 関数のパフォーマンスが向上してオプションが増え、XML ドキュメントを読み込む場合のスケーラブルな方法として使用することもできます。

高可用性

ミッション クリティカルなアプリケーションに対して、SQL Server 2005 は永続的なデータ可用性を実現し、これによってエンド ユーザーは常に情報にアクセスできるようになります。フェールオーバー クラスタリングやデータベース ミラーリング テクノロジによって、従業員、顧客、およびパートナーに、高い信頼性と高可用性を持つアプリケーションを最小限のダウンタイムで提供できます。オンラインでのインデックス構築、段階的な部分バックアップと復元、パーティション分割、動的構成、ホット メモリ スワッピングのサポートなどによって、ダウンタイムを最小限にするか回避することができ、障害復旧操作時にもユーザーは企業のデータに常にアクセスできます。SSIS では分散配置と再起動機能を利用できるため、回復力が備わった (ETL) 処理が実現しています。Notification Services および Reporting Services と Microsoft IIS との統合によってネットワーク負荷分散 (NLB) が行われ、アップタイムが維持されます。また、SQL Server 2005 では、ピア ツー ピア レプリケーション、データベース ミラーリング、ログ配布など、以前のリリースに比べてより多くの障害復旧オプションを利用できるようになりました。また Analysis Services のサーバー同期機能によって複数のサーバーでプライマリ サーバーをサポート可能です。さらに、重要なデータベース復旧操作で SQL Server への直接アクセスが確保されるように、SQL Server 2005 には専用管理者接続という機能が追加されました。

管理容易性

SQL Server 2005 には単一の統合管理ツール SQL Server Management Studio が付属しており、これによって 1 つのインターフェイスから SQL Server 全体を管理できます。この統合により、企業における SQL Server のすべての実装でデータベース管理者の生産性が向上します。また、新しいリリースではパフォーマンスの問題をいっそう容易に特定し、トラブルシューティングを行って解決できるようになりました。SQL Server Profiler では、SQL Server Database Services、Analysis Services、Integration Services などの SQL Server の中心となる製品全体にわたって強化された追跡機能のメリットが活かされています。SQL Server の新しい拡張可能な XML ベースの定義を使用すると、詳細の把握や効果的な分析を行い、集計ビューを使用し、Windows イベント ログと新しく拡張されたパフォーマンス カウンタを関連付けることができます。また、デッドロックのグラフィカルな表示や Showplan 機能の強化のほか、データベース オブジェクトのカタログ ビューから重要なメタデータへ包括的にアクセスする機能の強化や、サーバーの稼動状況、動的に変化する状態、診断情報などを調べるための動的管理ビュー (DMV) 機能が追加されました。SQL 管理オブジェクト (SMO) やプロファイラ API を使用すると、プログラムによる設定情報の取得、新しいデータベースの作成、T-SQL スクリプトの適用、SQL Server エージェント ジョブの作成、定期的なバックアップなど、SQL Server における反復的または通常の管理作業をすべて自動化することもできます。SMO では、ISV やパートナーは、管理フレームワークをベースに SQL-DMO (SQL 分散管理オブジェクト) よりも優れた拡張性やパフォーマンスを提供できます。SQL Server 2005 は、DMO9 によって SQL-DMO に書き込まれたアプリケーションを引き続きサポートします。SQL Server Agent によって、予防的なパフォーマンス監視ソリューションを構築したり、速度の問題の分離および特定を行ったりできます。新機能のデータベース チューニング アドバイザ (DTA) は、インデックス チューニング ウィザード (ITW) に代わる機能として追加されたもので、パフォーマンスの問題の解決に役立ちます。さらに、新しいセキュリティ コンテキストによって、システム管理者 (sa) のアクセス権限を持たないユーザーに対して、データベース トレースを作成し、データベース チューニングで DTA を使用する権限を与えることができます。

セキュリティ

Microsoft は、Trustworthy Computing (信頼できるコンピューティング) を推進することによってセキュリティの基準を設定し、安全で信頼のおけるコンピューティング環境を実現します。SQL Server 2005 では、「安全な設計」、「安全な標準設定」、「安全な配置」という最終的な運用環境によって、製品の設計段階から信頼できるコンピューティングを推進します。既定では、SQL Server 2005 は最小限のセキュリティ構成で最大限のセキュリティを実現します。セキュリティ構成 (SAC) と呼ばれる新機能の専用セキュリティ構成インターフェイスでは、構成可能なサービスや設定へのアクセスが一元管理され、それぞれの構成について概要が表示されるため、情報を十分把握した状態で決定を行えます。新しいリリースでは、きめの細かい管理者権限が導入されました。これによって権限を各プラットフォームのサブコンポーネントのデータ アクセスのレベルから切り離し、配置や管理レベルで付与できます。SQL Server 2005 では、許可できる権限、パスワード ポリシーの強化、保存や転送でのデータ暗号化のレベルの向上についても管理できます。また、安全な開発環境では、開発者はデータベースで実行される共通言語ランタイム (CLR) アセンブリなどのコードをさらに容易に署名、認証、および管理でき、すべてのマネージ コードで使用されるコード アクセス セキュリティ (CAS) によってアセンブリが特定の操作を実行しないようにして、OS やデータベース サーバーを侵害から防ぐことができます。

開発者の生産性

SQL Server 2005 開発用の、多数の新機能や包括的なエンタープライズ ツール セットは、プロジェクト チームの規模にかかわらず、開発者が堅牢なエンタープライズ データベース アプリケーションを迅速に開発するのに役立ちます。次に、開発チームが SQL Server 2005 を活用して開発期間を削減し、共同作業によってより優れたソリューションを構築する方法を見てみましょう。

開発期間

Visual Studio 2005 と SQL Server 2005 の綿密な統合によって、開発とテストのサイクルが短縮されます。開発者向けのインターフェイスが効率化され、ウィザード、アクセス キー、および手順が説明されたドキュメントを使用して、通常必要とされるよりもはるかに短い期間で複雑なプロセスを開発できるようになりました。SQL Server 2005 では、Visual Studio 2005 と統合されたリレーショナル、XML、および OLAP のアプリケーションのいずれかの開発フレームワークを使用して、より迅速かつ効率的に開発やデバッグを行うことができます。バッチレベルの再コンパイルからステートメントレベルの再コンパイルへの構造上の切り替えを利用する場合も、不要な再コンパイルを避けるためのコードはあまり必要とされません。varchar(max)、varbinary(max)、および nvarchar(max) などの大きな値の型を使用すると、データベースのプログラミングの複雑さが軽減され、特に BLOB 型が要求されることは少なくなります。また、SQL Server 2005 に追加されたクエリ通知機能により、アプリケーションはクエリの結果が変更されたときに SQL Server から通知を受け取るよう要求できます。この機能によって、データベースが更新されなかった場合に、基になるデータベースを不必要にポーリングしたり、キャッシュや切断されたレコードセットを使用したりしない、さらに効率の良いアプリケーションを設計できます。複数のアクティブな結果セット (MARS) のサポートなどのデータ アクセス層の新機能を使用して開発の効率を上げることもでき、これによってアプリケーションは接続ごとに複数のアクティブな既定の結果セットを得ることができます。

チームでの共同作業

Visual Studio 2005 の成熟した開発モデルを使用することにより、大規模な SQL Server 開発者グループが互いに連携し、複雑なプロジェクトや小規模プロジェクトに取り組むことができるようになりました。SQL Server 2005 と Visual Studio Team System およびその他のソース管理プラットフォームを統合すると、開発者の一貫性とアカウンタビリティが増し、より優れた構成管理プロセスを構築できます。成熟した構成管理業務や手順のサポートによってやり直しや誤解も減ります。

相互運用性

Web サービスや .NET Framework のサポートにより、SQL Server 2005 では複数のプラットフォーム、アプリケーション、およびプログラミング言語との相互運用性がサポートされます。HTTP、XML、SOAP、XQuery、XSD などの既存あるいは新規のオープン スタンダードのサポートにより、拡張された企業システム間のコミュニケーションが容易になります。SQL Server 2005 でのネイティブ XML のサポート構造は複雑です。つまり、XML ストレージは、独自のインデックス型、XQuery や XPath による強力なクエリ機能、および XML スキーマ定義 (XSD) 言語を使用してリレーショナル データから XML コードを作成する機能を持つ、専用の XML データ型を持っています。FOR XML PATH という新しいリレーショナル クエリ出力形式によって、入れ子になった FOR XML クエリを実行でき、これによって現在 FOR XML EXPLICIT オプションを使用しているクエリが大幅に簡略化されます。クエリ プランの評価では、Showplan 機能に XML 出力形式も追加されました。

SQL Server 2005 Service Broker の新しいテクノロジによって、より安全で、信頼できる、スケーラブルなアプリケーションを構築できます。Service Broker は、SQL Server のインスタンス間でキューや信頼できるメッセージの作成を実行でき、堅牢な非同期のプログラミング モデルのメリットを活かしたスケーラブルなアプリケーションをサポートします。Reporting Services で Visual Studio 2005 のレポート コントロールを使用する場合、使用中のアプリケーションに新しいレポート機能を搭載することもできます。このコントロールを使用すると、Reporting Services のレポート サーバーをレポートの処理や作成に使用するかどうかにかかわらず、レポートを配置できます。.NET Framework CLR のネイティブ サポートにより、SQL Server 2005 および Visual Studio 2005 の連携によって、マネージ コードにストアド プロシージャ、トリガ、ユーザー定義関数 (UDF)、ユーザー定義型 (UDT)、およびユーザー定義集計を作成できます。さらに、マネージ コードは実行前にネイティブ コードにコンパイルされるため、大幅なパフォーマンスの向上を実現できる場合もあります。

高度なビジネス インテリジェンス

SQL Server 2005 には、分析やレポートのニーズの内容にかかわらず、包括的なエンド ツー エンドの BI ソリューションの実装に必要なコンポーネントやツールが搭載されています。さらに、このリリースの統合 BI 機能セット全体を実装することによって、SQL Server 2005 のアップグレードによって得られるメリットを最大限にすることができます。次に、新しく強化された BI 機能が、ユーザーやビジネスの意思決定者が必要な情報にアクセスするためのソリューションの実現にどのように役立つかを見てみましょう。

データの一元管理

SQL Server 2005 では、すべてのレポートや分析で業務を総体的に表示できるように、レポート機能と OLAP が完全に統合されています。統合ディメンション モデル (UDM) と呼ばれるこの新しいパラダイムでは、複雑なデータ モデリングのシナリオが扱われ、データの待機時間とクエリのパフォーマンスとのバランスをとるためにリレーショナル OLAP と従来の OLAP のメリットが組み合わされています。UDM は、ローカライズの問題の解決や、従来は複数の製品を必要としたレポートおよび分析用の固有の環境構築にも役立ちます。Visual Studio と統合された新しい BI Development Studio は、BI 開発をすべて処理して、開発者の高い生産性が SQL Server 開発のあらゆる場面で活かされるようにします。また、高パフォーマンスのデータ移動機能や高度なデータ クレンジング機能など、SSIS のエンタープライズ ETL 機能によって、業務全体を表す集中管理されたデータ ストアをさらに容易に作成および管理できます。

タイムリーな業務報告

SQL Server の BI 機能により、複数の異種データ ソースからの業務データをすばやく簡単に統合し、分析できるようになりました。これによって市場を適切に洞察し、より効果的に競争を行えます。SQL Server 2005 では、SSIS でのデータの待機時間の軽減、SQL Server のクエリ通知機能や UDM 内のリアルタイム OLAP 機能、タイムリーなデータ マイニング予測、および効果的なプレゼンテーション オプション (Reporting Services、Microsoft Office、Microsoft SharePoint Server など) により、開発者は複数の方法で、重要な業務報告の迅速な実行を可能にするソリューションを構築できます。

高度な分析およびレポート機能

SQL Server 2005 では、豊富なレポート機能、高度な分析機能、データ マイニング、および Microsoft Office などの使い慣れたツールを使用して、ユーザーが独自の観点で経営情報を把握できるようにすることができます。Reporting Services のアドホック レポート作成ツールであるレポート ビルダを導入することで、エンド ユーザーは直感的にデータ ソース間を移動して、要約データから詳細までを確認できるレポートを作成したり共有できます。開発者は、レポート ビルダに搭載されているデータ モデリング ツールを 1 回限りのプロセスで使用して、ユーザー向けに直感的なセマンティック モデルを作成できます。このセマンティック モデルにより、ユーザーは進行中のアドホック レポートの生成に、ブラウザに配置された軽量な .NET スマート クライアント インターフェイスを使用できます。SQL Server 2005 には、データ マイニング モデルを日常業務に統合するアプリケーションの構築に使用できる、豊富な分析機能も搭載されています。この新しいリリースでは、6 つの新しいデータ マイニング アルゴリズムが追加されています。

優れた機能

SQL Server 2005 のアップグレードは、SQL Server にアプリケーションを移行する最良の機会でもあります。スナップショット関連の接続コンテキスト、Read Committed スナップショット分離、およびスナップショット分離などの新機能により、Oracle でホストされる数多くのアプリケーションが、まさに Oracle 上で動作するように SQL Server 2005 で動作します。T-SQL クエリ言語の優れた拡張機能により、SQL Server の優位性は、より一層高まります。T-SQL には、共通テーブル式 (CTE) に加え、EXCEPT と INTERSECT、PIVOT と UNPIVOT、RANK、および TOP N Sort などの構成要素が加わり、高度な再帰クエリを実行できるようになりました。さらに、TRY...CATCH ステートメントを使用した新しいエラー処理機能も追加されました。また、データ定義言語 (DDL) トリガという、DDL ステートメントに反応して起動する独特のトリガを使用して、データベース操作の監査や制御などのデータベースの管理作業も実行できます。

新しい SQL Server では、ソフトウェアに固有のすべての機能について、ライセンス モデルが簡素化されました。プロセッサまたはサーバーごとにクライアント アクセス用のライセンスが付与されます。これによって、組織がコストを抑えながら包括的なプラットフォームの新機能を使用してライセンスの初期投資を活かせるようになり、ここで SQL Server 2005 が重要な役割を果たします。たとえば、SQL Server 2005 のデータ ストレージ プラットフォームのアップグレードを拡張して、管理、レプリケーション、分析、およびレポートなどの機能を搭載できます。

さらに、SQL Server 2005 は中小規模の企業にとって優れたソリューションです。Microsoft は、無償で配布される SQL Server 2005 Express とコスト効率に優れた SQL Server 2005 Workgroup Edition という 2 つのエントリレベルのライセンス オプションを採用することによって、小規模企業のニーズに応えます。SQL Server 2005 は、あらゆる規模の企業に対応するように設計され、すべてのユーザーに同様のパフォーマンス、セキュリティ、信頼性、ビジネス価値を提供します。

SQL Server 2005 へのアップグレードのメリットをぜひご理解ください。SQL Server 2005 は、高度な BI 機能や開発者および管理者の生産性を向上させる機能を利用いただけるエンタープライズ データ管理プラットフォームです。SQL Server 2005 のメリットをさらに掘り下げ、データベース管理者、開発者、および組織全体でこのリリースのメリットが活かされるようにアップグレード計画を開始してください。

迅速な ROI : SQL Server 2005 による一元管理

IT 業界では、現時点の作業分野ごとに最良のソフトウェアを選定して使用する "ベストオブブリード" アプローチも依然として推奨されています。データベース管理という観点から考察すると、このアプローチにはどのような意義があるのでしょうか。この、一見したところ賢明に思われる方法に従うと、最良のリレーショナル データベース管理システム (RDBMS)、最良のデータ レプリケーション ソフトウェア、最良の ETL (抽出、変換、および読み込み) ツール、最良の多次元 (OLAP) データベース エンジン、最良のフルテキスト インデックスおよび検索エンジン、最良の警告および通知エンジン、最良のデータ マイニング スイート、最良のエンタープライズ レポーティング スイートを駆使することになります。

しかし、個別のベストオブブリード ソフトウェア コンポーネントすべてを合わせても、複雑に肥大化した、統合されていないデータ管理プラットフォームができあがるだけで、構築されるのは、シームレスで統合されたプラットフォームではなく、断片的なツールの集まりでしかありません。それぞれの独立したツールには、専用のサーバー、専用のクライアント開発および管理ツール、専用のライセンスおよびメンテナンス契約、専用のベテラン開発者、専用の配置モデル、専用のセキュリティ モデルと監査構造、専用の運用チームが必要です。これらのコストをすべて合わせると、"プラットフォーム" のコストは膨大になる可能性があります。

現在運用中のデータ管理ソフトウェアを、最近点検していないという場合、図 A の質問に答えてみてください。さらに、SQL Server 2005 の包括的で統合されたデータ管理および分析プラットフォームによる一元管理のメリットについて、検討してみてください。

図 A

SQL Server 2005 の各コンポーネントはそれぞれのソフトウェアの分野でも十分に優れていますが、統合プラットフォームの一部として配置するとさらにその価値が明らかになります。SQL Server 2005 のエンタープライズクラス ツールは、単体としての機能も優れていますが、全体的な配置計画において、さらにすばらしい効果を発揮します。

SQL Server 2005 による一元管理によって、リソースをさまざまな製品、ライセンス要件、開発および管理用のツールやスキルに振り分けることなく、集中管理できます。SQL Server 2005 プラットフォームは、リソースの集中化による総保有コスト (TCO) の削減を目標としています。IT 資産の TCO には、ソフトウェアにかかるコスト以外に、ソフトウェア、ソフトウェアに必要な専用ハードウェア、エンド ユーザーからの情報資産へのアクセスの可能性を開発および管理する際にかかる "ハード面の" コスト、非効率的かつ非効果的なソリューションにかかる "ソフト面の" コストがあります。

ベストオブブリード アプローチによるデータ管理には、各製品を最大限に活用するために、専門家や専門的な知識が必要です。それぞれのツールまたは製品には、専用の開発、管理、およびエンド ユーザー向けのツールやインターフェイスがあり、そのために開発者、管理者、またはエンド ユーザー側で完了させなければならない作業は、それぞれ 1 つのインターフェイスから別のインターフェイスへと段階的に進む必要があります。しかし、今日のビジネス環境では、一般に IT 担当者の人的リソースは削減傾向にあります。企業の IT 部門は、より少ない開発者と管理者でより迅速に、増大するビジネス ニーズに応えていくことを求められています。このように少ないリソースで多くのことを実行しようとする場合、SQL Server は最高の味方になってくれます。自己チューニング機能、迅速な配置機能、製品の相互運用性、および強力なサポート体制 (役に立つ製品マニュアルやオンライン ドキュメント、ニュースグループ、サポート用のソフトウェア ユーティリティなど) によって、特に組織のインフラストラクチャが限られた人員や時間に依存している場合、SQL Server はアップグレードや移行の有力な選択肢であるといえるでしょう。

SQL Server 2005 には、開発者、管理者、およびエンド ユーザーの生産性向上に貢献する、強力なツールも搭載されています。SQL Server 2005 の最新リリースでは、IT 専門家やユーザー向けの包括的なツール セットにより、エンタープライズ アプリケーションの作成、配置、管理、および使用の複雑さを軽減できます。さらに、レポートやデータ分析に使用するビジネス インテリジェンス (BI) ツールが組み込まれ、Microsoft Office などの使い慣れたツールと統合して、組織のあらゆるレベルのユーザーがリアルタイムのデータを基に業務上の意思決定を行えます。また、パーティション分割、拡張されたインデックス作成機能、および 64 ビットのサポートなど、今回のリリースでのスケーラビリティやパフォーマンスの改善によって、現在の業務上の要求を満たすことができるアプリケーションを作成、配置できます。

一元管理のメリットはハードウェアの領域でも見られます。今日のソフトウェア環境では、さまざまな製造元の製品を組み合わせて実稼動環境で使用する場合は "専用サーバー" が必要であると考えられています。実稼働環境にある各製品には専用のサーバーが必要です。これは、各製品が、パフォーマンス、セキュリティ、または相互運用性においてどのように影響しあうか、把握しきれていないためです。この場合、製造元が製品の新しいビルド、パッチ、およびサービス パックを配布し、使用する側が修正やアップグレードを適用して原因不明なリスクを回避しようとすると、セットアップがますます複雑になります。専用サーバーを実装すると安心できますが、ハードウェアや OS のコストだけでなく、各サーバーの管理負荷が飛躍的に増大する可能性があります。これに対して、SQL Server 2005 の統合プラットフォームを使用して包括的なアプリケーション構造を配置すると、必要なサーバーの数は、ベストオブブリード アプローチによるものよりも少なくなります。また、32 ビットおよび 64 ビット両方のプラットフォームでの SQL Server 2005 の統合および相互運用性により、一元管理環境でのパフォーマンスや監視が便利になり、またリソースを管理しやすくなります。

よって、ベストオブブリード アプローチによるデータ管理方法ではなく、IT 担当者およびエンド ユーザーにとってより効果的で、ライセンス コストがかからず、サーバー数の少ない、標準化されたツール セットと標準化されたスキル セットが用意された単一のプラットフォーム上でビジネス ニーズを一元管理できるような有効な方法を検討することをお勧めします。SQL Server 2005 を使用して、人員、ツール、およびハードウェアを集中化してください。

顧客事例

Barnes & Noble 社 : SQL Server Integration Services による業務処理

Barnes & Noble 社のアプリケーション開発部長 Lou Ann Leary 氏によると、エンタープライズ ETL のための SQL Server 2005 Integration Services への移行は正しい決断でした。Barnes & Noble 社のマルチテラバイト データ ウェアハウスでは、店舗およびオンラインショップにある製品の詳細な売上と在庫状況を追跡調査します。SQL Server はあらゆる層でソリューションを強化します。たとえば、新しいリリースの ETL (抽出、変換、および読み込み) ツールである SQL Server 2005 Integration Services は、一日 1,500 万~ 2,000 万件、毎週 2 億件のレコードについてデータ処理や読み込みを行います。

さらに、Barnes & Noble 社は SQL Server 2005 によって開発者の生産性やパフォーマンスの向上にも努めました。「チームでの開発機能を十分に活用し、短期間で習得できました」と Leary 氏は述べています。「ところが、実稼動の段階になるとパフォーマンスの改善はさらに目覚しく、毎日あっという間に何百ものトランザクションが処理され、社内の分析担当者が業務の状況や動向について最新の情報を常に把握することができるようになりました」

Barnes & Noble 社のもう 1 つの高付加価値化の目標はデータ マイニングです。「私たちは、店舗の在庫切れを予測して在庫切れを減らすために、SQL Server 2005 のデータ マイニング機能の実装に取り組んでいます」と Leary 氏は言います。

Recall 社の回答 : フルテキスト検索拡張機能

Recall 社の広報担当部長 Brian Beard 氏は、「SQL Server 2005 のフルテキスト検索機能によって、ユーザーはアプリケーションの再構築を行う手間が省け、パフォーマンスが向上しました。SQL Server 2000 のフルテキスト検索機能がさらに有効なものになりました」と言っています。

Recall 社は、SQL Server のフルテキスト検索機能をフルに活用する、グローバルなワークオーダー エントリ アプリケーションを導入しています。全国の 3 つのデータ センターにアプリケーションを分散配置して、フルテキスト検索で 2 億 6,000 万行を超えるインデックスを作成します。Recall 社のアプリケーション開発部長 Dave Hudson 氏は、SQL Server 2005 の実装後まもなく向上した社内のパフォーマンスについて次のように語っています。「まず Beta 2 をテストし、2,500 万行のデータについて、フルテキスト インデックスの再構築時間が 14 時間から 90 分に減ったのを確認して嬉しくなりました。実稼動データに対して最新のベータ版を正常に配置すると、インデックス構築時間がまさに激減しました。たった 16 時間で 1 億 5,000 万行のインデックス処理が行われていることを確認し、2005 へのアップグレードはまさに我々が必要とする唯一のソリューションだと確信しました」。

Recall 社のデータベース管理者 Alan Wren 氏は、社内のクラスタ化された配置を SQL Server 2005 にアップグレードした担当者ですが、「SQL Server 2000 から 2005 へのアップグレードはスムーズに行われました。新しいツールの優れた機能によって、社内のデータベースを、より効率的に、より少ないリソースで管理できます」と述べています。

Jason Willard 氏は、Recall 社のビジネス インテリジェンス (BI) 部門のリーダーであり、社内でのもう一人の SQL Server 2005 推進派でもあります。「ETL、リレーショナル データ ウェアハウス、OLAP、データ マイニング、およびエンタープライズ レポーティングなど、エンタープライズ BI プラットフォームのあらゆる層に 2005 を配置する予定です」と彼は述べています。Willard 氏は、フルテキスト検索のアップグレード配置を指揮する IS 部長 Scott Johnson の強い支持を受け、現在、統合 64 ビット BI インフラストラクチャを計画中です。

スムーズなアップグレードへの準備

SQL Server 2005 の各コンポーネントには独自の構造とライフサイクルがあり、この 2 つの主要な領域によってアップグレード パスが左右されます。SQL Server 2005 のコンポーネントには、既存の機能を拡張、最適化、および安定化するための強固な基盤があります。Microsoft は、他の機能をさらに徹底的に再検討し、ユーザーのアプリケーションに必要な性能とプログラミング機能を SQL Server に搭載しました。新しいリリースでは、コンポーネントの完全な見直しと追加が行われ、新しい世代のデータ管理のニーズに応えています。

この変更は大幅に行われているため、時にはやりすぎという印象を持たれるかもしれません。しかし、すべてが強化された SQL Server 2005 では、新しいリリースの機能を活用するためのソリューションの移動は、とても簡単です。落ち着いて新機能を使いこなす方法を計画するのに、それほど時間はかかりません。

SQL Server 2005 のアップグレードへの準備では、適切な決定を行い、失敗しないためにいくつかの基本原則を理解しておくとよいでしょう。アップグレード計画について検討する前に、SQL Server 2005 の各コンポーネントのアップグレード パス全体を点検し、新しいツールである SQL Server 2005 のアップグレード アドバイザによって、特に注意の必要な領域を特定する方法を確認しましょう。次に、データベース エンジンから Integration Services や Analysis Services、そして最後に Reporting Services までの SQL Server 2005 の各コンポーネントのアップグレードに関する考慮事項について見ていきます。アップグレードを成功させるために重要なことは、組織固有の環境のニーズに合った計画とテストです。

アップグレードのメカニズム

SQL Server 2000 または 7.0 から SQL Server 2005 へのアップグレードは、すべてのコンポーネントで可能です。Microsoft では、SQL Server 2005 のアップグレードと移行について、次のように区別しています。

アップグレードとは、セットアップと呼ばれるアップグレード ツールによる自動化されたプロセスのことで、SQL Server の以前のインスタンスのデータとメタデータを維持したまま、ツールによって以前のインスタンスを新しいインスタンスに移動することを指します。アップグレードが終了すると以前のインスタンスは使用できなくなり、以前のインスタンスと同じ名前で新しいインスタンスが生成されます。移行とは、データベース管理者が手動で SQL Server の新しいインスタンスをインストールし、メタデータおよびデータを SQL Server の以前のインスタンスから新しいインスタンスにコピーするプロセスのことを指します。移行の場合は、システムの 2 つのインスタンスにアクセスできるため、2 つのシステムの検証および比較が可能です。移行中は、新しいインスタンスへの移行が完了するまで、以前のインスタンスと新しいインスタンスの両方がオンラインのままになります。移行が終了すると、すべてのアプリケーションのアクセス先として新しいインスタンスが指定され、以前のインスタンスは手動で削除されます。

データベース エンジンには多くの新機能が含まれていますが、セットアップ ウィザードを使用するか、データベースの復元またはアタッチ/再アタッチを実行することにより、SQL Server 2000 または 7.0 上のデータベースを SQL Server 2005 に、簡単にアップグレードできます。ただし、データ変換サービス (DTS) から SQL Server 2005 Integration Services (SSIS) に移動するには、移行を行う必要があります。その際には、データ処理を新しいアーキテクチャに移動するための最新の移行ツールが用意されています。表 1 は、SQL Server 2005 の各コンポーネントのアップグレード パスの要約です。

SQL Server コンポーネント

アップグレード/移行パス

データベース エンジン

アップグレード ツール : セットアップ
移行方法 : サイド バイ サイド インストール後、データベースをバックアップ/復元、またはデタッチ/アタッチ

Analysis Services

アップグレード ツール : セットアップ
移行ツール : 移行ウィザードによりオブジェクトを移行。最適化およびクライアント プロバイダのアップグレードが必要

Integration Services

アップグレード ツール : なし
移行ツール : DTS 移行ウィザード
移行方法 : 移行ウィザードで行われるタスクは全体の 50 ~ 70% で、一部手動での移行作業が必要。SSIS ではランタイム DTS DLL を使用可能。パッケージ アーキテクチャの再構築を推奨

Reporting Services

アップグレード ツール : セットアップ
移行方法 : サイド バイ サイド インストールおよび新しいインスタンスへのレポートの配置

Notification Services

アップグレード ツール : なし
移行ツール : インストール時に Notification Services インスタンスをアップグレード

表 1 : SQL Server の各コンポーネントのアップグレード パス

製品チームに蓄積された知識、内部でのラボ テスト、および広範囲での SQL Server 2005 のベータ版テスタの使用体験に基づき、Microsoft は、アップグレードの準備に不可欠のツールとしてアップグレード アドバイザというツールを開発しました。図 1 は、アップグレード アドバイザの初期画面を示しています。ここでは、既存のデータベース サーバー、サービス、およびアプリケーションの構成を解析して、アップグレードに影響を及ぼす SQL Server 2005 製品内の変更点を示すレポートを表示します。表示される変更点には、セキュリティの拡張機能、SQL 標準の遵守強化、およびアーキテクチャに関する変更が含まれています。また、アップグレード アドバイザには、これらの変更点およびアップグレード プロセス完了のために必要な手順に関する説明ドキュメントへのリンクも含まれています。アップグレード アドバイザを使用するとリリース間の変更点を管理しやすく、アップグレード計画を改善し、アップグレード完了後に初めて認識される変更を最小限に留めることができます。BI 用の Analysis Services、データ処理用の DTS、警告用の Notification Services、エンタープライズ レポーティング用の Reporting Services などのコンポーネントを、単体あるいは組み合わせて実行している場合、アップグレード アドバイザを使用すると、アップグレードに関する問題にすべて対応できます。

図 1

アップグレード アドバイザはルールベースのエンジンに基づいて構築されており、リモート サーバーを使用している場合でも、容易にインストールして実行できます。操作の詳細は次のとおりです。ツールを実行すると、図 2 に示すように簡単なウィザードが表示され、ローカルまたはリモート サーバー上のコンポーネントの選択を求められます。選択すると、それに基づいて各コンポーネントの詳細を指定するよう求められます。データベース エンジンとして、サーバー上のすべてのデータベースを選択することも、1 つずつ個別に選択することもできます。アップグレード アドバイザは、ストアド プロシージャおよび埋め込み T-SQL プログラムをすべて解析しますが、データベースに対して実行される T-SQL を解析する、SQL トレース ファイルを指定することもできます (これは、SQL ロジックを埋め込むアプリケーションを使用している場合に重要な機能となります)。ファイルに保存されているか、選択した SQL インスタンスに埋め込まれている DTS パッケージを解析できます。また、使用する Notification Services インスタンスをこの時点で選択することもできます。

図 2

ツールで分析が完了すると、図 3 に示すように、アップグレード アドバイザ レポート ビューアに問題の一覧が表示されます。レポート ビューアには問題の要約が表示され、アップグレード前またはアップグレード後のどちらで修正処理を行う必要があるかが示されます。レポート ビューアを使用すると、サーバーに対して必要な変更、スクリプトやストアド プロシージャなどのオブジェクトで変更が必要なもの、および変更を加える時期の詳細について確認できます。また、完了したタスクを除外したり、タスクを並べ替えたり、レポートの詳細をプロジェクト チームのメンバに配布するための Microsoft Excel シートを作成したりできるため、変更タスクを管理しやすくなります。

図 3

さらに、アップグレード アドバイザを使用すると、特定の問題への対処方法と回避策について説明している Microsoft ヘルプ ファイルを起動して、レポートの詳細を確認することができます。特定の問題についての詳細を確認したら、ヘルプ ファイルに含まれているその他のルールを参照したり、分析中にツールで評価されるその他の領域を確認したりできます。

SQL Server 2005 アップグレード アドバイザのプレリリース版は近日中に公開されます。このプレリリース版は、アップグレードに関する予備的な分析を実行し、アップグレード アドバイザの製品チームに貴重なフィードバックを行うためのものです。ウィザードおよびレポート ビューアの機能は完全ですが、ツールで処理されるアップグレード ルールの組み合わせは限られています。分析レポートに含まれる情報が限られているため、Microsoft では、レビュー用のサンプル レポートを zip ファイルで用意しました。このサンプル レポートを使用するには、アップグレード アドバイザの Reports ディレクトリ内に解凍します。

アップグレード アドバイザをインストールする前に、付属する readme ファイルの内容を確認することが重要です。このファイルには、前提条件となる必須のソフトウェアに関する重要な情報、およびツールに含まれるルールや既知の問題などに関する説明が記載されています (質問と一般的なフィードバックについては、アップグレード アドバイザ チーム (sqluafb@microsoft.com) までお送りください)。

アップグレード プロセス

SQL Server 2005 の主要な各コンポーネントに関するアップグレード時の考慮事項を確認する前に、計画から実稼動環境のアップグレードまでを担当するアップグレード チームに役立つ、一般的なロード マップについて確認しましょう。アップグレード プロセスは、計画と調査、テストとプロセスの評価、実稼動環境のアップグレード、およびアップグレード後の考察という 4 段階に区分できます。

計画と調査

アップグレード プロセスはここから始まります。開発者、データベース管理者、およびアプリケーション設計者は、さまざまな目的で教育プロセスおよびレビュー プロセスを開始します。計画プロセスの大部分は、これらの関係者のトレーニング、経験、および調査によって進められます。アプリケーションの特徴を最もよく知っているのはこれらの関係者であるため、アップグレードの詳細について貴重な意見が聞けるでしょう。

計画は、アップグレードの対象となるデータベースを特定する段階から、アップグレードのために必要な変更とプロセスを決定する段階に移ります。アップグレード アドバイザは、チームの力をどこに集中すべきか、どんな結果が期待されるかを確認するのに役立ちます。準備作業で決定すべき重要なポイントは、インプレース アップグレードを実行するのか、サイド バイ サイドの移行を実行するのかという点です。この決定は、選択できるプラットフォーム アップグレード パス、アップグレード中に実装する拡張機能、アプリケーション アーキテクチャ、およびハードウェア要件などの要素を組み合わせた条件に基づいて行います。

通常、以下の計画作業を行う必要があります。

  • SQL Server 2005 アップグレード ツールに関する知識を習得します。 プラットフォームの重要な点について理解し、機能の詳細を確認し、アップグレード ツールと移行ツールのテストを実行します。

  • アプリケーションの機能を評価します。 アプリケーション、サーバー、およびデータベースで最もアップグレードするメリットがあるものを、評価して特定します。

  • アップグレード パスを選択します。 アップグレード アドバイザを使用して、運用環境に最適なアップグレード パス、インプレース アップグレードまたはサイド バイ サイドの移行のいずれかを決定します。

  • アップグレード プロセスの前提条件について確認します。 アップグレードを確実に成功させ、今回のバージョンの新機能および拡張機能のメリットを活かすため、互換性および機能の変更点について、チームと共同して調査します。アップグレード アドバイザを使用するとたいへん便利です。

  • 計画と調査のマイルストーンを設定します。 アップグレード パスと手順を決定し、最初のテストの計画を立て、リスクの軽減および復旧のための計画を準備していることを確認します。

テストとプロセスの検証

テストは最も重要な作業です。アプリケーションを変更せずに SQL Server データベース エンジンのみをアップグレードするよう計画している場合でも、テストを行えば、旧バージョンとの互換性に関する問題や、SQL Server の以前のバージョンからの動作の変更で、アップグレード アドバイザで検出されなかったものに関する問題を確認できます。さらに、テストを行うことで、データを検証したり、アップグレード プロセスを整理することができます。この段階では、テスト環境を確立し、アップグレードを確実に成功させるための検証用スクリプトおよびアプリケーション機能を構成する必要があります。

最終的な計画には、SQL Server 2000 または 7.0 データベースのバックアップ、およびテスト済みの復旧方法を含める必要があります。また、接続文字列、パッケージ参照、レポートなど、アップグレード後の SQL Server コンポーネントに対するすべてのアプリケーション参照を確認する必要があります。ここにインプレース アップグレードを選択するメリットがあります。アップグレード プロセスのインストールにより、SQL Server の以前のバージョンをインプレースでアップグレードする場合は、サーバーとサーバー インスタンスは変更されないため、既存のアプリケーション接続はすべてそのまま残ります。

テストと検証の段階では、以下のタスクについて検討します。

  • テスト環境の準備を行います。 サイド バイ サイドの移行では、SQL Server 2005 のテスト環境を別にインストールする必要があります。インプレース アップグレードの場合は、SQL Server 2000 または 7.0 を実行するテスト用コンピュータとターゲット データベースのコピーが必要です。実稼働環境と同等のハードウェアを用意すれば、実稼働時と同レベルでのテスト運用が可能です。

  • アップグレード前のベースラインを設定します。 ここでベースラインを設定すると、アップグレード後の標準的なワークロードをシミュレートできるため、アップグレード後のシステムの評価や動作に関する変更の確認が可能です。また、ベースラインを設定することで、機能を確認しやすくなり、パフォーマンスの向上または変更に関するドキュメントを作成できます。ベースラインを設定するには、SQL Server Profiler、アプリケーションのロード テスト用ツール、パフォーマンス モニタ カウンタ、Showplan Statistics など、使い慣れたツールを使用できます。

  • テストの計画を立てます。 データ検証、データ処理、負荷とワークロード、クライアント/サーバー パフォーマンス、およびアプリケーション機能の各領域について、一般化されたテスト スクリプトまたはテスト手順を作成します。

  • 復旧計画を立てます。 アップグレードを中止する場合に備えて、アップグレードのロールバック手順を作成します。復旧計画には、アップグレード前のデータベースに対するバックアップ前の DBCC 一貫性チェックの実行、およびバックアップの信頼性検証用の、完全に復元されたデータベースの準備を含める必要があります。アップグレード後にも、一貫性チェックおよびバックアップと検証を行う必要があります。ロールバック手順のテストは必ず実行してください。

  • アプリケーション変更手順を作成します。 変更を加えたアプリケーションが予想どおりに動作するかどうか確認できるように、テスト環境にはアプリケーション層全体を含める必要があります。アプリケーション変更手順には、影響を受けるユーザーのカタログを含める必要があります。このような手順を作成すれば、アプリケーションの変更に関する完全なドキュメントを作成して、実稼働環境の切り替え時に変更を正しく適用することもできます。

  • 試験的なアップグレードを実行します。 最後に試験的なアップグレードを行うことで、プロセスおよびプロシージャが予想どおりに動作することを確認できます。この手順ではアップグレード アドバイザを使用できます。アップグレード前の変更を適用した後にこのツールを実行して、以前にツールで確認した問題領域のすべてに対応済みであることを検証します。

実稼働環境のアップグレード

アップグレード アドバイザとセットアップ ウィザードを使用すると、計画およびテストの手順を確実に完了して、実稼働環境を正常にアップグレードするための準備が整います。アップグレードが完了したことを検証するために、レコード数や検証用スクリプトなど、アップグレード前に使用するために作成したテスト手順の一部を使用することもできます。通常、実稼働環境のアップグレードでは、アップグレードする SQL Server コンポーネントに応じて以下に示す手順に従います。

  1. システム (アプリケーションおよびデータベース) をバックアップします。 必要に応じて一貫性チェックを実行し、データベースおよび関連システムをバックアップして、バックアップを検証します。

  2. アップグレード前のタスクを実行します。 ユーザーに通知し、ユーザー インターフェイス コンポーネントを使用不可にして、データ処理、データ入力、およびデータの変更をすべて一時停止します。テスト段階で確認した、アップグレード前に必要な変更を行います。アップグレード アドバイザを再度実行してアップグレード前の状態を検証し、必要に応じて、アップグレード前のシステムのバックアップをもう 1 つ作成します。

  3. プライマリ SQL Server のバックエンド プラットフォームに対するアップグレード タスクを実行します。 サイド バイ サイドの移行用の SQL Server 2005 を実行します。.NET Framework と SQL Native Client をインストールします。セットアップ ウィザードで、既存のインストールと同じインスタンスを指定します。次に、データベース サービス、Analysis Services、Reporting Services など、既存のインスタンスと同じコンポーネントを指定します。セットアップが完了したら、フルテキスト インデックスのカタログの再作成、クラスタおよびログ配布に関する特別な処理など、アップグレード時に特別に考慮する必要があるタスクを実行します。次に、新しい SQL Server 2005 プラットフォーム上でのバックエンド機能をサポートするために必要なスクリプトやタスクなど、アップグレード後のプラットフォームに対する変更を必要に応じて加えます。最後に、プラットフォーム データおよび機能を検証するためのテスト スクリプトを実行して、SQL Server 2005 へのアップグレードが正常に終了したことを確認します。

  4. アプリケーションに対して主な変更を加えます。 新しいバックエンド構造をサポートするよう、アプリケーション機能に変更を加え、必要に応じて、アプリケーション接続文字列およびその他の接続参照でのデータベース参照を変更します。計画段階で作成したテスト手順に基づき、データ処理、フロントエンドとレポートの使用、およびその他のアプリケーション コンポーネントなどのアプリケーション機能のテストを行います。

  5. アップグレード後の手順を実行します。 データベース エンジンについては、アップグレードで互換性モードが自動的に 8.0 に設定されますが、今回のバージョンの新機能を利用するには、互換性モードを 9.0 に設定します。サイド バイ サイドの移行の場合、以前のプラットフォームのサービスを停止 (またはデータベースを読み取り専用に設定) して、意図しないデータ変更が行われないようにします。リレーショナル データの場合は、DBCC 一貫性チェックを実行してデータを検証します。SQL Server 2005 の構造およびデータをバックアップして検証し、アプリケーション システムおよびファイルをバックアップします。次に、処理およびアプリケーションのユーザー インターフェイスを使用可能に戻し、アップグレードが完了したことをユーザーに通知します。

アップグレード後の考察

アップグレードが正常に終了したら、プロセスを完了し、新しい SQL Server 2005 の機能と特徴を活かす短期的な変更に備えるため、いくつかの領域について考察する必要があります。まず、高可用性、障害時の復旧計画、および定期的なメンテナンスに関連する一部のデータベース管理タスクを実行する必要があります。実行するタスクには、新しいプラットフォームに対する週単位および月単位の手順の再評価と、障害復旧のテストが含まれます。サイド バイ サイド インストールを実行する場合、外部からのアクセスを少なくするため、SQL Server 2005 の特定の機能は既定でオフに設定されています。それらの機能は、sp_configure またはセキュリティ構成 (SAC) ユーティリティを使用するとオンに設定できます。

移行後のプロセスで重要なもう 1 つの段階は、以下の質問に回答して、アプリケーションで活用できる SQL Server 2005 の新機能を確認することです。

  • テーブル分割構成を利用すると、データベースのパフォーマンスが向上し、テーブルの管理が容易になりますか。

  • XML 機能を利用すると .NET アプリケーション アーキテクチャを強固にできますか。また、新しいデータベース ミラーリング機能を利用すると、アプリケーションの要求に対して可用性を高めることができますか。

  • Analysis Services では、BI の要求で指定される多対多リレーションシップを使用できますか。また、ユーザーは Reporting Services のアドホック クエリ ツールであるレポート ビルダを必要としていますか。

  • ボトルネックとデータ量が支障となっているデータ処理に改善が必要ですか。また、SSIS によるパフォーマンスの向上が必要ですか。

  • ビジネス アプリケーションのラインに通知機能を統合し、ネイティブで電話、ポケットベル、PDA、電子メールを介して通信できる Notification Services の機能を活用しますか。

  • 開発チームでは、ソース管理に統合できる新しい Business Intelligence Studio の機能を使用して、開発、テスト、およびアプリケーションの配置方法を改善する必要がありますか。

これらは、データベース システムの生産性、信頼性、および性能を向上させる、SQL Server 2005 の優れた新機能のほんの一部です。

コンポーネントのアップグレードに関する考慮事項

SQL Server 2005 プラットフォームの広範さを考えると、すべてを網羅するアップグレード ガイドをまとめることは容易ではありません。したがって、SQL Server 2005 の主要なコンポーネントをアップグレードする際の考慮事項に重点を置くことをお勧めします。アップグレードに関する考慮事項の包括的かつ詳細な説明については、SQL Server 2005 Books Online およびホワイト ペーパー、Webcast、および「SQL Server 2005 に関するその他のリソース」の一覧に含まれているその他のリソースを参照してください。

SQL Server 2005 データベース エンジンへのアップグレード

データベース エンジンのアップグレードは、アップグレードの中でも最も容易な作業で、管理、パフォーマンス、および高可用性の領域で、投資効果がすぐに現れます。データベース エンジンのアップグレードでも、サイド バイ サイドの移行とインプレース アップグレードという 2 種類の主な選択肢があります。サイド バイ サイドの移行では、SQL Server 2005 エンジンを、SQL Server 2000 または 7.0 サーバーと同じサーバーか、まったく別のサーバーに、別のインスタンスとしてインストールします。インプレース アップグレードでは、インストール プロセスを使用して SQL Server 2000 または 7.0 のインスタンスをアップグレードし、データベースとその他のオブジェクトは "in place (配置されたまま)" でアップグレードされます。

サイド バイ サイドの移行の場合、アップグレード パスとして最も一般的なものは、単純に、データベースをデタッチしてから SQL Server 2005 のインスタンスに再アタッチする方法か、または以前のバージョンでデータベースをバックアップし、新しいバージョンに復元する方法です。メタデータ スクリプトが最新バージョンである場合は、SQL Server 2005 サーバー上でオブジェクトを作成し、BCP を使用してデータをエクスポートおよびインポートすることもできます。もう 1 つの選択肢であるインプレース アップグレードでは、インストール プロセス中に、データベース、設定、および拡張機能を SQL Server 2005 エンジンにアップグレードして適合させます。SQL Server 2000 または 7.0 のインスタンスを含むサーバー上でセットアップ プロセスを実行すると、選択したインスタンスを SQL Server 2005 にアップグレードするオプションが表示されます。

データベース エンジンをアップグレードしても、既存の Microsoft Data Access Components (MDAC) および ADO.NET アプリケーションは、SQL Server 2000 または 7.0 上で実行していた時と同様に機能します。SQL Server 2005 に含まれる MDAC は、実は以前のバージョンと同じものですが、更新された SQL ODBC ドライバおよび SQL OLEDB プロバイダとネットワーク ライブラリを単一の DLL に統合した SQL Native Client が、新しく追加されました。SQL Native Client を使用すると、複数のアクティブな結果セット (MARS)、XML データ型、およびユーザー定義型 (UDT) など、SQL Server 2005 の新しいクライアント アクセス機能を活用できます。SQL Server は、ADO.NET の最新バージョンを含む .NET Framework 2.0 と密接に統合されています。

サーバーのインプレース アップグレードは、最も容易な作業です。この方法の場合、代替方法の計画とテストを徹底して行う必要がありますが、シームレスな接続により、すぐに成果が得られます。インプレース アップグレードを実行すると、ログインおよびユーザーの同期状態が保たれ、アプリケーション用のデータベース接続は同一のままで、SQL エージェント ジョブおよびその他の機能は、インストール中に同時にアップグレードされます。ログ配布、レプリケーション、およびクラスタ環境など、いくつかの機能をアップグレードする際には特別な考慮事項があります。

既に説明したとおり、データベース エンジンのアップグレードでは、互換性モードは 8.0 に設定されます。SQL Server 2005 でサポートされなくなった T-SQL 参照を使用する場合など、特定の状況ではこの設定を 8.0 のままにしておく方が良い場合もあります。一部の従来型 ANSI 結合構文 (特に *= 左外部結合構文) など、サポートされなくなった構文と同様、書き換えの必要があるクエリ ヒントもいくつかあります。互換性を低く設定して適用する箇所は、アップグレードの分析段階で見つかりますが、互換性レベルを 9.0 (SQL Server 2005) より低く設定する必要がある構文は、アップグレード プロセスの実行中に修正することをお勧めします。構文を書き直すと、プログラミングに関する新しい拡張機能と今回のバージョンのすべての機能に、開発者がすぐにアクセスできるようになります。この種の問題と、アップグレード時に問題が発生する可能性があるその他の構文をすばやく切り分けるには、以前のバージョンのプラットフォームでオブジェクトとプロシージャのスクリプトを出力し、SQL Server 2005 でそのスクリプトを実行します。アタッチまたは復元するだけで、これらの問題が解消される場合があります。また、一部の SQL ロジックをアプリケーションに埋め込むこともできます。データの検証を行うには、アタッチまたは復元後のデータベースで DBCC CHECKDB を実行して、移行されたデータの整合性を確認します。

注意 : システム オブジェクトを活用して作業を簡略化するのが上手な開発者がいると思います。Microsoft では、さまざまなメタデータを取得する方法として、システム テーブルに直接クエリを実行するのではなく、Information_Schema ビューを使用するように常に推奨してきました。これは、基になるオブジェクト構造が新しいプラットフォームでも同じであるとは限らないためです。新しいリリースでは、SQL Server の基になるオブジェクト構造が変更されています。また、SQL Server 2005 のカタログ ビューおよび動的管理ビュー (DMV) の権限に制限があることに注意してください。PUBLIC ユーザーがカタログ ビューを表示する権限は削除されました。また、GUEST および PUBLIC 権限を持つユーザーは DMV から選択することはできません。

SQL Server 2005 Integration Services への移行

Microsoft では、SQL Server 2005 の新しい ETL (抽出、変換、および読み込み) コンポーネント Integration Services に対して、以前のバージョンの名称 (データ変換サービス (DTS)) を使用していません。これは、SQL Server Integration Services (SSIS) のコードが完全に書き換えられたものであり、DTS のコードを 1 行も使用していないためです。常に複雑性を増し、ボリュームが増大し続けるデータを処理するために、パフォーマンスの向上とハードウェアの一元管理が要求される業界のニーズに応えるには、DTS を長期的なソリューションと位置付けることはできませんでした。DTS と SSIS はどちらも ETL ツールですが、構造は大きく異なっています。そのため、移行を行う場合、SSIS の優れた新機能を活用できるように、一部の再設計とソリューションの変更を行う必要があります。

DTS から SSIS への移動は移行によって行います。このプロセスは、ウィザード形式での出力と手動での一部の再設計によって完了します。DTS の一部のタスクは SSIS に直接アップグレードでき、ウィザードで対応しています。その他のタスクも、使用状況や設計に応じてウィザードによるアップグレードを実行できる場合がありますが、タスクの一部には、アップグレードが難しいもの、またはアップグレードできないものがあります。DTS パッケージのアップグレードに関する状況を以下に示します。

  • 単純なデータ ポンプ。 DTS ウィザードで作成されるデータ ポンプ、または単純な列コピー変換は、ほとんどの場合アップグレード可能です。

  • ワークフロー パッケージ。 パッケージに SQL 実行タスクなどのタスクが含まれ、主にワークフローに基づいている場合、たいていは直接アップグレード可能で、ほとんどの場合ウィザードで処理することもできます。

  • 変換を伴うデータ ポンプ。 開発者が DTS デザイナを使用して、変換を伴うデータ ポンプを使用するパッケージを構築した場合、ウィザードにより以前のデータ ポンプ タスクがカプセル化されます。移行後の新しいパッケージでは、実行時に以前の DTS オブジェクト モデルを起動します。インストールされた SQL Server 2005 を SQL Server の次のバージョンにアップグレードする前に、カプセル化されたこの機能を新しい SSIS 構成に置き換える必要があります。データ ドリブン クエリ タスクおよび並列データ ポンプ タスクも、このカテゴリに含まれます。

  • 自己修正パッケージ。 DTS API を利用して DTS オブジェクトやプロパティを操作する DTS パッケージは、再設計する必要があります。たとえば、DTS のループ構成に、他のパッケージ ステップの待機状態を変更するために API を使用するスクリプトが含まれている場合などが一般的です。この構成は、SSIS に組み込まれた For ループ コンテナおよび For Each ループ コンテナを使用して再設計できます。

  • スクリプト タスク。 移行後の ActiveX スクリプト タスクで DTS ランタイム パッケージ オブジェクトへのアクセスが行われない場合、そのタスクは実行されます。変数へのアクセスでは、再設計しなくても新しい SSIS 変数が使用されますが、通常、新しい SSIS 機能に対してスクリプト タスクを再評価し、必要に応じて新しいタスクを使用して書き直す必要があります。

  • OLAP 処理タスク。 データ変換タスクと同様、ウィザードでタスクがカプセル化され、SSIS で実行できます。対象サーバーのアップグレード後、カプセル化された機能を新しい SSIS 機能に置き換えることを検討してください。

  • カスタム タスク。 カスタム タスクはウィザードでカプセル化され、多くの場合、SSIS で実行できます。ただし、SSIS で新しいカスタム タスクまたは変換を作成することが最善の方法です。

  • 動的プロパティ タスク。 このタスクの場合、式および構成を使用して動的プロパティの機能を置き換え、SSIS で再設計する必要があります。

パッケージを少しずつ SSIS に移行することも可能です。SQL Server 2005 をインストールする際には、DTS パッケージを SQL Server 2005 で実行するために必要なランタイム ファイルをインストールするという選択肢もあります。その場合、SQL Server 2000 をインストールする必要はありません。このような場合、特に DTS パッケージに手動での移行を必要とするタスクが多く含まれている環境では、サイド バイ サイドの移行を行わざるを得ないことがあります。SSIS サーバーにランタイム ファイルまたは SQL Server 2000 がインストールされていれば、SSIS にも DTS 実行パッケージ オブジェクトが含まれています。SQL Server 2005 SSIS と SQL Server 2000 DTS をサイド バイ サイドで実装すると、パッケージの移行を行う際の柔軟性が最も高くなります。

Analysis Services のアップグレード

Analysis Services 2000 の特長であったディメンション、パーティション、ストレージ モード、集計、およびメジャーは、新しいリリースでもそのまま採用されていますが、SQL Server 2005 では、さらに注目すべき拡張機能が多く導入されています。たとえば、統一ディメンション モデル (UDM) は従来の OLAP ソースの枠を超え、広範囲のリレーショナル データや集計データを、統一されたビューで表示できるようになりました。ディメンションにも有益な変更が加えられています。階層ベースのモデルから属性ベースのモデルに変更され、それに関連してストレージと集計に対する最適化が行われたため、Analysis Services 2005 はエンタープライズ レベルのパフォーマンスとボリュームに完全に対応できるようになりました。

アップグレードを行う場合、Analysis Services 2000 から Analysis Services 2005 へは直接インプレース アップグレードを行うことができます。その際、キューブ、パーティション、ディメンション階層、メジャー、計算、およびセットは保持されます。Analysis Services オブジェクトはデータベース エンジンを参照するデータ ソース ビュー (DSV) 上に構築されるため、基になるテーブルを参照するビュー上ではなく、Analysis Services 2000 オブジェクトが構築されているベース テーブル上に DSV を作成することが重要です。移行ウィザードを使用すると、ソース テーブルのリレーションシップと属性を完備した DSV が非常にうまく生成されます。そのため開発者は、Analysis Services 2000 になかった属性でも、キューブに追加できるようになります。

移行ウィザードでは、Analysis Services オブジェクトの最適化は行われません。新しい Analysis Services サーバーの所定の位置へのオブジェクトの移動のみが行われます。ウィザードの目的は、キューブ構造と構成オブジェクトを移行し、Analysis Services 2005 にキューブを移行した後でも、Analysis Services 2000 構造に依存するクライアント アプリケーションの使用が中断されないようにすることです。したがって、移行後のキューブの設計で SQL Server 2005 の拡張機能が活用されない場合があります (拡張機能は後で活用できます)。ただし、移行後のキューブは、パフォーマンスおよびスケーラビリティの点で、Analysis Services の新しいアーキテクチャのメリットをすぐに享受できます。移行ウィザードのプロセスが終了すると、キューブを再処理して、データおよびレポートのテストを実行できます。

Analysis Services 2005 では、レポートに対するクライアント アクセス メソッドおよび構造の影響に応じて、アップグレードでの最重要考慮事項が決まります。Analysis Services 2005 では、Microsoft の協力によって策定された OLAP 用の新しい Web サービス プロトコルである XML for Analysis (XMLA) が活用されています (XMLA が最初にサポートされたのは、Web リリース版の Analysis Services 2000 です。Analysis Services 2000 サーバーでは、XMLA 要求のリッスンおよび応答が可能です)。XMLA をネイティブでサポートするには、SQL Server 2005 へアクセスするために OLAP 用の既存の OLEDB クライアント コンポーネント (PTS : ピボット テーブル サービス) を更新する必要があります。つまり、SQL Server 2005 に含まれている最新バージョンの PTS が必要です。新しいドライバは以前のバージョンの PTS に対してサイド バイ サイドでインストールされるため、ユーザーは SQL Server 2005 と SQL Server 2000 の両方の Analysis Services にアクセスできます。

クライアント アクセスに関する 2 番目の考慮事項は、アップグレード後の OLAP 構造および関連する MDX の互換性です。MDX では、変更後のメンバと構造に対して互換性の問題が生じる場合があります。アップグレード ウィザードでは、ディメンション アーキテクチャが階層ベースから属性ベースに変更されて OLAP 構造がうまく再作成されますが、アップグレード後に構造およびデータの点でわずかな異常が確認されることがあります。そのため、データベース エンジンの場合に比べて、レポートおよびデータのテストを実行することがさらに重要です。一部のレポートおよび基になる MDX を、Analysis Services 2005 の構造用に再作成する必要が生じる場合もあります。

Reporting Services のアップグレード

Reporting Services 2000 が最初にリリースされたのは 2004 年の初めで、Reporting Services 2005 プラットフォームでは、アーキテクチャに関する大きな変更はありません。ただし、パラメータの複数選択、組み込み MDX のサポート、および動的レポート生成など、いくつかの新機能があります。Reporting Services 2000 から Reporting Services 2005 へは、直接インプレース アップグレードを行うことができます。さらに、Reporting Services 2000 で作成された RDL レポート定義は、アップグレードしなくても Reporting Services 2005 で実行できます。ただし、開発者がレポートを BI Development Studio で開くと、RDL を新しい Reporting Services 2005 標準に変換するかどうか確認するメッセージが表示されます。

正常なアップグレードのために

SQL Server 2005 へのアップグレードを管理するには、計画とテスト段階で多くの作業が必要ですが、事前に適切な検討と準備を行い、SQL Server 2005 アップグレード アドバイザとセットアップ ウィザードを使用すれば、予期しないトラブルを避け、注力すべき領域を確認できます。スムーズなアップグレードについて十分に理解しておけば、SQL Server 2005 の能力と機能をフルに活用できるでしょう。

オペレーティング システムおよびハードウェアのアップグレードに関する考慮事項

SQL Server 2005 の基本オペレーティング システム (OS) とハードウェアに関する要件は、SQL Server 2000 の要件とほぼ同じです。SQL Server 2005 は、Microsoft Windows Server 2003、Windows XP、または Windows 2000 Server を実行しているコンピュータで動作します。ハードウェア構成としては、1 GHz プロセッサおよび 1 GB 以上の RAM を推奨します。表 2 では、SQL Server 2005 の各エディション (Developer Etidion および Evaluation Edition を除く) についてのハードウェア要件を要約して示しています。SQL Server 2005 Reporting Services を実行するには、Microsoft IIS 5.0 以上も必要です。

SQL Server のエディション

プロセッサの最大数

RAM 容量

32 ビット サポート

x64 サポート

Itanium サポート

Express

1

最小 : 128 MB
推奨 : 512 MB 以上
最大 : 1 GB

対応

32 ビット アプリケーションとして対応

未対応

Workgroup

2

最小 : 512 MB
推奨 : 1 GB 以上
最大 : 3 GB

対応

32 ビット アプリケーションとして対応

未対応

Standard

4

最小 : 512 MB
推奨 : 1 GB 以上
最大 : 64 GB (32 ビット) または 512 GB (64 ビット)

対応

対応

対応

Enterprise

32 (32 ビット) または 128 (64 ビット)

最小 : 512 MB
推奨 : 1 GB 以上
最大 : 64 GB (32 ビット) または 512 GB (64 ビット)

対応

対応

対応

表 2 : SQL Server 2005 のエディション別ハードウェア要件

SQL Server 2005 は SQL Server 2000 をサポートするハードウェア構成と同じ条件の構成で動作しますが、ハードウェアおよび OS のテクノロジの向上により、新しい処理能力をかつてない低コストで実現できるようになりました。そのため、SQL Server 2005 用のハードウェアを適切に選択する作業は、以前より難しくなりました。AMD および Intel から提供されるプロセッサでは新しく x64 プラットフォームがサポートされ、Microsoft の新しいネイティブ 64 ビット OS である Windows Server 2003 x64 Edition と組み合わせて使用することで、SQL Server を 64 ビット プラットフォームで実行できます。SQL Server 2005 を新しく実装する場合でも、既存の SQL Server システムからアップグレードする場合でも、これは選択肢として検討する価値の高いものです。適切なプラットフォームを決定する際には、予想されるワークロードと選択可能なオプションに割り当て可能な予算との調整が重要になります。

64 ビット Intel Itanium プラットフォーム

ワークロードに対して最高度のスケーラビリティを必要とする場合、プラットフォームとして選択するメリットが明確なのは、Intel Itanium 2 ベースのシステムです。Itanium 2 は、Windows Server での TPC-C ベンチマーク テストで、すべての領域で最高位をマークしています。Itanium 2 システムでは、x64 ベースのプラットフォームに比べて非常に高いレベルのアドレス呼び出し可能メモリがサポートされ、より高度な SMP 処理機能が提供されます。Itanium 2 ベースのシステムの導入コストは最も高額ですが、同時に処理能力を最も向上させることができます。このレベルのシステムでは、通常、フォールト トレランス用に冗長ハードウェアが用意され、ハードウェア ベースでシステムがパーティション分割されています。

x64 プラットフォーム

もちろん、すべての企業が最高度のスケーラビリティを必要としているわけではなく、はるかに多くのシステムが、現行の x64 システムのアドレスのセグメントである 2 ウェイから 4 ウェイのサーバー ゾーンに分類されます。x64 プラットフォームに変更する場合の主な理由は、現在のワークロードでメモリに負荷がかかりすぎ、32 ビット Windows では 2 GB の壁に突き当たってしまうことです。3 GB 以上のメモリにアクセスできる Address Windowing Extensions (AWE) を使用することもできますが、AWE では非ページ メモリが使用されるため、x64 システムでシステム メモリを使用する場合と同じレベルのパフォーマンスを得ることはできません。他に、ビジネス インテリジェンス (BI) ソリューションやサーバー統合のシナリオなどのワークロードでも、x64 プラットフォームの 64 ビット機能のメリットを活かすことができます。

SQL Server の 32 ビット版から 64 ビット版への変更はシームレスに行えます。SQL Server のどちらのエディションも、ディスク上での構造は同じです。必要な作業は、データベースを 32 ビット システムからデタッチして、64 ビット システムにアタッチするだけです。クライアント アプリケーションを変更する必要はありません。

32 ビット プラットフォーム

32 ビット プラットフォームは、今でもコスト パフォーマンスの高い選択肢です。現在の SQL Server 2000 システムにまだ余裕がある場合は、同じシステム上で SQL Server 2005 を実行して、32 ビット サーバーの資産を活用することができます。32 ビット システムには 64 ビット プラットフォームと同レベルのスケーラビリティはありませんが、32 ビット システム自体のパフォーマンスが向上したこと、および今後の CPU 自体の速度向上、2005 年のデュアル コア システムの新規市場投入などから、システムの能力はさらに拡大し、向上し続けるでしょう。

SQL Server 2005 に関するその他のリソース

Microsoft SQL Server ホームページ
このホームページには、SQL Server 2005 へのアップグレード準備の参考となる、Webcast、技術文書、および顧客導入例へのリンクが含まれ、SQL Server に関するあらゆる情報を包括的に提供しています。また、SQL Server 2005 アップグレード アドバイザの最新バージョンのダウンロードに関する情報もお届けします。https://www.microsoft.com/japan/sql/default.mspx を参照してください。

TechNet の SQL Server TechCenter
SQL Server TechCenter は、SQL Server のデータベース管理者向けに最適なリソースで、データベース管理者および IT プロフェッショナルのための技術情報を提供しています。https://www.microsoft.com/japan/technet/prodtechnol/sql/default.mspx を参照してください。

MSDN の SQL Server Developer Center
SQL Server Developer Center は、SQL Server データベース開発者向けの優れたリソースで、SQL Server によるデータ処理を中心に、開発に関する情報を提供しています。SQL Server チーム メンバへのインタビューも掲載しています。https://www.microsoft.com/japan/msdn/sqlserver/ を参照してください。

SQL Server 2005 エディション別機能比較表
SQL Server 2005 のエディション別の機能比較表は、SQL Server 2005 の参考資料の中でも最も重要なものです。SQL Server 2005 には Express Edition と Workgroup Edition が追加されましたが、この資料により、さまざまな新機能がどのエディションでサポートされているか確認できます。https://www.microsoft.com/japan/sql/prodinfo/features/compare-features.mspx を参照してください。

SQL Server 2005 Express
SQL Server 2005 Express をダウンロードすると、お使いの環境で SQL Server 2005 を無料で使用することができます。SQL Server Express は、開発者向けの優れたデータベースであり、CLR 統合、新しい T-SQL コマンド、新しい XML データ型や varbinary(max) データ型などの SQL Server 2005 の新機能を数多く備えています。https://www.microsoft.com/japan/sql/editions/express/default.mspx を参照してください。

体験型仮想実習
SQL Server 2005 には 11 種類の体験型の仮想実習が用意され、SQL Server 2005 の新機能の一部を体験できます。この仮想実習では、SQL-CLR、T-SQL、および Reporting Services などのトピックを取り上げています。このサイトには、技術資料やブログへのリンクもあります。https://msdn.microsoft.com/SQL/2005/2005Labs/default.aspx を参照してください。

Webcast
10 回のシリーズである学習用の TechNet Webcast を参照して、SQL Server 2005 を導入する準備に役立ててください。ここでは、レプリケーションおよびスケーラビリティを実現する SQL Server 2005 のツール、セキュリティ拡張機能、および高可用性機能のすべてが網羅されています。https://www.microsoft.com/events/series/technetsqlserver2005.mspx を参照してください。

SQL Server Integration Services
SQL Server 2005 では、データ変換サービス (DTS) の後継として、Integration Services (SSIS) が導入されました。SSIS の知識習得は管理者にとって最優先事項です。このサイトには、ビジネス インテリジェンス (BI) 開発者のブログへのリンクがあり、実際のプロジェクトの経験から得られた SSIS のベスト プラクティスに関する詳細がいくつか掲載されています。https://msdn.microsoft.com/SQL/sqlwarehouse/SSIS/default.aspx を参照してください。

SQLJunkies
SQL Server 2005 の開発機能の特長についての知識を習得するには、SQLJunkies.com のブログを参照してください。SQLJunkies のサイトには、技術文書だけではなく、Microsoft SQL Server 2005 の開発者やプログラム マネージャのブログなど、さまざまなブログの一覧があります。http://www.sqljunkies.com を参照してください。

SQL Server Magazine
SQL Server Magazine の Web サイト (SQLMag.com) には、有名な SQL Server 専門ライターによる技術文書やコラムが数多く掲載されており、SQL Server 2005 の詳細について学ぶことができます。Itzik Ben-Gan による本リリースの T-SQL 機能についてのガイド、Microsoft のシニア プロダクト マネージャである Matt Nunn の SQL Server 2005 の導入についてのコラム、その他、業界のエキスパートによる CLR データベース オブジェクト開発のためのステップ ガイドや SSIS の概要紹介など、さまざまな記事が掲載されています。http://www.sqlmag.com を参照してください。   

執筆者について

Douglas McDowell (douglas@solidqualitylearning.com) は、Solid Quality Learning でビジネス インテリジェンスに関する事業部長を担当しています。指導者、ソリューション設計者、プロジェクト マネージャなどの顔を持ち、アトランタの SQL Server ユーザー グループである Atlanta.mdf の創始者でもあります。また、MCSE、MCDBA、および MCT の資格を持つと共に、Microsoft ワールドワイドアワード Business Intelligence ソリューション部門最優秀賞の受賞者でもあります。

Erik Veerman (erik@solidqualitylearning.com) は Solid Quality Learning の共同指導者であり、広範囲のビジネス領域で SQL Server ベースのビジネス インテリジェンス ソリューションを数多く設計しています。OLAP 設計、ELT 処理、およびディメンション モデリングのエキスパートとして、PASS の地域支部では何度もプレゼンテーションを行い、PASS 全国大会と SQL Server Magazine Connections カンファレンスではスピーチを行っています。

Michael Otey (mikeo@teca.com) は SQL Server Magazine のシニア テクニカル エディタであり、オレゴン州ポートランドのソフトウェア開発/コンサルティング会社である TECA の社長でもあります。業界の御意見番であり、『Microsoft SQL Server 2005 New Features』 (Osborne/McGraw-Hill) の著者でもあります。