...

から バージョン への移植 Microsoft

by user

on
Category: Documents
26

views

Report

Comments

Transcript

から バージョン への移植 Microsoft
Microsoft SQL Server 2000 から
DB2 Universal DatabaseTM バージョン 8 への移植
作成者
Amyris V. Rada
IBM トロント研究所
データ・マネージメント・ソリューション
[email protected]
(DB2 Developer Domain(ibm.com/software/data/developer)の好意によりリプリント)
商標
以下の用語は、米国および/またはその他の国における IBM Corporation の商標または登録商標
です。
AIX
Informix
AS/400
MQSeries
DataJoiner
MVS/ESA
DataPropagator
Net.Data
DataRefresher
NUMA-Q
DB2
OS/400
DB2 Connect
OS/390
DB2 Universal Database
OS/2
DB2 OLAP Server
RS/6000
Distributed Relational Database Architecture
System/390
DRDA
VM/ESA
IBM
VSE/ESA
IMS
z/OS
ISeries
zSeries
Notes は Lotus Development Corporation および/または IBM Corporation の登録商標です。
以下の用語は、示されている会社の商標または登録商標です。
Java およびすべての Java 関連の商標は、米国およびその他の国における Sun Microsystems,
Inc.の商標または登録商標です。
Microsoft、Microsoft SQL Server、VisualBasic、Visual C++、Visual InterDev、Visual Studio、
Windows、Windows NT および Windows 2000 は、米国およびその他の国における Microsoft
Corporation の商標または登録商標です。
UNIX は、米国およびその他の国における The Open Group の登録商標です。
他の会社名、製品名およびサービス名は、それぞれの会社の商標または登録商標の可能性があり
ます。
 2003 International Business Machines Corporation. All rights reserved.
目次
はじめに .........................................................................................................................................6
DB2 UDB に移植する理由 ..............................................................................................................8
ネイティブ環境の統合サポート ..................................................................................................8
統合システム管理ツール ..............................................................................................................8
DB2 Universal Database のマルチプラットフォーム・ツール..................................................9
自己管理・自己調整 ....................................................................................................................10
データ・レプリケーション ........................................................................................................10
統合 Web アクセス ....................................................................................................................... 11
Web サービス・アプリケーション ............................................................................................12
開発環境の統合サポート ............................................................................................................12
基本のウェアハウジング機能 ....................................................................................................13
高可用性サポート ........................................................................................................................13
IBM 開発者支援プログラム........................................................................................................14
DB2 Universal Database 製品ファミリー.....................................................................................16
DB2 Personal Edition .....................................................................................................................17
DB2 Workgroup Server Edition .....................................................................................................18
DB2 Enterprise Server Edition .......................................................................................................18
DB2 Everyplace..............................................................................................................................19
DB2 Run-Time Client.....................................................................................................................19
DB2 Administration Client.............................................................................................................19
DB2 Application Development Client............................................................................................20
DB2 製品........................................................................................................................................22
データ・タイプ変換......................................................................................................................25
管理上の問題 ................................................................................................................................27
環境 ................................................................................................................................................27
管理サーバー ................................................................................................................................28
連合機能 ........................................................................................................................................29
データベース・デバイス ............................................................................................................30
ログ・ファイル ............................................................................................................................31
データベース・セキュリティー ................................................................................................33
バックアップおよびリストア ....................................................................................................35
オンライン・ユーティリティー・ツール ................................................................................36
タスク ............................................................................................................................................37
システム・ストアード・プロシージャーおよび管理ツール.................................................38
データベースの整合性 ................................................................................................................40
インプリメンテーションの相違点 ................................................................................................42
分離レベル ....................................................................................................................................42
ステートメントの分離レベル ....................................................................................................42
ロック機構 ....................................................................................................................................43
システム・データベース ............................................................................................................43
SQL の標準準拠............................................................................................................................45
表 ....................................................................................................................................................45
一時表 ............................................................................................................................................46
索引 ................................................................................................................................................47
ビュー ............................................................................................................................................48
IDENTITY 列 ................................................................................................................................49
算出列 ............................................................................................................................................49
制約 ................................................................................................................................................50
スクロール可能カーソル ............................................................................................................51
ANSI 結合演算子..........................................................................................................................51
トランザクション ........................................................................................................................52
トリガー ........................................................................................................................................53
ストアード・プロシージャー ....................................................................................................55
ユーザー定義関数 ........................................................................................................................59
XML サポート ..............................................................................................................................61
グローバル変数 ............................................................................................................................62
プログラミング・インターフェース.............................................................................................63
DB2 プログラミング・インターフェースの概要 ....................................................................63
DB2 コール・レベル・インターフェース................................................................................64
DB2 Java 使用可能化....................................................................................................................66
組み込み SQL................................................................................................................................68
プログラミング API.....................................................................................................................69
用語マップ ....................................................................................................................................72
DB2 CLI 対 ODBC 関数のマップ ..................................................................................................73
変換ツール ....................................................................................................................................75
IBM DB2 Migration Toolkit(MTK)..........................................................................................75
AllFusion Erwin Data Modeler ......................................................................................................77
Data Junction ..................................................................................................................................77
Embarcadero Technologies.............................................................................................................78
SQL Conversion Workbench(SQL-CW) ...................................................................................78
リソースおよびリファレンス .......................................................................................................80
はじめに
データベース管理ソフトウェアは、現在ではエンタープライズ・コンピューティングの中核を成
すようになりました。企業は、XML 文書、ストリーミング・ビデオ、その他のリッチ・メディ
ア・タイプなどの幅広い情報にアクセスする必要があります。新しい作業方法には、ディジタル
権利の管理をはじめとする新しい要件が伴います。e-ビジネスの発展によって連続可用性は不可
欠な要件となり、企業によるビジネス・オペレーションの統合に伴い、トランザクションの収
束、ビジネス・インテリジェンス、およびコンテンツ・マネージメント・アプリケーションの利
用が促進されています。DB2 Universal Database バージョン 8 により、組織はこれらの課題に応
えることができます。
DB2 Universal Database for UNIX and Windows(DB2 UDB)により、データベース・アプリケー
ションのパフォーマンスを向上させることができます。多くのソリューション開発者は、DB2
UDB をその主な開発データベース環境としてすでに採用しており、その固有の機能を活用する
ために、アプリケーションを移植してそれらが継続的に DB2 をサポートできるようにしていま
す。
DB2 UDB は、真のクロス・プラットフォーム・データベース管理システム(DBMS)であり、
Windows 98、Windows NT、Windows 2000、Solaris、HP-UX、AIX、および Linux をはじめとす
る幅広いシステム上で稼働します。
DB2 UDB は、Web サイト上のトランザクション要求のピークに素早く対応し、異なった複数の
データベースに分散できる、増大しつつある情報を収めるよう拡張し、単一のプロセッサーか
ら、マルチプロセッサー、さらには大規模な並列クラスターに至るまでの情報インフラストラク
チャーに合わせて拡大します。パーティション化およびクラスター化テクノロジーを、新しい
DB2 Universal Database Enterprise Server Edition に統合することによって、将来の発展に応えるだ
けの十分な柔軟性が備わります。
いくつものテクノロジーにおいて真に先頭を行くデータベースとして、DB2 UDB は以下の機能
を提供しています。
•
テキスト文書、画像、ビデオ、およびオーディオ・クリップなどの複合データの統合サ
ポート
•
JavaTM 、Java Database Connectivity(JDBC)、組み込み SQL for Java(SQLJ)、および
Net.Data のネイティブ・サポートによる統合 Web アクセス
•
統合システム管理ツール
•
データ・レプリケーション・サービス
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
6
この記事では DB2 UDB 製品とその機能について紹介し、データベースおよびアプリケーション
の移植について論じ、Microsoft SQL Server 2000 から DB2 UDB V8 へのアプリケーションの移植
における最も重要な点について説明します。さらに、データベース・オプションの 2 つの製品間
の相違点、データ定義言語(DDL)、データのモデル化、SQL の考慮事項、データ変換、および
アプリケーション変換について説明します。
以降では特に断らない限り、DB2 という表現は、UNIX、Linux および Windows プラットフォー
ム用の DB2 UDB を指して用いられます。この資料に記載されているすべての情報は、2003 年 1
月 19 日現在公開されている情報に基づいており、変更される可能性があります。IBM では、そ
うした情報の正確さ、完全性、および適合性の保証責任は負わないものとします。IBM では、こ
こに記載されている情報の誤り、遺漏、または欠陥には責任を負わず、その解釈についても責任
を負わないものとします。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
7
DB2 UDB に移植する理由
DB2 はいくつものテクノロジーの先頭を行くデータベースであり、真のマルチプラットフォー
ム・サポートとスケーラビリティーを提供します。同じ 1 つのデータベースで、複合タイプの
ワークロードを単一のサーバー上で処理できます。DB2 は設計上、高ボリュームのオンライン・
トランザクション処理(OLTP)から複雑なマルチユーザー照会までのさまざまなワークロード
を処理し、そのすべてで優れたパフォーマンスを維持します。
スケーラビリティーとパフォーマンスに加え、DB2 は以下の利点を備えています。
•
ネイティブ環境の統合サポート
•
統合システム管理ツールおよびマルチプラットフォーム・ツール
•
自己管理およびリソース調整機能
•
データ・レプリケーション・サービス
•
統合 Web アクセス
•
Web サービス・アプリケーション
•
開発環境の統合サポート
•
データウェアハウジング機能
•
高可用性サポート
•
開発者支援用の IBM プログラム
それぞれについて以下に詳細に説明します。
ネイティブ環境の統合サポート
DB2 は、サポートしているオペレーティング・システムを含め、数多くの標準に準拠していま
す。パフォーマンスとスケーラビリティーのために、DB2 は内部リソースに密接にマップしてい
ます。これらすべてを考慮することにより、DB2 の信頼性と、オペレーティング・システムへの
統合度はさらに高まります。
統合システム管理ツール
DB2 バージョン 8 では、いくつかの新しいツールを導入しています。これには、ヘルス・モニ
ター、ヘルス・センター、レプリケーション・センター、およびストレージ管理ツールがありま
す。さらに V8 では、構成アシスタント、コントロール・センター、およびデベロップメント・
センターなどの既存のツールにも大きな改善が加えられています。これらのツールによって提供
される機能のいくつかを以下に示します。
•
ヘルス・モニターおよびヘルス・センターは、DB2 システムの正常性のモニターに役
立ちます。それらは潜在的なシステムの正常性の問題についてのアラートを受け取り、
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
8
そうした問題が、システムのパフォーマンスに影響を与える現実の問題となる前に対処
します。
•
ストレージ管理ツールは、現在ではコントロール・センターから利用でき、特定のデー
タベース、データベース・パーティション・グループ、または表スペース用のストレー
ジのスナップショットを表示します。
•
構成アシスタントには、DB2 ConnectTM サーバーを含む、ローカルおよびリモートの
サーバーを構成したり、構成テンプレートを作成するためのオプションがあります。
•
コントロール・センターは、構成、データのバックアップおよびリカバリー、ディレク
トリーの管理、ジョブのスケジュール、メディアの管理などのサーバー管理タスクの実
行や、データベースのアクセスおよび操作に使用できる、グラフィカル・インター
フェースです。コントロール・センターは、Windows 32 ビット・オペレーティング・
システム、Linux、UNIX、および OS/390 上でデータベースを管理するためにインス
トールして使用できる Java アプリケーションです。
コントロール・センターからは、他のツールにアクセスすることができ、これにはレプリケー
ション・センター、サテライト管理センター、データウェアハウス・センター(データウェアハ
ウジング・オプションがある)、コマンド・センター、タスク・センター、インフォメーショ
ン・カタログ・センター、ヘルス・センター、ジャーナル、ライセンス・センター、デベロップ
メント・センター、およびインフォメーション・センターなどがあります。
DB2 Universal Database のマルチプラットフォーム・ツール
IBM アプリケーション・ツールは、AIX、HP-UX、Solaris オペレーティング環境、Linux、およ
び Microsoft Windows オペレーティング・システムでの DB2 のパフォーマンスと管理を向上させ
る目的で設計されています。
•
DB2 Table Editor for Multiplatforms は、データを作成、レビュー、または更新するユー
ザーに、DB2 データベースへの直接アクセスを提供します。これには Java 対応ブラウ
ザーが必要です。
•
DB2 Web Query Tool for Multiplatforms は、複合機能を使用してエンタープライズ・デー
タへの簡易なアクセスを提供します。
•
DB2 Recovery Expert for Multiplatforms は、システムをオンラインにしたままで、データ
ベース資産の、ターゲット設定された自動化リカバリーを提供します。標準装備の自己
管理・自己調整(SMART)機能では、変更、破損、不正確、または欠落の状態にある
データベース資産(表、索引、またはデータ)に対してインテリジェント分析を実行
し、それらの資産を正しい状態の時点まで再ビルドするプロセスを自動化し、しかもそ
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
9
れらすべてをデータベースやビジネスの正常なオペレーションを中断せずに実行しま
す。
•
DB2 Performance Expert for Multiplatforms は、DB2 のパフォーマンス関連情報の統合、
レポートおよび分析を行う包括的なビューを提供し、パフォーマンスを改善するための
変更を推奨します。DB2 Performance Expert は、すべてのトレース、スナップショッ
ト、イベント、および DB2 バージョン 8 のヘルス・モニター出力からのビューを選択
的に採用して統合することができます。加えて、これはオンライン・スナップショッ
ト・レポートと、バッファー・プール・アナライザーおよびレポート機能を提供しま
す。これはパフォーマンス・データを、その固有のパフォーマンス・データウェアハウ
スに選択的に保管し、データの詳細レベルおよびロールアップ・レベルの両方で後から
調べることができます。さらに、そのスターター・セットの SMART 機能を使用して、
DB2 Performance Expert は、最適なスループットを得るためのシステム調整の推奨も提
供します。これは DB2 UDB バージョン 8 をサポートします。
•
DB2 High Performance Unload for Multiplatforms は、エンタープライズ・システム間での
データの移動のためのアンロードおよび抽出用、またはインプレースでの再編成用の、
高速で効率的なツールを顧客に提供します。この製品は、ハイレベルの並列処理を、
パーティション・データベース環境でのアンロードまたは抽出時に提供します。DB2
Enterprise Server Edition バージョン 8 および DB2 Enterprise - Extended Edition バージョン
7 の両方がこの対象になります。
自己管理・自己調整
DB2 バージョン 8 には、自己管理・自己調整(SMART)データベース・テクノロジーも追加さ
れ、これによってデータベース管理者は、拡張された自動化プロセスで、データベースの構成、
調整、および管理を実行することを選択できます。SMART データベース管理を使用すれば、管
理者は、ルーチン・タスクの管理に費やす時間を減らし、持続可能な競争上の優位性を企業が獲
得し、それを維持するのに役立つタスクに集中する時間を増やせます。
データ・レプリケーション
DB2 には、企業全体での、タイムリーで、信頼性があり、整合性のあるデータを保証する、レプ
リケーション・ソリューションが組み込まれています。DB2 バージョン 8 のレプリケーションに
は、以下の 4 つのコンポーネントがあります。
•
レプリケーション・センター
•
Capture プログラムおよびトリガー
•
Apply プログラム
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
10
•
レプリケーション・アラート・モニター
レプリケーション・センターは、レプリケーションに必要なコントロール表を作成し、コント
ロール表内の登録済みソース、サブスクリプション・セット、およびアラート条件についての初
期情報を保管します。Capture プログラム、Apply プログラム、および Capture トリガーは、コン
トロール表を更新して、レプリケーションの進捗を示し、変更の処理を調整します。レプリケー
ション・アラート・モニターは、Capture プログラム、Apply プログラム、および Capture トリ
ガーによって更新されたコントロール表を読み取り、サーバーでの問題および進捗を理解しま
す。
レプリケーション・コンポーネントはそれぞれ独立して実行され、それぞれがレプリケーショ
ン・コントロール表に保管している情報に依存して、相互に交信します。
以下の付加的な製品で、DB2 ファミリー、IMSTM 、VSAM、Oracle、Sybase、Microsoft、Lotus
Notesその他のソースとターゲットをサポートするので、データ・レプリケーション・ソリュー
ションは完全なものとなります。
•
DB2 DataPropagatorTM for OS/390 − DB2 Universal Database Server for OS/390 バージョン
6 のフィーチャー
•
DataPropagator Relational V5R1 for AS/400
•
IBM DataPropagator NonRelational
•
IBM DataJoiner
•
Lotus NotesPump
統合 Web アクセス
DB2 は、DB2 データベース上でのエンタープライズ・データへの Web アクセスを、Java/JDBC、
組み込み SQL for Java(SQLJ)、および Net.Dataのネイティブ・サポートによって提供します。
JDBC は、DB2 データベースのデータにアクセスするアプリケーションまたはアプレットを作成
するために使用できます。これらのアプレットは、クライアントのプラットフォームに関係な
く、Java 対応ブラウザーがあるシステム上であれば、HTML Web ページの内部で実行できます。
JDBC アプレットの処理は、クライアントとサーバーが分け合います。
DB2 SQLJ サポートによって、DB2 UDB データベースに対する SQLJ プログラムの作成、ビル
ド、および実行が容易になります。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
11
DB2 Net.Data によって、アプリケーション開発者は、DB2 データベースからデータにアクセス
し、Web サーバー上に保管され、どの Web ブラウザーからでも表示できる、インターネット・
アプリケーションを作成することができます。これらの文書を表示する際に、ユーザーは自動化
照会を選択するか、または指定の情報を DB2 UDB データベースから直接検索する新しい照会を
定義することができます。
Web サービス・アプリケーション
DB2 は、Web サービス・プロバイダーとして利用することができ、通常は IBM WebSphere
ファミリー製品と組み合わされて、完全な Web サービス・フレームワークを提供します。
データ集約型の Web サービス・アプリケーションを簡単に開発するには、DB2 Document Access
Definition eXtension(DADx)プログラミング・モデルを使用します。DADx ファイルは XML 文
書にすぎず、それにはストアード・プロシージャー参照、DB2 XML エクステンダー参照、およ
び従来の SQL が含まれています。とりわけ優れた点として、DADx ファイルは Java プログラミ
ングなしで迅速に作成できます。詳細については、「DB2 UDB Application Development Guide」を
参照してください。
Web サービス・プロバイダーとしての DB2 のデモンストレーションについては、IBM Video
Central for e-business tutorial(http://www7b.software.ibm.com/dmdd/library/samples/videocentral/
videocentral.html)を参照してください。
開発環境の統合サポート
DB2 は Application Development Client(ADC)を提供しており、これにはデータベース・アプリ
ケーション開発者用に特に設計されたツールのコレクションが含まれています。
ADC には、データベース・アプリケーションを作成するための、ライブラリー、ヘッダー・
ファイル、文書化されたアプリケーション・プログラミング・インターフェース(API)、および
サンプル・プログラムが組み込まれています。
DB2 バージョン 8 では、ストアード・プロシージャー・ビルダー(SPB)が、デベロップメン
ト・センターへと置き換えられています。ワークステーションから z/OSTM に至るまでの DB2
ファミリー全体をサポートする単一の開発環境として、これはストアード・プロシージャー・ビ
ルダーよりさらに多くの次のような機能とフィーチャーを提供しています。
•
ストアード・プロシージャーやユーザー定義関数(UDF)などのルーチンを開発するた
めの使いやすいインターフェース
•
開発タスクを簡単に実行できるウィザードのセット
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
12
•
Microsoft Visual C++、Microsoft Visual Basic、および Microsoft Visual InterDev 用の DB2
開発アドイン。これによってデベロップメント・センターのフィーチャーに簡単にアク
セスできます。
基本のウェアハウジング機能
DB2 UDB は、データウェアハウス処理を自動化するコンポーネントである、データウェアハウ
ス・センターを提供します。データウェアハウス・センターは、データ・ソースの登録とアクセ
ス、データの抽出とトランスフォーメーションのステップの定義、データウェアハウスへのデー
タの追加、ウェアハウス管理プロセスの自動化とモニター、およびメタデータの管理と交換を行
うために使用できます。
DB2 Warehouse Manager 製品によって、データウェアハウス・センターが提供するウェアハウジ
ング機能は完成されます。
高可用性サポート
データの可用性を高めるために、DB2 UDB では、サスペンド I/O、ミラー・イメージ分割、重複
ロギング、並列リカバリー、分割イメージからのバックアップ、増分およびデルタ・バックアッ
プなどの機能を提供します。サスペンド I/O および db2inidb ユーティリティーが提供する機能で
は、ミラーリングされたデータのコピーを分割して、そのミラーリングされたコピーを処理や他
のサーバーで利用できるようにします。新しいデータベース構成パラメーターの mirrorlogpath を
使用すると、重複ロギングが可能になります。データベース・リカバリー時には、複数のエー
ジェントが SMP マシン上で利用可能な付加的な CPU を活用してパフォーマンスを向上させま
す。読み取り専用データベースの分割ミラーからのバックアップを使用したり、増分オプション
やデルタ・オプションを使用することにより、バックアップおよびリカバリーがより高速にな
り、機能強化が図られます。
DB2 バージョン 8 では、以下の追加の高可用性機能を利用できます。
•
オンラインでの表のロード − ユーザーは、ロード中の表を除き、表スペース内のすべ
ての表に対して読み取り/書き込みのフル・アクセスが可能です。ロードでデータが表
に追加される場合は、既存のデータの読み取りアクセスは利用できます。
•
オンラインでの表の再編成 − アプリケーションは再編成時に表にアクセスできます。
このプロセスは、適切な権限を有するユーザーが一時停止して後から再開することがで
きます。
•
オンライン での索引の 再編成 − ユーザーは 、索引の再 編成時に新 規の REORG
INDEXES コマンドを使用して、表とその既存の索引を読み取って更新することができ
ます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
13
•
構成可能なオンライン構成パラメーター − 現在では 50 以上の構成パラメーターをオ
ンラインで設定でき、変更は即時に有効となります。
•
オンラインでのバッファー・プールの作成、削除、およびサイズ変更 − ユーザーは、
バッファー・プール割り振りを変更したり、DB2 の実行中にメモリー使用に影響する
データベースとデータベース・マネージャーの構成パラメーターを変更することができ
ます。
•
DMS コンテナー操作 − ユーザーは、表スペースからコンテナーをドロップしたり、
既存のコンテナーのサイズを削減したり、再バランスが起きないように表スペースに新
規コンテナーを追加することができます。
フェイルオーバー・サポートを、プラットフォーム固有のソフトウェアによって備えることもで
き ま す 。 DB2 は 、 AIX 上 で は High Availability Cluster Multiprocessing Enhanced Scalability
(HACMP/ES)、Windows オペレーティング・システム上では Microsoft Cluster Server、Solaris オ
ペレーティング環境では Sun Cluster または VERITAS Cluster Server、Hewlett-Packard では MultiComputer/ServiceGuard をサポートします。このサポートは、DB2 サーバーで作業するときの構成
手順およびインプリメンテーションの詳細で構成されます。
IBM 開発者支援プログラム
PartnerWorld for Developers は、アプリケーションの開発とマーケティング活動でパートナーを支
援するために、ビジネス、テクニカル、およびマーケティングのサービスをパートナーに提供す
る IBM プログラムです。このプログラムの戦略的焦点は、ネットワーク・コンピューティング
と e-ビジネスに置かれています。
メンバーシップには、メンバー、アドバンス、およびプレミアの 3 つのレベルがあり、それぞれ
のレベルのメンバーシップに対して特別のプログラム・オファリングがあります。メンバーシッ
プ・レベルの詳細については、「Membership Track Guide」(http://www.developer.ibm.com/welcome/
guide2003/membership.html)を参照してください。
このプログラムで提供される利点には、以下のものがあります。
•
マーケティングおよび販売サポート
マーケティング教育、ビジネス・パートナーの機会、共同マーケティング・プロモー
ション、その他の機会
•
教育および認定
オンライン研修、テクニカル研修の割引、テクニカル・ワークショップ、ビジネス・セ
ミナーおよび開発者ワークショップ、プロフェッショナルとしての認定の機会、対話式
e-ラーニング、および研修イベントの予定表
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
14
•
テクニカル・サポート
世界的な Solution Partnership Center でのクロスプラットフォーム・テクニカル使用可能
化サービスへのアクセス、および業界での主導的な開発者向けテクニカル・サポート
•
インセンティブ
ソフトウェアの割引、ハードウェアの割引とリース、および速達便、ページャー、保険
やレンタカーなどのビジネス・サービスの割引
•
融資
柔軟な融資によって、ユーザーとその顧客は手頃な月額で、ハードウェア、ソフトウェ
ア、およびサービスを利用することができます。
•
関係管理およびメンバーシップ・コミュニケーション
ユーザーが定義した興味に基づく、タイムリーで一貫性のある情報およびツールへの電
子アクセス、および追加の関係管理サービス。これには、メンバーシップのレベルに応
じて、遠隔診断と出張サポートの両方または一方が含まれます。
PartnerWorld for Developers Web サイト(http://www.developer.ibm.com)は、すべての PartnerWorld
プログラム・サービスについての情報を提供する、絶えず更新される 24 時間 365 日サービスで
す。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
15
DB2 Universal Database 製品ファミリー
DB2 製品ファミリーは、AS/400 システム、RS/6000ハードウェア、IBM zSeriesTM システム、
Intel システム、および Hewlett-Packard や Sun Microsystems などの IBM 以外のマシンなどの、多
様なプラットフォームに対応するスケーラビリティーを備えています。
DB2 UDB バージョン 8 データベース・ソフトウェア・サーバーは、AIX、HP-UX 11i、Linux、
Solaris オペレーティング環境、Windows NT バージョン 4、Windows 2000、Windows XP、および
Windows .NET のソフトウェア環境で稼働します。エディションは、32 ビットと 64 ビットの両
方のオペレーティング環境モードに対応しています。
DB2 クライアントには、Run-Time Client、Administration Client、および Application Development
Client の 3 つのタイプのクライアントがあります。DB2 クライアントは、同じリリース・レベル
のサーバーに加え、そのクライアントのリリース・レベルの 2 つ後までのリリースと 1 つ前の
リリースの DB2 サーバーに接続できます。これはつまり、バージョン 6 の DB2 クライアント
は、バージョン 5、6、7、および 8 の DB2 サーバーに接続できるということです。
DB2 バージョン 8 クライアントは、AIX、HP-UX、Linux、Solaris、Windows NT バージョン 4、
Windows 98、Windows 2000、Windows ME、Windows XP(32 ビットおよび 64 ビット・エディ
ション)、および Windows .NET(32 ビットおよび 64 ビット・エディション)の各プラット
フォームで利用することができます。他のプラットフォーム上でのサポートは、以前のバージョ
ンの DB2 クライアントで可能な場合があります。
クライアントに加え、DB2 のネイティブ Java/JDBC サポートおよび Net.Data を使用する、一般
的なブラウザーおよび Java アプリケーションで Web アクセスが提供されます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
16
汎用アクセス
汎用アプリケーション
汎用拡張性
汎用スケーラビリティー
汎用信頼性
汎用管理
図 1.
DB2 UDB バージョン 8 の製品ファミリー
DB2 サーバーおよびクライアントの製品およびコンポーネントには、以下のものがあります。
•
DB2 Personal Edition
•
DB2 Workgroup Server Edition
•
DB2 Enterprise Server Edition
•
DB2 EveryplaceTM Edition
•
DB2 Run-Time Client
•
DB2 Administration Client
•
DB2 Application Development Client
DB2 Personal Edition
DB2 Personal Edition は、DB2 の単一ユーザー・バージョンです。これは、ローカル・データベー
スの作成および管理に使用したり、DB2 Workgroup Server Edition または Enterprise Server Edition
データベース・サーバーのクライアントとして使用することができます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
17
DB2 Personal Edition は、サテライトとして運用し、DB2 Enterprise Server Edition データベース・
サーバーからリモートで管理することもできます。サテライト機能の詳細については、製品のサ
テライト管理資料を参照してください。
DB2 Personal Edition は、Windows ME、Windows NT バージョン 4、Windows 2000(32 ビット)、
Windows XP(32 ビットまたは 64 ビット)、および Windows .NET(32 ビットまたは 64 ビット)
上で稼働します。
DB2 Workgroup Server Edition
この製品は、DB2 のマルチユーザー・バージョンです。これはローカル・エリア・ネットワーク
(LAN)環境で使用するように設計されており、ローカルとリモートの両方の DB2 クライアン
トのサポートを提供します。DB2 Workgroup Server Edition には、データウェアハウス機能も組み
込まれており、サテライト・コントロール・データベースからリモートで管理することができま
す。
DB2 Workgroup Server Edition は、AIX、HP-UX 11i、Linux、Solaris オペレーティング環境、
Windows NT バージョン 4、Windows 2000、Windows XP、および Windows .NET(32 ビット・
モードのみ)上で稼働します。
DB2 Enterprise Server Edition
この製品は、DB2 のマルチユーザー・バージョンで、非パーティションまたはパーティション・
データベース環境を作成および管理することができます。パーティション・データベース・シス
テムは、大容量のデータを管理することができ、パフォーマンスの向上、高可用性、およびフェ
イルオーバー・サポートなどの利点を提供します。
DB2 Enterprise Server Edition(ESE)は、ローカルとリモートの両方の DB2 クライアントのサ
ポートを提供しています。これには DB2 Connect 機能も組み込まれており、DB2 for iSeriesTM ま
たは DB2 for z/OS and OS/390 などのミッドレンジおよびメインフレームのデータベース・システ
ム上に保管されるデータにアクセスします。
サテライト管理機能によって、DB2 ESE は、サテライトとして構成された DB2 Personal Edition
および DB2 Workgroup Server Edition データベース・サーバーをリモートで管理できます。
取り上げることができる別の機能としては、データウェアハウス・サーバーとその関連コンポー
ネントの組み込みがあります。
DB2 Enterprise Server Edition は、AIX、HP-UX 11i、Linux、Solaris オペレーティング環境、
Windows NT バージョン 4、Windows 2000、および Windows .NET 上で稼働します。これは、すべ
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
18
てのオペレーティング環境の 32 ビットおよび 64 ビット・モードで使用できます。ただし
Solaris の一部のバージョンでは使用できません。
DB2 Everyplace
DB2 Everyplace は、モバイルおよび組み込みデバイス用の、リレーショナル・データベースおよ
びエンタープライズ同期化システムです。DB2 Everyplace によって、エンタープライズ・アプリ
ケーション機能およびエンタープライズ・データを、携帯情報端末(PDA)、ハンドヘルド PC
(HPC)、スマートフォンなどのモバイル・デバイスにまで拡張できます。DB2 Everyplace は、
AIX、Linux、Palm OS、QNX Neutrino、Solaris、Symbian、EPOC、Windows NT、Windows 95、
Windows 98、Windows 2000、および Windows CE 上で稼働します。Java プラットフォームもサ
ポートします。
データ同期化については、DB2 Everyplace 同期サーバー(Sync Server)は、DB2 データベースと
連動して、モバイル・データとアプリケーションをバックエンドのデータ・ソースと同期化しま
す。サポートされるプラットフォームは、AIX、Linux、Windows NT、Windows 2000、および
Windows XP です。DB2 Everyplace 同期サーバーは、DB2 for iSeries、DB2 UDB for OS/390、
Informix、DB2 UDB for UNIX and Windows、Oracle、Microsoft SQL Server、および Sybase デー
タ・ソースをサポートします。
DB2 Run-Time Client
Run-Time Client は軽量クライアントであり、アプリケーションが DB2 UDB および DB2 Connect
サーバーにアクセスするのに必要な機能を提供します。この機能には、通信プロトコルのサポー
トや、JDBC、SQLJ、Open Database Connectivity(ODBC)、CLI、OLE DB などのアプリケーショ
ン・インターフェースのサポートなどがあります。以前の Run-Time Client の GUI 機能の大半
は、Run-Time Client バージョン 8 からは除去されており、これによってディスク要件は大幅に削
減されました。
DB2 Run-Time Client は以下のプラットフォーム、つまり AIX、HP-UX、Linux、Solaris オペレー
ティング環境、および Windows オペレーティング・システムに対応しています。
DB2 Administration Client
さまざまなプラットフォーム上のワークステーションから、Administration Client は、DB2 データ
ベースにアクセスして管理する機能を提供します。DB2 Administration Client は DB2 Run-Time
Client のすべての機能を持っており、またすべての DB2 管理ツールと、シン・クライアントのサ
ポートも組み込まれています。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
19
DB2 Administration Client は以下のプラットフォーム、つまり AIX、HP-UX、Linux、Solaris オペ
レーティング環境、および Windows オペレーティング・システムに対応しています。
DB2 Application Development Client
DB2 Application Development Client(ADC)は、文字ベース、マルチメディア、およびオブジェ
クト指向のアプリケーションを開発するための、グラフィカルおよび非グラフィカル・ツールと
コンポーネントのコレクションです。特殊機能には、デベロップメント・センターや、サポート
されているすべてのプログラム言語用のサンプル・アプリケーションが組み込まれています。
ADC には、DB2 Administration Client 製品の一部として提供されるツールおよびコンポーネント
も組み込まれています。プログラミング環境のセットアップ方法の詳細については、「 アプリ
ケーション開発ガイド:アプリケーションの構築および実行」を参照してください。
DB2 Application Development クライアントは以下のプラットフォーム、つまり AIX、HP-UX、
Linux、Solaris オペレーティング環境、および Windows オペレーティング・システムに対応して
います。
サポートされるプラットフォーム用の ADC には、以下のものがあります。
•
C/C++、COBOL、および Fortran 用のプリコンパイラー。ただし、言語がそのプラット
フォームでサポートされていることが前提。
•
組み込み SQL アプリケーション・サポート。プログラミング・ライブラリー、インク
ルード・ファイル、およびコード・サンプルを含む。
•
DB2 コール・レベル・インターフェース(DB2 CLI)アプリケーション・サポート。
ODBC に簡単に移植して ODBC SDK でコンパイルするアプリケーションを開発するた
めの、プログラミング・ライブラリー、インクルード・ファイル、およびコード・サン
プルを含む。ODBC SDK は、Windows オペレーティング・システムの場合は Microsoft
から、および他の多くのサポートされているプラットフォームの場合は、さまざまなベ
ンダーから入手できます。Windows オペレーティング・システムでは、DB2 クライア
ントには、Microsoft ODBC Software Developer's Kit で開発されたアプリケーションをサ
ポートする ODBC ドライバーがあります。他のすべてのプラットフォームでは、DB2
クライアントには、そのプラットフォーム用の ODBC SDK(もしあれば)で開発でき
るアプリケーションをサポートする、オプション・インストールの ODBC ドライバー
があります。ODBC ドライバー・マネージャーは、DB2 Clients for Windows だけにあり
ます。
•
DB2 Java Enablement。これには Java アプリケーションおよびアプレットを開発する
ための DB2 Java Database Connectivity(DB2 JDBC)サポート、および Java 組み込み
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
20
SQL アプリケーションおよびアプレットを開発するための DB2 組み込み SQL for Java
(DB2 SQLJ)サポートが組み込まれています。
•
Java Development Kit(JDK)。IBM 提供の JDK 1.3.1 および Java Runtime Environment
(JRE)1.3.1(AIX 用)、IBM Developer Kit and Runtime Environment 1.3.1(Linux および
Windows 用)
、HP-UX Software Developer's Kit および Runtime Environment 1.3.1(HP-UX
用)、および Sun Microsystems 提供の Java Development Kit 1.3.1(Solaris 用)。Solaris 以
外は、Java の実行を必要とするコンポーネントをインストールするように選択した場合
に、各オペレーティング・システム用の JDK もインストールされます。何も選択して
いない場合でも、JDK を選択してインストールすることができます。Solaris 上では、
DB2 に同梱される JDK 1.3.1 をユーザーがインストールする必要があります。
•
Windows オペレーティング・システム上の ActiveX Data Objects(ADO)および Object
Linking and Embedding(OLE)自動化ルーチン(UDF およびストアード・プロシー
ジャー)。これには、Microsoft Visual Basic および Microsoft Visual C++でインプリメント
されたコード・サンプルも含まれます。さらに、Microsoft Visual Basic でインプリメン
トされた、Remote Data Objects(RDO)を持つコード・サンプルも含まれます。
•
Windows オペレーティング・システム上の Object Linking and Embedding Database
(OLE DB)表関数。
•
DB2 デベロップメント・センター。ルーチン(ストアード・プロシージャーおよび
ユーザー定義関数)、および構造化タイプの迅速な開発をサポートするグラフィカル・
アプリケーション。これは独立したアプリケーションとして起動することも、コント
ロール・センター、コマンド・センター、タスク・センターなどの DB2Universal
Database センターから起動することもできます。デベロップメント・センターは Java
でインプリメントされており、すべてのデータベース接続は JDBC API を使用して管理
されます。 デベロップ メント・セ ンターは、 Microsoft Visual C++バージョン 6 、
Microsoft Visual Basic バージョン 6、および Microsoft Visual InterDev バージョン 6 の各
開発環境用の DB2 デベロップメント・アドインも提供しています。
•
対話式 SQL。これはコマンド・センターまたはコマンド行プロセッサー(CLP)を使用
して SQL ステートメントをプロトタイプ化したり、データベースに対する随時照会を
実行したりします。
•
文書化された一連の API。他のアプリケーション開発ツールが、その製品内から直接
DB2 用のプリコンパイラー・サポートをインプリメントできるようにします。たとえ
ば、AIX 上の IBM COBOL はこのインターフェースを使用します。一連のプリコンパ
イラー・サービス API についての情報は、匿名 FTP サイト(ftp://ftp.software.ibm.com/
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
21
ps/products/db2/info/)にある PDF ファイル(prepapi.pdf)から入手することができま
す。
•
SQL92 および MVS Conformance Flagger。これによって、ISO/ANSI SQL92 Entry Level
標準に準拠していない、または DB2 UDB for z/OS and OS/390 によってサポートされて
いない、アプリケーション内の組み込み SQL ステートメントを識別できます。ワーク
ステーション上で開発したアプリケーションを別のプラットフォームにマイグレーショ
ンする場合、Flagger によって構文の非互換が示されるので、時間を節約できます。
DB2 製品
その他の重要な DB2 製品には、以下のものがあります。
•
DB2 Connect Enterprise Edition。これは、複数のデスクトップ・クライアントおよび
Web アプリケーションから、ホスト(OS/390 および z/OS、VSE および VM)または
iSeries システム上で実行される DB2 データベース・サーバーへの接続をまとめて管理
する接続サーバーです。DB2 Connect Enterprise Edition により、ローカルおよびリモー
トのクライアント・アプリケーションは、構造化照会言語(SQL)、DB2 API、ODBC、
JDBC、SQLJ、または DB2 CLI を使用して、DB2 データベースおよびホスト・システム
を作成、更新、制御、および管理することができます。さらに DB2 Connect は、ADO、
RDO、OLE などの Microsoft Windows データ・インターフェースをサポートします。こ
の製品は現在、AIX、HP-UX、Linux、Solaris、および Windows オペレーティング・シ
ステムに対して利用できます。これらのサーバーは、AIX、HP-UX、Linux、Solaris オ
ペレーティング環境、および Windows オペレーティング・システム上で実行されるア
プリケーションのサポートを提供します。
•
DB2 Connect Personal Edition。これは、単一のワークステーションから、OS/390、
z/OS、OS/400、VM、および VSE などのサーバー上に置かれている DB2 データベース
や、UNIX および Windows オペレーティング・システム上の DB2 Universal Database
サーバーへのアクセスを提供します。DB2 Connect Personal Edition には、DB2 Connect
Enterprise Edition と同じ豊富な API のセットが用意されています。この製品は現在、
Linux および Windows オペレーティング・システムに対して利用できます。
•
DB2 Relational Connect。これは連合システムで使用され、Oracle、Sybase、Microsoft
SQL Server などの、他のデータベース管理システム(DBMS)にあるデータを照会およ
び検索します。SQL ステートメントは、単一のステートメントで、複数の DBMS を参
照することも、個々のデータベースを参照することもできます。たとえば、DB2 UDB
の表、Oracle の表、および Sybase のビューにあるデータを結合することができます。
DB2 UDB バージョン 7.1 では、DB2 Relational Connect は、Windows NT および AIX プ
ラットフォーム上の Oracle に対して使用できました。DB2 UDB バージョン 7.2 では、
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
22
Oracle サポートが拡張されてオペレーティング・システムが追加され、Sybase および
Microsoft SQL Server のデータ・ソースのサポートが追加されました。サポートされる
DBMS には、Oracle、Sybase、Microsoft SQL Server、および DB2 Universal Database
ファミリーのメンバー(DB2 for OS/390、DB2 for OS/400、および DB2 for Windows)が
あります。DB2 Relational Connect はオプションの製品で、DB2 Universal Database
Enterprise Edition、DB2 Universal Database Enterprise Extended Edition 、DB2 Connect
Enterprise Edition、および DB2 Connect Unlimited Edition と共に使用することができま
す。サポートされるオペレーティング・システムは、OS/2、Windows NT、Windows
2000、AIX、および Solaris オペレーティング環境です。
•
DB2 XML Extender。これは XML 文書の保管およびアクセス、既存のリレーショナ
ル・データからの XML 文書の生成、および XML 文書からのリレーショナル表への行
の挿入などの機能を提供します。XML Extender は、DB2 内の XML データを管理する
ための新しいデータ・タイプ、関数、およびストアード・プロシージャーを提供しま
す。この製品は、OS/390、z/OS、iSeries、AIX、Sun Solaris、Linux、Windows NT、およ
び Windows 2000 オペレーティング・システムに対して利用できます。
•
DB2 Net Search Extender。これは DB2 Net Search Extender V7.2 のパフォーマンスと、
DB2 テキスト・インフォメーション・エクステンダーの検索インターフェースおよび機
能とを結合したものです。DB2 Net Search Extender V8.1 によって、ユーザーおよびアプ
リケーション・プログラマーは、フルテキスト文書の検索に、高速、多目的、およびイ
ンテリジェントなメソッドを利用できます。これには語、句、ファジー、およびワイル
ドカード検索が含まれ、DB2 UDB に収められているテキスト・データをシームレスに
処理します。これはデータベース表をロックせずに、迅速にデータを検索および索引付
けするように設計されており、大規模な Web サイトでの負荷の大きいテキスト検索要
求も処理することができます。この製品は、AIX、Solaris オペレーティング環境、
Windows NT、Windows 2000、および Windows XP オペレーティング・システムに対し
て利用できます。
•
DB2 OLAP ServerTM およびそのアドオン機能。これには DB2 OLAP Integration Server
や DB2 OLAP Server Analyzer などがあり、これによって実働対応および Web 対応の
Online Analytical Processing(OLAP)アプリケーションを作成することができます。こ
れらの製品は別途購入となります。バージョン 8 の DB2 OLAP Server には、DB2 OLAP
Server Miner という無償のアドオンが組み込まれています。このフィーチャーは、大量
の OLAP デ ー タ を 自 動 的 に マ イ ニ ン グ し ま す 。 ハ イ ブ リ ッ ド 分 析 は DB2 OLAP
Integration Server の新機能で、これを使用すると OLAP データベースを拡張せずにさら
に多くのデータにアクセスできます。これは、OLAP データベースから、OLAP 階層の
最下位のメンバーを含むリレーショナル・データベースへの仮想拡張を構築します。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
23
DB2 OLAP Sever および Integration Server は、AIX、HP-UX、Solaris オペレーティング環
境、Windows NT 4.0、Windows 2000、および Windows XP 上で使用できます。
•
DB2 Warehouse Manager は、コンポーネントを組み込んだパッケージで、DB2 の一部
であるデータウェアハウス・センターによって提供される、ウェアハウジング機能を強
化して完成させます。これらのコンポーネントには、データウェアハウスのツール
(ウェアハウス・トランスフォーマー、ウェアハウス・エージェント、クラシック・コ
ネクト・ドライバー)、およびインフォメーション・カタログ・マネージャーのツール
(インフォメーション・カタログ・センター、Web 用のインフォメーション・カタロ
グ・センター、インフォメーション・カタログ・マネージャーのサンプル、「インフォ
メーション・カタログの管理(Manage Information Catalog)
」ウィザード)があります。
Warehouse Manager サーバーは、AIX および Windows オペレーティング・システム用に
提供されています。OS/390、z/390、OS/400、AIX、Solaris、Linux、および Windows プ
ラットフォーム上では、ウェアハウス・エージェントによって追加のサポートが提供さ
れています。
バージョン 8 の DB2 Warehouse Manager では、Common Warehouse Metamodel(CWM)
XML サポート、データウェアハウス・センターの列マッピング、データウェアハウ
ス・センターのカスケード処理、多重待機サポート、SQL の選択および更新ステッ
プ、インフォメーション・カタログ・マネージャーなどの機能が強化されています。
•
DB2 Universal Database 用のマルチプラットフォーム・ツールは、AIX、HP-UX、
Solaris オペレーティング環境、Linux、および Windows 上の DB2 Universal Database を
強化するために設計されたツールで、それらのプラットフォームに、DB2 Web Query
Tool for Multiplatforms、DB2 Table Editor for Multiplatforms、DB2 Recovery Expert for
Multiplatforms、DB2 Performance Expert for Multiplatforms、および DB2 High Performance
Unload for Multiplatforms を導入します。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
24
データ・タイプ変換
Microsoft SQL Server 2000 のほとんどのデータ・タイプは、DB2 にマップできます。以下の表で
は、すべてのデータ・タイプを比較しています。
MS SQL データ・
タイプ名
tinyint
smallint
int
integer
bigint
numeric(p,s)
dec[imal](p,s)
float(p)
real
double precision
smallmoney
money
smalldatetime
datetime
timestamp
値の範囲
0∼255
-32768∼32,767
-231(-2,147,483,648)∼
231-1(2,147483,647)
9223372036854775808∼
+9223372036854775807
-1038-1∼1038-1
0 または-2.23E-308∼
-1.79E+308、または 2.23E308∼1.79E+308
0 または 1.18E-38∼
3.40E+38、または-1.18E-38
∼-3.40E+38
float の同義語
-214,748.3648∼214,748.3647
-922,337,203,685,477.5808∼
922,337,203,685,477.5807
January 1, 1900∼
June 6, 2079
January 1, 1753∼
December 31, 9999
varbinary(8)
記憶域の
バイト数
1
2
4
8
2-17
DB2 UDB データ・
値の範囲
タイプ名
smallint
-32768∼32767
smallint
-32768∼32767
integer
-231∼231-1
int
bigint
num[eric](p,s)
dec[imal](p,s)
4 または 81 float(p)
(15 桁)
4
(7 桁)
real
double precision
4
8
numeric(10,4)
numeric(19,4)
42
timestamp7
83
timestamp
84
character(8) FOR
BITDATA
date8
time9
char[acter](n)
varchar(n)
char[acter]
varying
1∼8000
1∼8000
n
char[acter](n)
エントリー varchar(n)
character varying
の長さ
long varchar11
nchar(n)
nvarchar(n)
1∼4000
1∼4000
ntext
230-1(1,073,741,823)
binary(n)
1∼8000
varbinary(n)
binary varying
1∼8000
bit
0 または 1
text
231-1(2,147,483,647)
image
231-1(2,147,483,647)
uniqueidentifier
N/A
注:
9223372036854775808∼
+9223372036854775807
-1031+1∼1031-1
(p+s <=31)
2*n
graphic(n)
エントリー vargraphic(n)
の長さ
long vargraphic11
ページの
倍数
n
DBCLOB(n)
記憶域の
バイト数
2
2
4
8
(p/2) + 1
4 または 8
0 または-3.402E+38∼
-1.175E-37、または 1.175E37∼3.402E+38
0 または-1.79769E+308∼
-2.225E-307、または
2.225E-307∼1.79769E+308
4
(8 桁)
8
(16 桁)
6
11
January 1, 0001∼
December 31, 9999
January 1, 0001∼
December 31, 9999
10 internal、
26 external
10 internal、
26 external
year:0001∼9999
month:1∼12、
day:1∼31
hour:0∼24
minutes/seconds:0∼59
1∼254
1∼32,67210
4 internal、
10 external
1∼32,700
1∼127
1∼16,33610
1∼16,350
1∼1 073 741 823
character(n) FOR
1∼254
BIT DATA
エントリー varchar(n) FOR BIT 1∼32,672
DATA
の長さ
1
character(1) FOR 1 0 または 1
BITDATA12
ページの CLOB(n)
1∼231
倍数 6
ページの BLOB(n)
1∼231
6
倍数
character(13) FOR
N/A
BITDATA13
3 internal、
8 external
n
エントリー
の長さ
エントリー
の長さ
2*n
2 * エント
リーの長さ
2 * エント
リーの長さ
2 * エント
リーの長さ
n
エントリー
の長さ
1
エントリー
の長さ
エントリー
の長さ
13
Microsoft SQL Server では使用できないいくつかの DB2 データ・タイプもこの表には含まれています。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
25
1
float(p) の記憶域は p < 8 の場合は 4 バイト、8 <= p < 16 の場合は 8 バイト。p < 8 の場合 float は real と同義語。
2
datetime の値は、1/300 秒の精度。記憶域サイズは 8 バイト(January 1, 1900 より前または後の日数に 4 バイト、午前 0 時以
降のミリ秒数に 4 バイト)
。負の値は基本日付よりも前の日付を表す。
3
smalldatetime の値は、分単位の精度。記憶域サイズは 4 バイト(January 1, 1900 以降の日数に 2 バイト、午前 0 時以降の分
数に 2 バイト)
。
4
timestamp 列の値は、行に関する Microsoft SQL Server アクティビティーのシーケンスを示すもので、datetime データではな
い。記憶域は binary(8) varbinary(8) データ。1 つの表には timestamp 列は 1 列のみ。
6
ページ・サイズは 2K。列サイズは初期化されるまで 0。
7
DB2 UDB timestamp の形式は YYYY-MM-DD-HH-MM-SS-NNNNNN(年-月-日-時-分-秒-ミリ秒)
。
8
date は 3 つの部分、すなわち YYYY-MM-DD(年、月、日)で構成される値で、年は 0001∼9999、月は 1∼12、日は 1∼31
の範囲。
9
time は 3 つの部分、すなわち HH:MM:SS(時、分、秒)で構成される値で、24 時間時計での時刻を示す。
10
可変長のデータ・タイプの最大長は、表スペースのページ・サイズに応じて異なる。指定の値は、ページ・サイズが 32K
の表スペース上の表に対応する。表スペースのデフォルトのページ・サイズは 4K で、この場合、varchar の最大長は
4000、vargraphic の最大長は 2000。
11
最大長が 254 バイトを超える可変長ストリング・データ・タイプを生成する式には、特別な制約が適用される。このよう
な式は、SELECT DISTINCT ステートメントの SELECT リスト、GROUP BY 文節、ORDER BY 文節、DISTINCT を指定し
た列関数、および UNION ALL 以外のセット演算子の副選択には使えない。
12
FOR BIT DATA は、列の内容がビット(バイナリー)データとして扱われることを指定する。他のシステムとのデータ転送
中には、コード・ページ変換は実行されない。データベースの照合順序に関係なく、比較はバイナリーで実行される。
13
uniqueidentifier 列は、newid 関数を使用するか、または"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"(それぞれの x は 16 進数
字で、0∼9 または a∼f の範囲)という形式のストリング定数から変換することによってのみ初期化できる。newid 関数は
非確定的で、列データ・タイプ uniqueidentifier に固有の値を戻す。DB2 には newid と同等の、generate_unique という関数
が備えられており、同関数の他の実行と比べて固有の、13 バイト長のビット・データ文字ストリングを戻す。この関数は
非確定的と定義され、関数の結果は、UTC(Universal Time Coordinated)の内部形式と、関数が処理されたパーティション
番号を含む固有の値。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
26
管理上の問題
このセクションでは、Microsoft(MS)SQL Server 2000 と、DB2 UDB for UNIX、Linux、
Windows バージョン 8.1 で使用できる管理機能を説明します。
環境
Microsoft SQL Server 2000 は、同一コンピューター上での複数インスタンスのインストールをサ
ポートします。各インスタンスは互いに独立して実行され、一連のシステム・データベースおよ
びユーザー・データベースを独自に所有します。SQL Server 2000 の複数インスタンスと同時に
実行できるのは、SQL Server バージョン 6.5 または 7.0 の 1 つのインスタンスだけです。複数の
インスタンスが同時に実行される場合、メモリーの量は、アルゴリズムによってそれぞれ特定の
インスタンスに動的に割り振られます。各インスタンスの相対的なワークロードも考慮事項で
す。リモート・インスタンス接続と同様、アプリケーションがデータベースに接続するには、そ
の前にインスタンスに接続する必要があります。
DB2 UDB では、複数インスタンスを使用して、同一マシン内で別個の環境を提供します。その
他のインスタンスは、機密情報へのアクセスを制限したり、インスタンスが使用できない場合の
影響を限定したりするために使用することもできます。ただし、複数インスタンスには、付加的
なシステム・リソース(メモリーとディスク・スペース)および付加的な管理が必要です。メモ
リーを含む各インスタンス用のリソース設定値は、ユーザー定義であり、個別の構成ファイルに
保管されます。DB2 レジストリー変数 DB2INSTANCE はデフォルトのインスタンスを示します。
attach コマンドを使うと、アプリケーションで、現行インスタンス、同一ワークステーション上
の別のインスタンス、あるいはリモート・ワークステーション上のインスタンスを指定すること
ができます。以下の図は、インスタンス内のデータベース・オブジェクト間の関係を示していま
す。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
27
図 2.
DB2 データベース・オブジェクト
管理サーバー
Microsoft SQL Server 2000 は、管理者が繰り返しのタスクの自動実行をスケジュールできる、一
連のサービスを提供しています。サーバーは、必要な場合にメモリーやディスク・スペースなど
のシステム・リソースを獲得し、不要になった時点でそのリソースを解放します。
DB2 管理サーバー(DAS)は、TCP/IP 通信をサポートする、独立したサーバー・プロセスで
す。DAS は、DB2 サーバー上のタスクを支援するために使用されます。DAS は、以下の管理タ
スクの作業時に、コントロール・センター、デベロップメント・センター、レプリケーション・
センター、および構成アシスタントを支援します。
•
DB2 サーバーのリモート管理の使用可能化。
•
ジョブ管理機能の提供。スケジュール機能も含まれる。
•
DB2 およびオペレーティング・システムによるユーザー定義コマンド・スクリプトの
実行。
•
ジョブのスケジューリングの定義、完了したジョブの結果の表示、およびタスク・セン
ターを使用した、DAS に対してリモートまたはローカルに配置されたジョブに対する
他の管理タスクの実行。
•
Windows および UNIX プラットフォーム上では、DB2 インスタンス、データベース、
および他の DB2 管理サーバーの構成についての情報を検索するための、DB2 検索機能
ユーティリティーと共に使用する手段を提供します。この情報は、DB2 データベースへ
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
28
のクライアント接続の構成を単純化および自動化するために、構成アシスタントおよび
コントロール・センターによって使用されます。
DB2 バージョン 8 では、DB2 管理サーバーはすべての DB2 プラットフォーム用に提供されてい
ます。これには、zSeries(OS/390 と z/OS のみ)、iSeries、およびサポートされているすべての
Windows と UNIX プラットフォームが含まれます。
連合機能
Microsoft SQL Server 2000 が稼働するサーバーの連合をグループ化して、データベース・パー
ティションおよびスケーラビリティーをインプリメントすることができます。ただし、サーバー
のグループ全体にわたってデータを水平方向にパーティション化するには、更新可能で分散され
たパーティション・ビューが必要です。各データベース・サーバーは自立走行式です。
DB2 ESE は、データベース・パーティションをサポートします。MPP またはクラスター構成で
は、DB2 ESE は、複数のシングル・パーティション(SP)サーバーまたは SMP サーバー上に存
在するデータベースの複数のパーティション、つまりサブセットにわたって、データを分散しま
す。固有のパーティション・マップにより、DB2 は必要に応じてデータの配布および再配布を管
理できます。アクセス・プランは、READ、INSERT、UPDATE、および DELETE などの標準の
SQL ステートメントを使用して、並列実行用に自動的に作成されます。データ・スキャン、結
合、ソート、ロード・バランシング、表再編成、データ・ロード、索引作成、索引付きアクセ
ス、バックアップ、およびリストアは、すべてのノード上で同時にすべて実行されます。DB2 の
「共有なし」アーキテクチャーでは、ノード間のデータ転送を最小限に抑えた並列照会サポート
が可能になります。パーティションの数は、パーティション間のパーティション・トラフィック
にほとんど影響を与えず、ノードを MPP に追加したり SMP をクラスターに追加すると、パ
フォーマンスはそれにほぼ比例して向上します。データ・パーティションと並列実行は DB2
UDB ESE サーバーで処理されるため、データベースへのアクセスは、アプリケーションには完
全に透過的で、パーティション化をサポートするための追加の変更は必要ありません。
DB2 と SQL Server とでは、連合サーバーは異なる概念であることに注意するのは重要です。
DB2 連合システムは、分散データベース管理システム(DBMS)の特殊なタイプの 1 つです。連
合システムは、連合サーバーとして運用される DB2 インスタンス、(1 つ以上のデータ・ソース
にアクセスできる)連合データベースとして稼働するデータベース、およびデータベースとデー
タ・ソースにアクセスするクライアント(ユーザーとアプリケーション)で構成されます。連合
システムは、単一の SQL ステートメント内での複数のデータ・ソースに対する分散要求をサ
ポートします。たとえば、DB2 の表、Oracle の表、および Sybase のビューにあるデータを、単
一の SQL ステートメントで結合することができます。
データ・ソースには、リレーショナル・データベースや、Microsoft Excel、BLAST、表構成ファ
イル、Documentum(EDMS 98)、および XML タグ付きファイル(1.0 仕様)などのタイプがあ
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
29
ります。サポートされる DBMS には、DB2 for UNIX and Windows、DB2 ファミリーのメンバー
(Informix、DB2 for OS/390、DB2 for VM and VSE、DB2 for iSeries など)、Sybase、Oracle、およ
び Microsoft SQL Server があります。
DB2 バージョン 8 で連合サポートに加えられた機能拡張の要約を以下に示します。
•
追加のオペレーティング・システム上でのサポート:DB2 for Linux、DB2 for HP-UX、お
よび Windows 2000
•
すべてのデータ・ソースに対して INSERT、UPDATE、および DELETE アクションを実
行する書き込み機能
•
リレーショナル・データ・ソース上にリモート表を作成する機能
データベース・デバイス
Microsoft SQL Server 2000 は、データベースやトランザクション・ログの保管に、オペレーティ
ング・システムのファイルやファイル・グループを使用し、論理デバイスは使用しません。1 つ
のデータベースは 2 つ以上のファイルで構成され、1 つはデータを保管し、もう 1 つはトランザ
クション・ログ・レコードを保管します。これらのデータベース・ファイルは、定義された上限
に達するまで、またはディスク上にフリー・スペースがある間は、指定の増分で自動的に拡張し
ます。一連のデータベース・ファイルは、グループ化してファイル・グループにまとめることが
でき、データベース・オブジェクトは、指定のファイル・グループ上に配置することができま
す。
DB2 UDB はデータを表スペースに保管します。表スペースは、システム管理スペース(SMS)
またはデータベース管理スペース(DMS)のいずれかにできます。SMS 表スペースでは、各コ
ンテナーはオペレーティング・システム内のディレクトリーで、オペレーティング・システムの
ファイル・マネージャーが、記憶域スペースの割り振りを制御します。DMS 表スペースでは、
各コンテナーは固定サイズの事前割り振りファイルか、またはディスクなど物理デバイスのいず
れかで、DB2 UDB が記憶域スペースを制御します。コンテナーは、物理ストレージ・デバイス
(ディレクトリー、ファイル、あるいはロー・デバイス)です。
図 3.
DB2 UDB の表スペース
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
30
DB2 UDB には、REGULAR、TEMPORARY、LARGE という 3 つのタイプの表スペースがありま
す。REGULAR 表スペースは、表、索引、システム・カタログ表に使用されます。TEMPORARY
表スペースは、表のソートまたは再編成、索引の作成、表の結合など、ディスク・スペースを必
要とする SQL 操作時に使用されます。LARGE 表スペースは、ラージ・オブジェクト・データ
(LOB)の保管に使用されます。単一の表スペースを、複数のコンテナーで構成することもでき
ます。データベースでは、索引、表、および LOB に対して異なる表スペースを使用できます。
表を表スペースに関連付けるには、create table コマンドを使用します。入出力並列処理を使用可
能にするために、各物理ディスクには 1 つのコンテナーを割り振ることをお勧めします。
ログ・ファイル
Microsoft SQL Server 2000 トランザクション・ログは、1 つ以上のログ・ファイルで構成され、そ
れぞれのログ・ファイルには連続するログ・レコードのセットが収められます。ログはシステム
表としては表されなくなりました(バージョン 6.5)。それぞれの物理ログ・ファイルは、いくつ
かの仮想ログ・ファイルに分割されます。仮想ログ・ファイルのサイズや数は動的に決定され、
ユーザーが構成することはできません。トランザクション・ログはログ・ファイルを先頭から上
書きし、filegrowth が maxsize に達するまでと指定されている場合や、論理ログの終わりが論理ロ
グの始まりに達した時点でディスク上に使用できるフリー・スペースがある場合には、ファイル
は拡張されます。
ログ切り捨てにより、古いログ・レコードは削除され、新規ログ・レコード用にスペースが解放
されます。ログ切り捨ては、BACKUP LOG ステートメントの実行後と、チェックポイントの発
行ごとに実行されます。
ディスク・ミラー操作は、Microsoft SQL Server 2000 では使用できなくなりました。
RAID など、ミラーリング機能を備えたハードウェア・デバイスの使用をお勧めします。
DB2 UDB データベースにはログ・ファイルが関連付けられており、表スペースはログ・データ
には使用されません。このログはデータベースのすべてのデータベース変更を記録します。ロ
グ・ファイルの数は、logprimary および logsecond の 2 つの構成パラメーターで制御されます。
障害(システムの電源障害やアプリケーション・エラーなど)によってデータベースが不整合な
状態のままとならないように、クラッシュ・リカバリー時にはアクティブ・ログが使用されま
す。障害の発生後に、データベースの保全性を保証するための処置として、加えられたがコミッ
トされていない変更内容はデータベースから削除(ロールバック)され、物理的にまだディスク
に書き込まれていない可能性がある、すべてのコミット済みの作業単位は再実行されます。無制
限アクティブ・ログを使用していない場合は、すべてのアクティブ・ログの合計サイズは 256
GB 未満でなければなりません。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
31
DB2 UDB で使用できるログ方式には、循環ログとアーカイブ・ログの 2 つがあり、これはデー
タベース構成パラメーターで指定できます。循環ログがデフォルトです。これは、クラッシュ・
リカバリー用のいくつかのオンライン・ログを循環式に使用します。ログが使用および保存され
るのは、現行トランザクションの保全性を保証する点までです。リカバリーはオフラインでの
データベースのフル・バックアップのみが有効で、前回のバックアップからのロールフォワード
はできません。
アーカイブ・ログにより、障害発生前の任意の時点まで、アクティブ・ログとアーカイブ・ログ
を使用してフォワード・リカバリーができます。アクティブ・ログ内の変更が通常処理で必要と
されなくなると、ログはクローズされ、アーカイブ・ログになります。データベースのフル・
バックアップがリストアされた後に、データベースは最後に完了したトランザクションまでロー
ルフォワードできます。アーカイブ・ログが使用可能になると、オンライン・データベース・
バックアップを実行できます。ユーザー出口プログラムを指定して、アーカイブ・ログを管理す
ることができます。
ARCHIVE LOG コマンドは、リカバリー可能データベース用のアクティブ・ログ・ファイルをク
ローズして切り捨てます。このコマンドは、既知の点までの完全なログ・ファイルのセットを収
集するために使用できます。オンライン・バックアップの完了後に、DB2 UDB は現在アクティ
ブなログを強制的にクローズして、それをアーカイブします。これにより、オンライン・バック
アップでは、リカバリーに完全なアーカイブ・ログのセットを使用できることが保証されます。
バージョン 8 では、DB2 UDB がサポートするすべてのプラットフォーム上で重複ロギングが提
供されます。この機能は、データベース構成パラメーターmirrorlogpath で制御されます。
mirrorlogpath に値が指定されている場合、重複ロギングは使用可能で、この値は 2 次ログのパス
を示します。
無制限アクティブ・ログは、バージョン 8 の新機能です。これによってアクティブな作業単位は
1 次ログとアーカイブ・ログとにまたがり、トランザクションは効率的に無制限の数のログ・
ファイルを使用することができます。無制限アクティブ・ログが使用可能になっていない場合、
1 作業単位のログ・レコードは、1 次ログ・スペース内に収める必要があります。無制限アク
ティブ・ログは、アーカイブ・ログが使用可能になっている場合、logsecond を-1 に設定すると
使用可能になります。無制限アクティブ・ログは、1 次ログに割り振られているよりも多くのロ
グ・スペースを必要とする、大規模なジョブが実行される環境をサポートするために使用できま
す。
「ログ・ディスクの満杯の阻止(block on log disk full)」オプションによって、アプリケーション
が実行中で、アクティブ・ログ・パスのログ・ファイルが満杯の場合でも、DB2 サーバーは稼働
し続けることができます。これは、バージョン 8 のデータベース構成パラメーター
blk_log_dsk_ful を使用して設定できます。このオプションを使用可能にすると、DB2 は 5 分ごと
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
32
に再試行して、ディスク満杯状態を解決し、アプリケーションがその実行を完了できるようにし
ます。
データベース・セキュリティー
Microsoft SQL Server 2000 の認証は、インストール時に決定されます。可能な選択肢は、
Windows または SQL Server の認証です。前者はユーザーの妥当性検査に Microsoft Windows NT
または Windows 2000 のセキュリティー機能を使用します。後者は下位互換性のために提供され
ており、オペレーティング・システムにセキュリティー機能が存在しない Windows 95 および 98
で必要とされます。
DB2 UDB のユーザー認証は、オペレーティング・システムにネイティブなセキュリティー、分
散コンピューティング環境(DCE)、または Kerberos(Windows 2000、Windows XP、および
Windows .NET オペレーティング・システム上のみ)などの、外部セキュリティー機能を使用し
て実施されます。ユーザーがデータベースにアクセスするには、有効なログイン・システム名を
持つ必要があります。各インスタンスの認証タイプにより、認証の行われる場所(サーバーまた
はクライアント)が決定されます。認証タイプは、サーバーにあるデータベース・マネージャー
の構成ファイルに保管されます。
Microsoft SQL Server には、暗黙的な許可を持ついくつかの事前定義の役割が組み込まれていま
す。定義済みの役割には、固定サーバーおよび固定データベースの 2 つのタイプがあります。
Microsoft Windows NT および Windows 2000 のグループは、役割とほぼ同じように使用できま
す。
DB2 UDB 許可(authorization)は、権限および特権によって定義されます。権限レベルは、特権
をグループ化する方法を提供し、高度なデータベース・マネージャーの保守およびユーティリ
ティーの操作を制御します。特権によって、ユーザーはデータベース・リソースの作成またはア
クセスが可能になります。権限と特権とが一緒に機能して、データベース・マネージャーとその
データベース・オブジェクトに対するアクセスを制御します。ユーザーは適切な許可、すなわ
ち、必要な特権や権限を持っているオブジェクトのみにアクセスできます。権限と特権との間の
階層を、以下の図に示します。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
33
図 4.
DB2 の権限および特権
DB2 には以下の権限があります。
•
システム管理(SYSADM)
•
システム制御(SYSCTRL)
•
システム保守(SYSMAINT)
•
データベース管理(DBADM)
•
ロード(LOAD)
SYSADM、SYSCTRL、および SYSMAINT は、オペレーティング・システム機能によって管理さ
れる、割り当てのグループ名を持つことができます。これらの設定は、データベース・マネー
ジャーの構成ファイルに保管されます。DBADM が付与されると、CONNECT、CREATETAB、
BINDADD 、 お よ び IMPLICIT_SCHEMA な ど の 特 権 も 付 与 さ れ ま す 。 LOAD 権 限 で は 、
SYSADM または DBADM ではないユーザーでもデータを表にロードできます。Microsoft SQL
Server の役割は、DB2 の権限や、特定のデータベース権限が付与されているグループにマップで
きます。
Microsoft SQL Server 2000 は、許可(permission)を使用して、ユーザーの ID やグループ・メン
バーシップに基づいてオブジェクトおよびコマンドに対するアクセスを制限します。データベー
ス許可は、Windows NT および Windows 2000 ユーザーに直接割り当てることができます。grant
および revoke コマンドは、ユーザーによるビューへのアクセスやストアード・プロシージャーお
よび Transact-SQL ステートメントの実行を許可または却下できます。Microsoft SQL Server のほ
とんどの許可は、DB2 特権にマップできます。
DB2 では、特権は指定のデータベースのデータベース・カタログに保管されます。オブジェクト
特権のタイプには、データベース、スキーマ、表スペース、表、ビュー、ニックネーム、サー
バー、パッケージ、索引、ルーチン、およびシーケンスがあります。表スペースの USE 特権
は、表の作成に使用できる表スペースを制御します。シーケンスの USAGE 特権は、自動的に
シーケンス作成者に割り当てられます。特定のユーザーに対する特権の割り当てまたは割り当て
解除には、grant および revoke ステートメントを使用できます。パッケージやスキーマの特権な
どの DB2 のいくつかの特権は、Microsoft SQL Server では使用できません。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
34
Microsoft SQL Server 2000 には、sysadmin という固定のサーバー役割があります。これは、SQL
Server のあらゆるアクティビティーを実行する許可を持っています。ユーザー・アカウントは、
sysadmin 役割のメンバーになることができます。組み込みログイン・システム管理者(SA)
は、下位互換性のためにのみ提供されています。DB2 では、システム管理者(SYSADM)権限
は、データベース・マネージャー内の最高レベルの権限であり、すべてのデータベース・オブ
ジェクトを制御します。このパラメーターでは、データベースの SYSADM 権限を持つグループ
名を定義します。UNIX では、初期値は NULL で、デフォルトはインスタンス所有者の 1 次グ
ループです。Windows NT では、デフォルトの値は管理者グループです。インストールに続き、
DB2 UDB 内では異なるグループ名を SYSADM に割り当てることができます。
バックアップおよびリストア
Microsoft SQL Server 2000 の backup および restore コマンドは、データベース、トランザクショ
ン・ログ、データベース・ファイル、およびファイル・グループのバックアップとリストアに使
用できます。バックアップ操作には、永続または一時バックアップ・デバイスが必要です。リス
トア操作により、データベース・ファイルを再配置することができます。オンライン・バック
アップ、差分バックアップ、およびポイント・イン・タイム・リカバリーが選択できます。一連
のバックアップ・ヒストリー表は、msdb データベースで保持されます。
DB2 UDB の backup および restore プロシージャーは、データベースと表スペースに対して実行で
きます。アーカイブ・ログ・ファイルは、通常のオペレーティング・システム・ファイルと同じ
方法でバックアップすることができます。バックアップ操作のターゲット・デバイスは、ディス
ク・ディレクトリー、磁気テープ装置、名前付きパイプ、Tivoli Storage Manager(TSM)サー
バー、バックアップ・サービス API をサポートするストレージ・マネージャー(XBSA)、ある
いは他のベンダー製のサーバーのいずれかにすることができます。restore コマンドは、redirect
パラメーターを使用して、表スペースの再配置をサポートします。このサポートには、表スペー
ス・コンテナーの追加、変更、削除が含まれます。オンライン・バックアップは、アーカイブ・
ログが使用可能であるときに実行できます。
増分バックアップには、以下の 2 つのタイプがあります。
•
増分(最後のフル・バックアップ以降の変更)
•
デルタ(最後に実行されたバックアップ以降のすべての変更)
rollforward コマンドを使用すれば、時刻指定リカバリーも可能です。システム障害からのリカバ
リーの場合、指定する時刻は、システム障害発生前の時刻であるべきです。load および export コ
マンドは、個々の表のバックアップに使用することができます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
35
リカバリー・ヒストリー・ファイルには、データベースの全体または一部を、指定時刻の状態ま
で回復すべき場合に使用できるバックアップ情報の要約が含まれ、バックアップ、リストア、お
よびロード操作などの、リカバリーに関係したイベントの追跡に使用されます。
DB2 UDB バージョン 8 には、以下のいくつかのバックアップおよびリカバリーの機能拡張があ
ります。
•
XBSA サポート
•
さまざまなコード・ページを使用するシステムへのリストア機能
•
必要なログ・ファイルだけを処理することによる、より高速な表スペース・リカバリー
•
GMT 時刻ではなくローカル時刻に合わせた、ポイント・イン・タイムのロールフォ
ワード・リカバリー
バックアップおよびリストア用のウィザードは、使用方法を単純化するために作成し直されまし
た。これはバージョン 8 でのバックアップおよびリストアに追加されたフィーチャーもサポート
します。
オンライン・ユーティリティー・ツール
Microsoft SQL Server 2000 の構成オプションは、SQL Server Enterprise Manager または sp_configure
システム・ストアード・プロシージャーを使用して管理できます。ただし、すべてのオプション
を SQL Server Enterprise Manager を使用して構成できるわけではありません。一部の構成オプ
ションは、新規の値を有効にするために、サーバーを停止して再始動する必要があります。
DB2 V8 では、50 以上の構成パラメーターをオンラインで設定できるようになりました。これら
のオンライン構成パラメーターへの変更は即時に有効になり、インスタンスを停止して開始した
り、データベースを非活動化して活動化したりする必要はありません。システムの調整時や構成
の変更時も、ユーザーはオンラインのままでいることができます。すべての構成パラメーター
は、コントロール・センターの GUI、update database configuration(データベース構成の更新)
コマンド、および update database manager configuration(データベース・マネージャー構成の更
新)コマンドを使用して変更できます。
bcp ユーティリティーは、ユーザー指定フォーマットのデータ・ファイルからのデータを、SQL
Server 2000 インスタンスにコピーします。このユーティリティーは、TABLOCK ヒントが指定さ
」オプションが
れていないか、または「バルク・ロード時の表のロック(table lock on bulk load)
使用可能になっていなければ、行レベルのロックを使用します。
DB2 の load コマンドは、サーバー上のファイル、テープ、または名前付きパイプからのデータ
を DB2 表にコピーします。バージョン 8 の表にデータをロードする場合、そのテーブルがある
表スペースはロックされることはありません。ユーザーは、表スペース内のすべての表に対して
読み取り/書き込みのフル・アクセスを持ちます。ただしロード中の表にはアクセスできませ
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
36
ん。ロード中の表の場合、allow read access(読み取りアクセス許可)パラメーターを指定した表
に load によってデータを付加している場合は、その表内の既存のデータは読み取りアクセスで
使用できます。デフォルトは allow no access(アクセスを許可しない)です。load コマンドは、
ロード中は排他的アクセスのためにターゲット表をロックします。
Microsoft SQL Server 2000 は、特定の表のデフラグを実行するコマンドやシステム・ストアー
ド・プロシージャーは提供していません。索引のデフラグ実行時には、データも再編成されま
す。
DB2 バージョン 8 は、REORG TABLE コマンドを使用して、オフラインおよびオンラインで表を
再編成する 2 つの方法を提供しています。再編成がオフラインかオンラインかは、それぞれ
allow no access(アクセスを許可しない)または inplace(インプレース)パラメーターで決定さ
れます。オンラインの表の再編成では、操作時にアプリケーションは表にアクセスできます。さ
らに、オンラインの表の再編成は、スキーマおよび表名を使用して適切な権限を持つユーザーが
一時停止し、後で再開することができます。索引によって、再編成中の表内のレコードの物理的
な再配列を示すことができます。
Microsoft SQL Server 2000 コマンドの DBCC INDEXDEFRAG は、表またはビューのクラスター化
索引または副次索引にデフラグを実行します。このコマンドはリーフ・レベルのページのみを再
配列し、その物理順序を、リーフ・ノードの左から右への論理順序に一致させます。これはオン
ラインの操作であり、索引がかなりフラグメント化されている場合はお勧めしません。
DB2 V8 のオンラインでの索引の再編成時に、ユーザーは新規の REORG INDEXES コマンドを使
用して、表とその既存の索引を読み取って更新することができます。索引オブジェクトの「シャ
ドー・コピー」が作成され、元の索引および表は、読み取り/書き込みアクセスに引き続き使用
できます。表を更新する並行トランザクションはすべてログに記録されます。ログに記録された
表の変更が適用され、新規の索引(シャドー・コピー)の準備ができると、新規の索引は使用可
能にされます。この新規の索引が使用可能の間は、表へのすべてのアクセスは禁止されます。
タスク
Microsoft SQL Server 2000 Agent サービスにより、アラートおよび管理タスクを自動化することが
できます。ジョブは Microsoft Enterprise Manager を使用して作成することができ、オペレーティ
ング・システム・コマンド、Transact-SQL ステートメント、Microsoft ActiveX Script、またはレプ
リケーション・タスクで作成できます。
DB2 は、タスクの流れを組織し、タスクをスケジュールし、完了したタスクの状態についての通
知を配布するために、タスク・センターというグラフィカル・ユーザー・インターフェースを備
えています。タスクは、DB2、オペレーティング・システム、または MVS JCL コマンドが入っ
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
37
たスクリプトから作成できます。これは、バックアップなどの管理タスクをスケジューリングす
る場合に特に便利です。
使用可能なもう 1 つの DB2 ツールはジャーナルです。これによって、ジョブを実行、スケ
ジュール、および削除したり、リカバリー・ヒストリー・ログやメッセージ・ログを表示するこ
とができます。
システム・ストアード・プロシージャーおよび管理ツール
Microsoft SQL Server 2000 は、システム表を更新してレポートを生成したり、管理タスクを実行
したりするためのシステム・ストアード・プロシージャーを備えています。sp_help などのいく
つかのシステム・ストアード・プロシージャーは、下位互換性のため、または新規構文情報を戻
すために提供されています。これらのプロシージャーは、マスター・データベースに保管されて
おり、システム管理者(SA)によって所有されます。Microsoft SQL Server 2000 は、SQLDMO、SQL-NS、DTS、およびレプリケーション・コンポーネント API も提供します。この API
は、DDL またはシステム・ストアード・プロシージャーのいずれかをカプセル化する OLE オー
トメーション・オブジェクトで構成されます。
DB2 UDB は、データベースの作成、活動化、バックアップ、またはリストアなどの、データ
ベース管理タスクを実行するための管理 API を備えています。この API は、任意のアプリケー
ションから起動することができ、それには C、COBOL、Fortran、および REXX プログラミング
言語で作成された、組み込み SQL プログラムまたはそれ以外のものが含まれます。
Microsoft Management Console(MMC)は、Microsoft サーバー製品の管理用の、新しいユー
ザー・インターフェースおよびフレームワークです。SQL Server Enterprise Manager は、Microsoft
SQL Server およびデータベース・オブジェクトを構成および管理するためのグラフィカル・アプ
リケーションで、Microsoft SQL Server MMC スナップ・インです。これは Windows 95、Windows
98、Windows NT、および Windows 2000 上で実行します。
DB2 コントロール・センター(CC)は、ローカル・データベース・サーバーや、複数のリモー
ト・データベース・サーバーとそのデータベース・オブジェクトを管理するための、グラフィカ
ル・インターフェースです。CC は、OS/390 または z/OS 上のデータベースも管理します。CC
は、AIX、HP-UX、Linux、Sun Solaris、および Windows オペレーティング・システム上で使用で
きます。CC からは、以下の管理タスクをデータベース・オブジェクトに対して実行できます。
•
データベースの作成およびドロップ
•
表スペースまたは表の作成、変更、およびドロップ
•
索引の作成、変更、およびドロップ
•
データベースまたは表スペースのバックアップおよびリカバリー
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
38
•
システム間でデータをレプリケーションするための、レプリケーション・ソースとサブ
スクリプションの定義
•
パフォーマンスに影響するデータベース・マネージャー構成値の設定
•
データベース・マネージャーの通信パラメーターの構成
•
クライアントの構成に使用できるプロファイル内でのデータベース情報の生成
•
インストールした DB2 製品の確認や購入したユーザー・ライセンス数の確認などの、
ライセンス交付タスクの実行
•
照会、ジョブ、およびスクリプトの最適化
•
データウェアハウジング・タスクの実行
•
データベース・オブジェクトの定義に使用する SQL ステートメントの生成
•
コントロール・センターのアクションの、スクリプトへの変換
以下の図は、コントロール・センターのメイン・ウィンドウを示しています。
図 5.
コントロール・センターのメイン・ウィンドウ
以下の DB2 ツールは、コントロール・センターのツールバーから利用できます。
•
コマンド・センター。DB2 データベース・コマンド、SQL ステートメント、およびオ
ペレーティング・システム・コマンドを発行し、その結果を表示します。
•
タスク・センター。オペレーティング・システム・レベルの DB2 コマンド・スクリプ
トを作成および実行します。
•
ジャーナル。ジョブを実行、スケジュール、および削除し、リカバリー・ヒストリー・
ログおよびメッセージ・ログを表示します。
•
ライセンス・センター。DB2 製品ライセンスの状況を構成および表示します。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
39
•
レプリケーション・センター。これは DB2 バージョン 8 の新機能で、レプリケーショ
ン環境を設計、セットアップ、および管理します。
•
サテライト管理センター。中央の DB2 コントロール・サーバーで、サテライトと、サ
テライト・コントロール表に保持されている情報をセットアップおよび管理します。
•
データウェアハウス・センター。データウェアハウス・オブジェクトを管理します。
•
インフォメーション・カタログ・センター。ビジネス・メタデータを管理します。
•
ヘルス・センター。インスタンスをモニターします。このセンターは、潜在的な問題に
ついてのアラートを出し、その問題を解決するための勧告を提供します。メモリー・ビ
ジュアライザーなどの特定のモニター・ツールを提供して、特定のパフォーマンス領域
までドリルダウンします。
•
デベロップメント・センター。ストアード・プロシージャー、ユーザー定義関数、およ
び構造化タイプを開発します。
•
インフォメーション・センター。タスクやコマンドのヘルプ、および情報を DB2 ライ
ブラリーから検索し、ローカル資料の更新も実行します。
コントロール・センターの DB2 ランチパッドおよびウィザードは、管理タスクをステップに分
けて手引きし、その実行を支援します。ランチパッドおよびウィザードで実行できる作業には、
パーティションの追加(分散環境の場合)、データベースのバックアップ、データベースの作
成、表スペースの作成、表の作成、ワークロード・パフォーマンスのモニター、パフォーマンス
を向上させるためのデータベース・マネージャーおよびデータベース・パラメーターの構成、
データベースのリストア、およびデータベース・ログの構成などがあります。
データベースの整合性
Microsoft SQL Server 2000 は、データベースの整合性をチェックするための dbcc ステートメント
を備えています。このステートメントは、データベースに対して物理的および論理的な整合性検
査を実行し、特定の問題を修正することができます。以前のバージョンでは、バックアップの前
に dbcc ステートメントを実行することをお勧めしていました。バージョン 7 では、これはバッ
クアップ実行前の推奨事項ではなくなりましたが、システム障害後の実行は引き続きお勧めしま
す。
dbcc ステートメントは、保守、各種、状況、妥当性検査という 4 つのカテゴリーにグループ化さ
れます。保守タスクは、データベース、索引、またはファイル・グループに対して実行されま
す。各種タスクには、行レベル・ロックの使用可能化や、ダイナミック・リンク・ライブラリー
(DLL)のメモリーからの削除などがあります。状況検査は、現行の統計情報、トレース・フラ
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
40
グ、ユーザー・オプション、およびクライアントから送られた最後のステートメントなどのシス
テム情報に対して実行されます。妥当性検査操作は、データベース、表、索引、カタログ、ファ
イル・グループ、システム表、またはデータベース・ページの割り振りに対して実行されます。
さらにデータベース保守では、sqlmaint ユーティリティーが DBCC 検査を実行し、データベース
とそのトランザクション・ログをバックアップし、統計を更新し、1 つ以上のデータベースの索
引を再作成します。
DB2 UDB では、db2dart を使用して、データベースのアーキテクチャー上の整合性が正しいかど
うかを確かめることができます。これは定期的に実行する必要はありません。DB2 UDB はシス
テム障害後に、自動クラッシュ・リカバリーを実行します。このツールは、データベースが存在
する DB2 サーバー上で、データベースへのアクティブな接続がない場合に実行する必要があり
ます。この検査オプションには、データベース、表、すべての表スペース・ファイルおよびコン
テナー、表スペースとそのすべての表、および表を持たない表スペース構造があります。db2dart
オプションについての完全な情報は、オプションを指定せず db2dart と入力すれば参照できま
す。以下の妥当性検査が実行されます。
•
制御情報が正しいか
•
データの形式に矛盾はないか
•
データ・ページが正しいサイズで、正しい列タイプを含むか
•
索引が有効か
Microsoft SQL Server の dbcc ステートメントと DB2 UDB ツールとでは、異なる出力情報が生成
されます。以下の表では、dbcc コマンドと db2dart コマンドのそれぞれの機能を簡単にマップし
ています。
Microsoft SQL Server dbcc
dbcc checkdb(database-name)
DB2 UDB db2dart
db2dart database-name /DB1
dbcc checktable(table-name)
db2dart database-name /T /TSI tablespace-id /TN table-name
dbcc checkfilegroup(filegroup-name | filegroup-id)2
db2dart database-name /TS /TSI tablespace-id 3
dbcc checkcatalog(database-name)
db2dart database-name /TS /TSI 0 4
dbcc reindex(table-name)
db2dart database-name /MI /TSI tablespace-id /OI index-object-id 5
1
デフォルト・オプション
2
dbcc checkfilegroup はファイル・グループおよびそのすべての表の保全性をチェックする。
3
db2dart /TS は、表スペースとそのすべての表をチェックする。追加オプションのうち、/TSC は表スペースの構成だけを
チェックし、/TSF はすべての表スペース・ファイルとコンテナーをチェックする。
4
ここで 0 は、カタログ表スペースの tablespace-id。これはデフォルトでは SYSCATSPACE。
5
索引は無効とマークされ、索引が初めてアクセスされたとき、またはデータベースが再始動したときに、indexrec database
の値とデータベース・マネージャー構成パラメーターの値に基づいて再構築される。
DB2 バージョン 8 では、INSPECT コマンドが導入されました。これによってデータベースの
アーキテクチャー上の保全性を検査し、ページの整合性についてデータベースのページをチェッ
クします。この検査では、表オブジェクトの構造および表スペースの構造が有効であることを
チェックします。これは API として使用することができ、オンラインで実行できます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
41
インプリメンテーションの相違点
このセクションでは、Microsoft SQL Server 2000 と、DB2 UDB for UNIX、Linux、Windows バー
ジョン 8.1 で使用できるインプリメンテーション機能を説明します。
分離レベル
Microsoft SQL Server 2000 は、非コミット読み取り、コミット読み取り、反復可能読み取り、直
列化可能という、4 つの分離レベルをサポートします。レベルが非コミット読み取りに設定され
ている場合、ダーティー読み取り、反復不能読み取り、およびファントム値が発生する可能性が
あります。レベルがコミット読み取りに設定されている場合、ダーティー読み取りは発生しませ
んが、反復不能読み取りおよびファントム値は発生する可能性があります。反復可能読み取りレ
ベルでは、反復不能読み取りは発生しませんが、ファントム値は発生する可能性があります。
DB2 UDB も、読み取り固定、反復可能読み取り、カーソル固定、非コミット読み取りの、4 つ
の分離レベルをサポートします。これらの分離レベルに関係なく、データベース・マネージャー
は、挿入、更新、または削除されるすべての行に排他ロックを設定します。
したがって、どの分離レベルでも、作業単位中にこのアプリケーション・プロセスによって変更
されたどの行も、その作業単位が完了するまでは、他のアプリケーション・プロセスによって変
更されないことが保証されます。
Microsoft SQL Server
非コミット読み取り
DB2 UDB
非コミット読み取り
コミット読み取り(デフォルト)
カーソル固定(デフォルト)
反復可能読み取り
読み取り固定
直列化可能
反復可能読み取り
デフォルトのカーソル固定のレベルでは、別のアプリケーション・プロセスによって変更された
どの行も、そのアプリケーション・プロセスによってコミットされるまでは読み取られないこと
が保証されます。
ステートメントの分離レベル
Microsoft SQL Server 2000 では、SELECT ステートメントの from 文節の with キーワードは、表の
ヒントを示します。表のヒントは、ロックの細分性と分離レベルによってグループ化されます。
分離レベルのヒントとして指定できる値は、READCOMMITTED、READUNCOMMITTED、
REPEATABLEREAD、および SERIALIZABLE です。
DB2 UDB の分離レベルは、さらに高い細分性の、パフォーマンスと並行性が向上したステート
メント・レベルで定義できます。SELECT ステートメントの with 文節で、希望する分離レベルを
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
42
指定します。値は RR(反復可能読み取り)、RS(読み取り固定)、CS(カーソル固定)、および
UR(非コミット読み取り)です。
ロック機構
Microsoft SQL Server 2000 には、行、ページ、表という 3 つのロック・レベルがあります。デ
フォルトは行レベル・ロックです。ロック・エスカレーションは、トランザクションがエスカ
レーションのしきい値を超えたときに自動的に実行され、行ロックから、ページ・ロック、表
ロックへと移行します。ロック・エスカレーションのしきい値は、Microsoft SQL Server によって
動的に決定され、ユーザーが構成することはできません。
locks オプションは、使用可能なロックの最大数に設定でき、Microsoft SQL Server がロックに使
用するメモリー量を制限します。デフォルトの設定値は 0 で、サーバーはロック用のメモリーを
動的に割り当てることができます(サーバーによって割り当てられたメモリー合計の 40%ま
で)。
DB2 UDB は、デフォルトでは行レベル・ロックを採用します(ページ・レベル・ロックは選択
できません)。ただし、データベース・マネージャーはロックを表レベルにエスカレーションす
ることができます。エスカレーションを最小限にするかまたは回避するために、SQL コマンドの
lock table で表全体を明示的にロックできます。
DB2 UDB のロック・エスカレーションは、データベース構成ファイルの「エスカレーション前
のロック・リストの最大パーセント(maxlocks)」パラメーターおよび「ロック・リストの最大
記憶域(locklist)」パラメーターの値の変更によって影響を受けます。また、alter table ステート
メントの locksize パラメーターを使用して、特定の表に対するロック方法を制御できます。
システム・データベース
マスター・データベースは Microsoft SQL Server 2000 の操作を制御し、すべてのユーザー・デー
タベースとその関連のデータベース・デバイスに関する情報を保管します。DB2 UDB には
SYSCATSPACE というカタログ表スペースがあり、これには単一のデータベース用のすべてのシ
ステム・カタログ表が入っています。データベース構成の他のすべての局面は、DB2 コマンド・
インターフェースまたはコントロール・センターによって制御できます。ユーザー・アカウント
の管理には、オペレーティング・システムのセキュリティー機能を使用する必要があります。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
43
msdb データベースは、Microsoft SQL Server 2000、SQL Server Enterprise Manager、および SQL
Server Agent によって使用され、アラートのデータ、スケジュール済みタスク、バックアップお
よびリストアのヒストリー情報を保管します。DB2 UDB は、バックアップ、リストア操作、お
よびロード操作の詳細を、リカバリー・ヒストリーに記録します。DB2 コマンド・リスト・ヒス
トリーは、リカバリー・ファイルの内容を表示するために使用できます。(コントロール・セン
ターからの)ジャーナル・ツールを使用して、データベース・ヒストリーを表示することができ
ます。ヘルス・センターの「アラート(Alerts)」ビューは、現行のアラートを表示および処理す
るために使用できます。
Microsoft SQL Server 2000 の配布データベースはレプリケーションに使用され、トランザクショ
ン、スナップショット・ジョブ、同期状況、レプリケーション・ヒストリー情報などのデータを
保管します。リモート配布用またはパブリッシャー/ディストリビューターの組合せとして構成
されたすべてのサーバーは、配布データベースを持ちます。
DB2 レプリケーション・コンポーネントは、コントロール表を使用して相互に交信し、レプリ
ケーション・ソースおよびレプリケーション・ターゲットの定義と管理、変更のキャプチャー、
変更のレプリケーション、レプリケーションされた変更の数とまだレプリケーションされていな
い変更の数の追跡などの、レプリケーション要求を管理します。Capture プログラム用のコント
ロール表はソース・データベースにあり、Apply プログラム用のコントロール表はターゲット・
データベースにあります。レプリケーション・アラート・モニターは、すべてのコントロール表
を読み取り、アラート条件の発生時には通知を出します。
Microsoft SQL Server 2000 のモデル・データベースは、新規ユーザー・データベース用のテンプ
レート(プロトタイプ)を提供します。一般に、モデル・データベースに加えられる変更は、
ユーザー定義データ・タイプ、ルール、またはデフォルトの追加、すべてのデータベースへのア
クセスを持つユーザーの追加、特にゲスト・アカウント用へのデフォルト特権の付与などです。
DB2 UDB にはモデル・データベースは不要であり、スクリプトを作成して、データベースの作
成、データ・タイプの定義、および特権の付与を実行できます。作成済みのユーザーは、グルー
プ・メンバーシップまたはトラステッド接続を使用して、すべてのデータベースへのアクセス権
を持つことができます。
Microsoft SQL Server 2000 の一時データベースである tempdb は、一時表や、他の一時的な作業ス
トレージの必要(たとえば group by および order by の中間結果など)のために、記憶域を提供し
ます。DB2 UDB では、各データベースはそのような目的で 1 つ以上の一時表スペースを持って
います。データベースの代わりに表スペースを持つことには、いくつかの利点があります。たと
えば、異なるデータベース上で実行するアプリケーションは異なる表スペース(記憶域)を使用
することや、システム管理スペース(SMS)表スペースの管理がほとんど不要であること(ファ
イル・システムのフリー・スペースで制限される)などです。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
44
Microsoft SQL Server 2000 は、pubs および Northwind という 2 つのサンプル・データベースを提
供しています。これらはオプションでインストールできます。DB2 UDB は Sample というサンプ
ル・データベースを提供しています。これはこのデータベースを作成するための API db2sampl
に付属しています。さらに、この Sample データベースの作成および操作に役立つ、Intel プラッ
トフォーム用のグラフィック・ツールである First Steps も提供しています。製品資料およびサン
プル・プログラムは、このデータベースを参照します。データウェアハウジング機能用に、First
Steps ツールを使用して作成できる別のサンプル・データベースもあります。
SQL の標準準拠
Microsoft SQL Server 2000 の機能は、ANSI SQL92 Entry Level 標準と、NIST(国立標準技術研究
所 ) に よ っ て 確 立 さ れ た FIPS ( 連 邦 情 報 処 理 標 準 ) 127-2 に 準 拠 し て い ま す 。 SET
FIPS_FLAGGER および SET ANSI_DEFAULTS コマンドは、準拠レベルおよび SQL-92 の動作を変
更します。ID の長さは 128 文字に限定されます。
DB2 UDB も Entry-level の SQL92 に準拠していますが、SQL92 の中間および全レベル、さらには
将来の SQL3 からの機能も取り入れています。SQL 準拠レベルの変更に使用できるコマンドはあ
りませんが、SQL 組み込みアプリケーションで PREP コマンドの SQLFLAG オプションを使用し
て、SQL 構文が SQL92 Entry Level 構文に準拠しているかどうかを検査できます。表、ビュー、
および別名の ID は 128 文字、列名は 30 文字に制限され、その他すべてのオブジェクト ID は 18
文字を超えることはできません。
表
Microsoft SQL Server の create table コマンドでの表名の完全な指定には、データベース名、所有
者、および表名が含まれます。データベース名の指定はオプションであり、デフォルトは現行の
データベース名です。ただし、データベース名が指定されている場合は、そのデータベースが存
在していなければならず、現行の接続ログインは、そのデータベースの既存のユーザーID に関
連付けられている必要があります。このコマンドを使用して、グローバルおよびローカルの一時
表を作成することもできます。ON および TEXTIMAGE_ON 文節は、表または大規模な列(テキ
スト、ntext、およびイメージ)を保管する file_group を指定します。
DB2 の完全修飾表名は、スキーマおよび表名だけで構成されます。別のデータベース上の表にア
クセスするには、別名を作成する必要があります。別名の定義時には、サーバー接続情報を収め
るサーバー・オブジェクトが指定されます。別名によって、他のローカル、リモート、または連
合データベース上の表へのアクセスが許可されます。このコマンドで、マテリアライズ照会表、
ステージング表、および型付き表も作成できます。DB2 は一時表を作成するコマンドも提供して
います。これについては次の『一時表』のトピックを参照してください。IN および LONG IN
は、表および LOB 列が保管される表スペース名を指定します。INDEX IN は、索引が保管される
表スペース名を指定します。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
45
表の列を定義するために Microsoft SQL Server が提供するデータ・タイプのいくつかは、DB2 の
組み込みデータ・タイプとは異なっています。データ・タイプ変換のセクションでは、Microsoft
SQL Server と DB2 との間でデータ・タイプを変換するためのガイドラインを記載しています。
以下の表では、Microsoft SQL Server 2000 と DB2 UDB との間の、制限における表の相違点につい
て要約しています。
説明
表スペース/データベース・ファイルの
ページ・サイズ
1 行の最大長
1 表の最大列数
1 表の最大索引数
Microsoft SQL Server
DB2 UDB
8K
4K、8K、16K、32K
8,060 バイト
32,677 バイト 1
1,024
1,0122
249 非クラスター
32,767 または記憶域
1 クラスター
1 データベースの最大表数
最大索引キー長
1 表の最大制約数
データベース・オブジェクト数で
制限される 3
65,5344
900 バイト
1,024 バイト
250 ユニーク・キー
記憶域
253 外部キー
1 ビューの最大列数
1 つの select またはビューで参照される表の
最大数
1 つの ORDER BY 文節内の最大列数
1 つの ORDER BY 文節内の列の最大合計長
1,024
5,0005
256
記憶域
合計長 8060 バイトに制限される
1,0122
8,060 バイト
32,677 バイト 1
1
この値は、32K の表スペース・ページ・サイズに基づき、ページ・サイズに応じて異なる。
2
この値は、8K、16K、または 32K の表スペース・ページ・サイズに基づく。
3
データベース・オブジェクトの合計数は、2,147,483,647 を超えることはできない。
4
この制限は SMS 表スペースの場合のみ。
5
この最大値は、CREATE VIEW ステートメントで JOIN を使用した場合に実現可能。
一時表
Microsoft SQL Server 2000 は一時表をサポートし、これは tempdb データベースに保管されます。
一時表にはローカルとグローバルの 2 つのタイプがあります。ローカル一時表の名前は番号記号
(#)で始まり、ローカル表は現行セッション(接続)のみで参照できます。これに対してグ
ローバル一時表の名前は二重の番号記号(##)で始まり、グローバル表はすべてのセッションで
参照できます。
DB2 UDB では、宣言済みグローバル一時表(DGTT)を利用できます。これにはその一時表を作
成したアプリケーションのみがアクセスでき、アプリケーションの終了時に自動的にドロップさ
れます。このような表は、DDL ステートメント(declare global temporary table)を使用して作成
されます。このステートメントに with replace 文節が指定されると、同じ名前を持つ DGTT はド
ロップされ、指定された新しい定義で置き換えられます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
46
DGTT は、IN 文節を使用して指定できる USER TEMPORARY 表スペース上に作成されます。こ
の文節が指定されていない場合、表スペースは一連のユーザー一時表スペースから選択されま
す。表スペースは、ユーザーの USE 特権の対象でなければならず、表を収めるのに十分なペー
ジ・サイズが必要です。宣言済み一時表にはロックは実行されず、必ず修飾子「SESSION」が付
けられて作成されます。変更内容はログに記録できますが、選択的ではありません。
DB2 バージョン 8 の DGTT への機能拡張には、パフォーマンスを向上させるための索引および
統計サポート、ロールバックをサポートするためのロギングの取り消しなどがあります。
宣言済み一時表は、意味的には Microsoft SQL Server 2000 のローカル一時表と同等です。異なる
アプリケーションで確立された接続によってアクセスされる一時表は、DB2 UDB の共通表式
か、または create table および alter table コマンドの not logged initially 文節を使用してインプリメ
ントし、一時表の特性を備えることができます。
索引
Microsoft SQL Server 2000 の索引では、昇順または降順を指定することができます。以前のバー
ジョン 6.5 と 7 では、create index というコマンドには順序付けを指定する文節はありませんでし
た。DB2 UDB では、索引を昇順または降順に定義することができ、また create index ステートメ
ントの中で allow reverse scans を指定することによって、順方向スキャンも逆方向スキャンも可
能です。順序付けのプロパティーは、order by や group by の文節を伴う照会を実行する場合に有
用になります。
Microsoft SQL Server 2000 では、クラスター索引と非クラスター索引の表現に、次の 2 つの違い
を除いて、同じ B ツリー・モデルを用いています。その違いとは、非クラスター索引が物理的に
索引キーに従って順序付けされていないこと、およびリーフ・ノードがデータ・ページではなく
索引行によって構成されていることです。
DB2 UDB はキーの値を複製した別構造で索引を作成します。データベース・マネージャーは、
索引保管のために B+ツリー構造を用います。DB2 は、クラスター化索引のクラスター係数を保
守するために、あるいは関連するテーブルにデータが挿入される際にそれを動的に改善するため
に、同じ範囲内で物理的に索引キー値の行に近接する場所に新たな行を挿入しようと試みます。
どちらのデータベースでも、1 つの表には 1 つのクラスター索引しか許容されません。
多次元クラスター化(MDC)は、複数の次元に沿って、柔軟で、連続性のある、データのクラ
スター化を自動的に行うための洗練された方法を提供します。これによって、照会のパフォーマ
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
47
ンスの大幅な改善だけでなく、挿入、更新、削除などの操作に伴う再編成などのデータ保守操作
や索引保守操作のオーバーヘッドの大幅削減も実現されます。多次元クラスター化は、主にデー
タウェアハウジングや大規模データベース環境を対象としたものですが、オンライン・トランザ
クション処理(OLTP)環境下でも利用可能です。
DB2 バージョン 8 では、索引はタイプ 1 またはタイプ 2 のいずれかとなります。DB2 バージョ
ン 8 ではタイプ 2 索引のサポートが追加されています。タイプ 1 の索引はこれまでの索引スタイ
ルであり、以前のバージョンの DB2 で作成された索引はこのタイプのものです。タイプ 2 索引
の主な利点は、ネクストキー・ロックの使用が最小限に抑えられ、255 バイト長以上の列に索引
を作成することができるため、並行性が向上することです。表の索引がタイプ 2 のもののみに
なってはじめて、オンライン表の REORG コマンドと LOAD コマンドが表に対して使用できるよ
うになります。また、タイプ 2 の索引は新しい多次元クラスター化機能のためにも必要となりま
す。
Microsoft SQL Server 2000 では、既存のデータに新しい索引を作成する場合に、索引のリーフ・
レベル・ページがどの程度一杯なのかをパーセンテージで示す fillfactor 文節が create index コマ
ンドにあります。そのデフォルト値はゼロになっており、サーバーに対してリーフ・レベル・
ページを完全に満杯にして、非リーフ・ページに少なくとも 1 行のスペースを残すことを指示し
ています。
DB2 UDB では、索引を作成する場合に、各索引ページの何パーセントをフリー・スペースとし
て残すかを指定する pctfree 文節が create index コマンドにあります。ただし、10 を超える値を指
定しても、非リーフ・ページ上には 10%のフリー・スペースしか残されないことになります。デ
フォルト値は 10%ということです。
ビュー
Microsoft SQL Server 2000 では、ビューを具体化するための方法として、一定の条件下でビュー
のための索引を作成することができます。ビューに作成する最初の索引は固有のクラスター索引
でなければなりませんが、それ以降はいかなる非クラスター索引でも作成可能です。固有のクラ
スター索引をビューに作成すると、ビューが実行された時に結果セットがデータベースに保管さ
れることになります。照会オプティマイザーは、ビューまたは基本表上で定義されている索引を
利用することで照会にメリットがあるのかどうかを決定します。オプティマイザーは、from 文節
の中で参照されていなくても索引ビューを選択することができます。オプションの NOEXPAND
または EXPAND VIEWS を指定することによって、オプティマイザーが索引ビューを用いるのを
強制したり妨げたりすることができます。
DB2 UDB の索引は基本表上でのみ定義することができます。DB2 サマリー表によりビューの具
体化が可能となります。サマリー表とは照会の結果に基づいて定義された表であり、したがっ
て、一般に当該表上のデータや定義に用いられた表上のデータを基に事前計算された結果が含ま
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
48
れます。基本表よりもサマリー表の方が効率的に照会を実行できると SQL コンパイラーが判断
した場合には、サマリー表に対して照会が実行されます。サマリー表を作成するには、AS
fullselect の 文 節 お よ び IMMEDIATE ま た は REFRESH DEFERRED の オ プ シ ョ ン を 伴 っ た
CREATE SUMMARY TABLE ステートメントを使用します。
DB2 のバージョン 8 では、マテリアライズ照会表(MQT)が新たに取り入れられました。MQT
は照会結果に基づいて定義される表であり、そのデータは MQT 定義の基礎になっている 1 つ以
上の表をもとに事前計算された結果です。自動サマリー表(AST)としても知られるサマリー表
は、特殊な種類の MQT であるとみなされ、その全選択には、全選択で参照されるテーブルから
のデータを要約する GROUP BY 文節が含まれています。
IDENTITY 列
Microsoft SQL Server の IDENTITY プロパティーは、システム生成の値を順番に提供することで
す。IDENTITY プロパティーは、1 つの表当りの 1 つの列に対してのみ次のタイプを定義するこ
とができます:位取り 0 の numeric、位取り 0 の decimal、integer、smallint、および tinyint。シー
ド値と増分値を指定できますが、両方とも指定しなければ、IDENTITY 列は 1 から始まり、1 ず
つ増やされます。Microsoft SQL Server はまた、uniqueidentifier のデータ・タイプもサポートしま
す。uniqueidentifier と定義されている列の値は、NEWID 関数を使って、あるいは 16 進数のスト
リング定数を定義して生成することができます。
DB2 UDB では、各表が IDENTITY 属性で定義される単一の列を持っている場合があります。サ
ポートされる列のタイプは:位取り 0 の numeric、integer、smallint、および bigint です。初期値
と増分値を指定できますが、デフォルト値はいずれも 1 です。IDENTITY 列の値は、常に DB2
に よ って 生成 さ れる か( generated always )、 また は デフ ォル ト によ って の み生 成さ れ ま す
(generated by default)。generated always というキーワードは、DB2 が常に固有の値を生成し、ア
プリケーションが明示的な値を提供することはできないということを示しています。generated
by default というキーワードは、アプリケーションが明示的に値を提供することができ、値が提
供されない場合にのみ DB2 が値を生成するということを示しています。
算出列
Microsoft SQL Server 2000 の算出列は表には保管されず、その名前が示すように列の値を定義す
る式を用いて算出されます。算出列に索引を作成することはできますが、その式は決定論的でな
ければならないという制約があります。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
49
DB2 UDB が生成した列は、挿入や更新の操作を通して指定されるのではなく、保管された値が
式を用いて計算される基本表に定義されています。表には 1 つあるいは複数の生成列を追加する
ことができます。また、生成列に非固有索引を作成することも可能です。
同じ式を含む照会を行う場合には、生成列を直接用いることもできますが、オプティマイザーの
照会書き換えコンポーネントを用いて、式を生成列で置き換えることも可能です。
制約
Microsoft SQL Server 2000 では、下位互換性機能としてのデフォルトとチェックの制約を定義す
るために、データベースの列に対するデフォルトとルールを作成することができます。チェック
とデフォルトの制約を定義する標準的な方法は、create table あるいは alter table コマンドで check
および default 文節を用いることです。SQL サーバー提供のデータ・タイプやテキスト、イメー
ジ、あるいはタイムスタンプの列のタイプについてルールを定義することはできず、1 つの列に
は 1 つのルールしか指定できません。
DB2 UDB では、チェックおよびデフォルトの制約は、列または表レベルで create table コマンド
と alter table コマンドを用いて定義します。データ・タイプについての制限はありません。この
チェックおよびデフォルトの制約を定義するための宣言形式は、列データ制限の標準的な方法で
あるだけでなく、1 つの列に対して複数の定義も可能にし、宣言はその表が削除された時に自動
的に削除されます。
Microsoft SQL 2000 Server の保全制約の定義では、作成される索引が非クラスター型(デフォル
ト)なのか、クラスター型なのかを指定することができます。DB2 UDB はキーの全ての列で昇
順に固有キーを作成します。クラスター索引が必要な場合には、索引を指定した reorganize table
コマンドがその索引を用いて表上のレコードを物理的に再配列します。
Microsoft SQL Server 2000 の参照制約には、CASCADE と NO ACTION(デフォルト)の 2 つの可
能なアクションがあります。Microsoft SQL Server の以前のバージョンでは、データベース内の関
連する表の変更をカスケードすることはできず、これらのアクションを達成するためにはトリ
ガーを使う必要がありました。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
50
DB2 UDB の参照制約定義には、従属表に関して取るべきアクションを指定するためのルール文
節があります。delete ルールには次の 4 つの可能なアクションがあります:NO ACTION(デフォ
ルト)、RESTRICT、CASCADE、および SET NULL。RESTRICT または NO ACTION を指定する
と、エラーが発生し、どの行も影響を受けません。CASCADE を指定すると、操作は従属行全体
に波及します。SET NULL を指定すると、各従属行の外部キーのヌル可能な各列はヌルにセット
されます。update ルールで可能なアクションは、NO ACTION と RESTRICT だけです。
DB2 のバージョン 8 の情報制約では、表に対するチェックおよび参照保全(RI)制約を作成する
ことができ、その制約はデータベース・マネージャーによって強制されませんが、それでもな
お、オプティマイザーによる活用は可能です。ENFORCED および NOT ENFORCED の属性は、
挿入、更新、削除などの通常の操作中にデータベース・マネージャーによってその制約が強制さ
れるか否かを定義します。NOT ENFORCED は、表のデータが独自に制約に適合することが判明
している場合にのみ指定する必要があります。また、ENABLE QUERY OPTIMIZATION および
DISABLE QUERY OPTIMIZATION の属性は、適切な状況下で照会最適化のために制約を使用で
きるか否かを定義します。
スクロール可能カーソル
Microsoft SQL Server 2000 は、静的、動的、順方向専用、およびキーセット・ドリブンというす
べての ANSI スタイル・カーソルをサポートします。Transact-SQL は INSENSITIVE および
SCROLL カーソル行動およびすべてのフェッチ・オプション(FIRST、LAST、NEXT、PRIOR、
RELATIVE、および ABSOLUTE)をサポートします。カーソルのサポートは次の API を通して
可 能 で す : ADO ( Microsoft ActiveX Data Object )、 OLE DB 、 ODBC ( Open Database
Connectivity)
、DB-Library。
DB2 UDB では、静的、順方向専用、およびスクロール可能カーソルをサポートします。スク
ロール可能カーソルには静的とキーセット・ドリブンという 2 つのタイプがあります。後者は、
基礎データへの変更を検出したり、変更を行ったりする機能を提供します。静的なスクロール可
能カーソルに対するアプリケーション・サポートは、DB2 CLI、ODBC、JDBC、および SQLJ を
通して提供されます。キーセット・ドリブンのスクロール可能カーソルは、DB2 CLI および
ODBC を通してサポートされます。
ANSI 結合演算子
Microsoft SQL Server 2000 では、FROM または WHERE 文節で外部結合を指定することができま
す。ANSI スタイルの結合構文は、FROM 文節で左外部結合、右外部結合、全外部結合をサポー
トします。WHERE 文節での*=および=*の右外部結合および左外部結合のための特定の構文は、
下位互換性を保つためにのみサポートされます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
51
DB2 の結合構文は ANSI スタイルであり、INNER、LEFT [OUTER]、RIGHT [OUTER]、FULL
[OUTER] の演算子があります。ANSI の結合演算子は、結合動作で ANSI の定義に従います。
ANSI スタイルの結合構文は、WHERE 文節中に他の条件が指定された場合に、曖昧な解釈を排
除するのに役立ちます。
トランザクション
Microsoft SQL Server は begin transaction、save transaction、commit transaction、および rollback
transaction のステートメントで定義された明示的なトランザクションをサポートします。
implicit_transaction mode が使用可能になっていれば、SQL Server は、delete、insert、open、
fetch、select、update のステートメントの前に、暗黙的に begin transaction を起動します。その場
合でも、トランザクションは commit ステートメントによって明示的に閉じる必要があります。
Microsoft SQL Server は、トランザクションの一部をロールバックするためのメカニズムとしての
セーブポイントをサポートします。save transaction のコマンドは、後で rollback transaction コマ
ンドによってロールバックできるようにセーブポイントを作成します。
DB2 は明示的なトランザクションを必要としません:暗黙的なトランザクションのみが利用可能
なモードです。ただし、コンパウンド SQL(組み込み)はいくつかの SQL ステートメントのグ
ループを、1 つの実行可能なブロックとして定義します。コンパウンド SQL は、静的組み込み
SQL と DB2 Call Level Interface でサポートされます。コンパウンド SQL には次の 2 つのタイプが
あります。
•
Atomic:
すべてのサブステートメントが正しく実行された時、またはサブステートメ
ントの 1 つが失敗に終わった時に応答を返します。エラーが発生した場合には、ブロッ
ク全体がロールバックされます。
•
Non Atomic: すべてのサブステートメントが実行された時に、先行するサブステート
メントが成功したか否かに関係なく応答を返します。ブロック全体がロールバックされ
るのは、それを含むワーク・ユニットがロールバックされた時のみです。
コンパウンド SQL(動的)ステートメントは、ステートメントを実行可能なブロックにグループ
化します。SQL 変数を宣言することができます。このステートメントはトリガー、SQL 関数、
SQL メソッドに組み込むことも、動的 SQL ステートメントを使用して発行することも可能で
す。これは、動的に準備することができる実行可能なステートメントです。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
52
DB2 UDB のセーブポイントは、組み込みコンパウンド SQL ステートメントと類似しています。
いずれのメカニズムも、いくつかの SQL ステートメントのグループを実行可能な 1 つのブロッ
クとして定義します。いずれかのサブステートメントがエラーに終われば、そのサブステートメ
ントのみがロールバックされます。この実行方法はコンパウンド SQL ステートメントよりも優
れた細分性を提供します。セーブポイントのブロックを開始するためには savepoint コマンドが
必要です。ステーテメントのセーブポイント・ブロックの終わりでは、セーブポイントは開放さ
れるか(release savepoint セーブポイント名)、セーブポイントにロールバックされます(rollback
to savepoint)
。DB2 は、他のセーブポイントの中でのセーブポイントの使用はサポートしていま
せん。DB2 では、アトミック・コンパウンド SQL の中でのセーブポイントの使用、またはセー
ブポイントの中でのアトミック・コンパウンド SQL の使用はできません。
トリガー
Microsoft SQL Server 2000 のトリガーは、Transact-SQL を使用してコーディングされ、データ
ベース自体の中に格納されます。SQL Server では、最大 32 レベルまでのネストされたトリガー
を使用できます。トリガーの直接または間接の反復は、データベース構成オプションとして利用
可能です。トリガーはトリガー・イベントの後またはトリガー・イベントに代わって起動されま
す。INSTEAD OF トリガーはトリガー・アクションに優先し、表に定義されたいずれの制約を適
用するよりも先に実行されます。表当り複数の AFTER トリガーをコード化できますが、
INSTEAD OF トリガーは 1 つに限られます。すべてのトリガーに対して複数のユーザー・アク
ションを指定することができます。INSTEAD OF トリガーはビューで定義することができます
が 、 AFTER ト リ ガ ー は で き ま せ ん 。 シ ス テ ム ・ ス ト ア ー ド ・ プ ロ シ ー ジ ャ ー で あ る
sp_settriggerorder を用いて、最初と最後に実行する AFTER トリガーをセットすることができま
す。それ以外の AFTER トリガーは順不同に実行されます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
53
DB2 UDB のトリガーは、create trigger ステートメントを使用して定義され、データベースに格
納されて、そのトリガーの関連する SQL ステートメントと共に実行時にコンパイルされます。
カスケードするトリガーの最大階層数は 16 です。トリガー・アクションは 1 つ以上の SQL プロ
シージャー・ステートメントで構成され、動的コンパウンド・ステートメント、またどのような
SQL コントロール・ステートメントでも含めることができます。SQL ステートメントのオプ
ショナルな実行、または条件付き実行は、WHEN 文節か CASE 式を用いて指定することができ
ます。トリガー・アクションは、insert(挿入)、update(更新)、delete(削除)が可能です。no
cascade before を指定した場合、トリガー・アクションは他のトリガーを起動しません。create
trigger ステートメントの中で no cascade before または after というキーワードを使用することによ
り、トリガーをトリガー・アクションの前に起動するのか後に起動するのかを指定できます。複
数のトリガーを、同じイベント、同じ起動持間、同じサブジェクト表に対して設定することも可
能です。トリガーが起動される順序は、そのトリガーが設定された順序と同じです。トリガーは
ストアード・プロシージャーを呼び出すことはできませんが、ユーザー定義関数(UDF)を起動
することはできます。
Microsoft SQL Server の deleted(削除された)論理表および inserted(挿入された)論理表は遷移
表であり、ユーザー・アクションで変更される可能性のある行の、古い値や新しい値を保持して
います。
DB2 UDB の create trigger ステートメントは、相関名を指定して遷移変数への参照を行い、表名
を指定して遷移表への参照を行います。相関名はトリガーSQL 操作で影響を受ける行集合の中の
特定の行を識別し、一方表名は影響を受ける完全な行集合を識別します。トリガーSQL 操作で影
響を受ける各行あるいは行集合は、相関名と表名で列を限定することにより、トリガー・アク
シ ョ ン で 利 用 可 能 に な り ま す 。 Microsoft SQL Server の if update ( column ) を WHEN
( oldtable.column != newtable.column ) に変換することも、あるいはトリガーを起動するユー
ザー・アクションを指定するために、update of column を使用して列をトリガー定義に指定する
こともできます。
Microsoft SQL Server 2000 の INSTEAD OF トリガーはトリガー・アクションに優先し、トリガー
本体の実行前に制約がチェックされることはありません。また、更新可能なビューやカスケー
ド・アクションを定義する外部キーを持つ表は、INSTEAD OF トリガー作成時には有効なオブ
ジェクト指定とはならない、というような制限もあります。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
54
INSTEAD OF トリガーは DB2 バージョン 8 でサポートされており、ビューの更新能力を拡張し
ました。INSTEAD OF トリガーを使えば、ビューへの更新操作要求はトリガー・ロジックに置き
換えられ、それがビューに代わって更新操作を実行します。ビューは更新可能でなければなりま
せん。詳細については、DB2 SQL Reference の create table コマンドの説明を参照してください。
この機能はすべての操作がビューに対して行われることを前提にしているアプリケーションの透
過性を高めます。
ストアード・プロシージャー
Microsoft SQL 2000 Server のストアード・プロシージャーは、Transact-SQL を用いてコーディン
グされ、データベースに格納されます。ストアード・プロシージャーのパラメーターの数は最大
で 1,024 です。Microsoft SQL Server は、ダイナミック・リンク・ライブラリーに含まれる関数で
あるストアード・プロシージャーを拡張しました。これらのプロシージャーは、Transact-SQL ス
トアード・プロシージャーと同じような方法でロードされ、実行されます。拡張プロシージャー
は、Microsoft SQL Server のアドレス・スペース内で実行され、そのプロシージャーを別のインス
タンスに格納した時にのみ、別のメモリー・スペースで実行できるようになります。ただし、拡
張プロシージャーが別のインスタンスに存在する場合には、分散照会が必要になる可能性があり
ます。拡張ストアード・プロシージャーは、SQL Server Open Data Services API を用いてのみプロ
グラミングすることができます。
DB2 UDB のストアー ド・プロシ ージャーは 、SQL でコ ーディング されるか、 C、C++、
COBOL、Microsoft Visual Basic、Java(SQLJ/JDBC)などの第 3 世代言語を用いて、コンパイ
ル・ライブラリーでコーディングされます。パラメーター数は最大で 32,367 です。SQL、Java、
および C プロシージャーでは、ネストされたストアード・プロシージャーがサポートされます。
呼び出し側ストアード・プロシージャーあるいは呼び出し側アプリケーションに複数の結果セッ
トが返されます。ストアード・プロシージャーは、データベース・マネージャーと同じアドレ
ス・スペースでも、あるいは create procedure ステートメント上で fenced または not fenced の文節
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
55
を指定することにより別のスペースでも実行できます。データベース・サーバーと同じアドレ
ス・スペースで十分に検証されていないストアード・プロシージャーを実行すると、そのサー
バーの保全性を損なうおそれがあります。
SQL プロシージャーでは、プロシージャー・ロジックは create procedure ステートメントに含ま
れるプロシージャー本体に定義されます。DB2 の SQL プロシージャー言語(SQL PL)は、
ANSI/ISO 標準の SQL/PSM に基づいています。サポートされるプラットフォームは、Windows
NT、AIX、および Sun Solaris のオペレーティング・システムです。次の例は単純なストアー
ド・プロシージャーに対する create procedure ステートメントを示したものです。プロシー
ジャー名、プロシージャーとの間でやり取りされるパラメーターのリスト、および LANGUAGE
パラメーターは、すべてのストアード・プロシージャーに共通です。ただし、プロシージャー本
体を構成する SQL の LANGUAGE の値と BEGIN/END ブロックは SQL プロシージャーに固有の
ものです。
create procedure ステートメントが実行された後で、DB2 パーサーがステートメントを解析しま
す。情報は SYSIBM.SYSPROCEDURES および SYSIBM.SYSPROCPARMS のカタログ表に保管さ
れます。C 言語のストアード・プロシージャーが生成され、ビルド・ルーチンが実行され、プロ
シージャーを含む共用ライブラリーが適切なディレクトリーにインストールされます。共用ライ
ブラリーのコンパイルとリンクのステップは、C または C++コンパイラーがデータベース・サー
バー・マシン上で利用可能になっていることを必要とします。しかし、いったん SQL プロシー
ジャーが定義されると、それはコンパイルされた形で同じプラットフォーム上で稼働する DB2
データベースに配信することができます。
DB2 によりユーザーは、コンパイルされた形での SQL プロシージャーを抽出し、1 つのデータ
ベースから他のデータベースにインストールすることができます。DB2 は抽出およびインストー
ル操作のためにコマンド・ライン・インターフェースとプログラミング・インターフェースを提
供しています。コマンド・ライン・インターフェースは、GET ROUTINE と PUT ROUTINE の 2
つ の CLP コ マ ン ド で 構 成 さ れ て い ま す 。 プ ロ グ ラ マ チ ッ ク ・ イ ン タ ー フ ェ ー ス は 、
GET_ROUTINE_SAR と PUT_ROUTINE_SAR の 2 つの組み込みストアード・プロシージャーで
構成されています。コマンド・ライン・インターフェースの詳細については Command Reference
を、またプログラミング・インターフェースの詳細については SQL Reference を参照してくださ
い。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
56
Transact-SQL と DB2 SQL PL ステートメント間には直接変換はありませんが、同等の機能性はあ
ります。次の表は、最も関連のある Transact-SQL と DB2 SQL PL ステートメントについての対応
関係を示したものです。
TransactSQL
DB2 SQL PL
DECLARE @varname datatype = defaultvalue
SELECT @var1=value
SELECT @var1=colname from table where…
SELECT @v1=col1,@v2=col2,@v3=col3 from table...
WHILE expression BEGIN … END
CONTINUE
BREAK
IF (….) BEGIN … END ELSE …..
EXECUTE procname( parm1,parm2,...)
EXECUTE @retval=procname( parm1,parm2,…)
DECLARE varname datatype DEFAULT defaultvalue;
SET var1 = value;
SET var1 = ( SELECT colname from table where…);
SELECT col1,col2,col3 into v1,v2,v3 from table...
WHILE expression DO … END WHILE;
ITERATE
LEAVE loop_label
IF (….) THEN … ELSE ….. END IF;
CALL procname( parm1,parm2,…);
CALL procname( parm1,parm2,…);
GET DIAGNOSTICS retval = RETURN_STATUS;
RETURN <int_value>
@@rowcount
GOTO <label>
RAISERROR <error>,"msg"
RETURN < int_expr>;
GET DIAGNOSTICS <var> = ROW_COUNT
GOTO <label>
SIGNAL <sqlstate> SET MESSAGE_TEXT='msg'
(SQLSTATE タイプ(CHAR5)のためにセマン
ティックは若干異なっており、RAISERROR でも制御
フローは妨げられない。)
ストアード・プロシージャーは、組み込みの静的 SQL あるいは動的 SQL、CLI、Java を用いてプ
ログラミングできます。Java のストアード・プロシージャーは、SQLJ または JDBC を用いて
コーディングできます。プロシージャー・ロジックは、どのプログラミング言語を用いても、
Transact-SQL ロジックにマッチするように容易に実装することができます。
次の図は、SQL または第 3 世代言語での DB2 ストアード・プロシージャーのアーキテクチャー
を示したものです:
図 6.
DB2 UDB ストアード・プロシージャー
Application Development Client(ADC)には、DB2 のストアード・プロシージャーの迅速な開発
を支援するグラフィカル・アプリケーションであるデベロップメント・センターがあります。デ
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
57
ベロップメント・センターは、Java および SQL ストアード・プロシージャーをローカルおよび
リモートの DB2 サーバー上で作成、ビルド、配置するために利用することができます。
デベロップメント・センターのその他の機能には以下のものがあります:
•
インストールされたストアード・プロシージャーの実行を、統合デバッガーを用いてテ
ストし、デバッグする機能。
•
プロジェクト内の各データベース接続用のサーバーの内容のビュー、および、表、トリ
ガー、ビューなどの他のデータベース・オブジェクトを取り扱う機能。
•
ルーチンとプロジェクト情報のインポートおよびエクスポート
•
IBM の WebSphere Studio Workbench、Microsoft Visual Studio.Net、Microsoft Visual Basic、
Microsoft の Visual InterDev からのデベロップメント・センター機能や他の DB2 セン
ターへのアクセスを容易にするアドイン。
デベロップメント・センターは、JDBC API を用いてすべてのデータベース接続を管理します。
ADC にいくつかの IBM DB2 JDBC ドライバーがインストールされています。JDBC ドライバー
の使用によって、どのローカル DB2 エイリアスへの、あるいはリモート・データベースへの接
続も確立できます。OS/390 や z/OS のサーバーに接続するには、DB2 Connect をインストールす
る必要があります。このツールは、AIX、HP-UX、Linux、Solaris オペレーティング環境、
Windows で利用できます。ストアード・プロシージャーの開発および配置は、OS/390 および
AS/400 を含む全 DB2 ファミリーのサーバーをサポートします。
DB2 バージョン 8 でのルーチン(ストアード・プロシージャー、ユーザー定義関数、メソッド)
の機能強化には、以下のものがあります。
•
関数、メソッド、ストアード・プロシージャーのカタログ・ビューが
SYSCAT.ROUTINES と SYSCAT.ROUTINEPARMS に統合されました。互換性を保つた
めに以前のカタログ・ビューも依然としてサポートされています。
•
ルーチンを呼び出せるユーザーを明示的に制御するために、EXECUTE ルーチンの特権
が定義されました。
•
外部ルーチンを登録できる者を明示的に制御するために、新しい権限が定義されまし
た。
•
外部ルーチンが EXTERNAL NAME を変更して新しいルーチン本体を参照するための
ALTER ステートメントがあります。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
58
•
NOT FENCED ルーチンはネスティングと再帰をサポートします。ネストできるルーチ
ンのタイプに制限はありません。たとえば、FENCED ルーチンは NOT FENCED ルーチ
ンを起動でき、その逆も可能です。NOT FENCED ストアード・プロシージャーは結果
セットを戻すことができます。SQL プロシージャーは自動的に NOT FENCED として登
録されます。
•
Java のルーチンは再帰をサポートするようになりました。ネストできるルーチンのタイ
プに制限はありません。ルーチンはスレッド・ベースのモデルを用いて実装されます。
•
スレッド・セーフであると定義されたルーチンは、シングル fenced モード・プロセス
として実装されます。多数の fenced モード・ルーチンを実行するユーザーのコンテキ
スト・スイッチングの量を削減するために、Java ルーチン用に 1 つのプロセスがあり、
非 Java ルーチン用にもう 1 つのプロセスがあります。Java ルーチンの場合は、これに
よって Java 仮想マシン(JVM)でリソースを共有することもできるようになります。
•
DB2 ライブラリー・マネージャーは、ワークロードに応じて、そのライブラリー・
キャッシングを動的に調整します。
•
外部 UDF とメソッドに、読み取り専用ステートメントを含めることができるようにな
りました。静的 SQL と動的 SQL の両方を利用できます。
•
CALL ステートメントは完全にコンパイルされたステートメントになりました。つま
り、CLI、ODBC、埋め込み SQL、JDBC、および SQLJ で CALL ステートメントを動的
に準備できるようになったということです。ストアード・プロシージャー・コールへの
入力引数は、式にすることができます。
ユーザー定義関数
Microsoft SQL Server 2000 は、CREATE FUNCTION ステートメントでユーザー定義関数をサポー
トします。これまでのバージョンには、この機能はありませんでした。scalar と table-valued の 2
つのタイプのユーザー定義関数が利用できます。table-valued タイプは表を戻します。複数のス
テートメントを、BEGIN/END というキーワードで囲んで定義することができます。
DB2 UDB には、CREATE FUNCTION ステートメントを用いて作成できる 5 つの異なるタイプの
関数があります。
•
スカラー値や完全な表を戻す、C、C++、Java(SQLJ/JDBC)で書かれた外部スカラー
関数および表関数
•
OLE DB Provider からのデータ・アクセスを可能にする OLE DB 外部表関数
•
既存の関数に基づいて定義されるソース関数またはテンプレート関数
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
59
•
その本体が SQL PL ステートメントによって定義され、スカラー、行、あるいは完全な
表を戻す SQL のスカラー関数、表関数、または行関数
以下の例は、SQL スカラーと SQL 表関数を作成するための DB2 構文を示したものです。
外部 UDF は、それをデータベースに登録する create function ステートメントが実行される前に
コーディングし、コンパイルしなければなりません。Java UDF については、外部名に絶対パス
指定がない場合には、クラス・ファイルのコピーをデフォルト関数パスに保存する必要がありま
す。以下の例には、Java コードと stringlen( ) UDF のための create function ステートメントが含ま
れています。
デベロップメント・センターを使用して以下の UDF を作成し、ビルドし、配置することができ
ます:
•
SQL 表とスカラーの UDF
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
60
•
MQSeriesメッセージを読み取る UDF
•
OLE DB データ・ソースにアクセスする UDF
•
XML 文書からデータを抽出する UDF
DB2 バージョン 8 では、ルーチン(ストアード・プロシージャー、ユーザー定義関数、メソッ
ド)に多くの機能強化が行われています。ルーチンという用語は、ストアード・プロシー
ジャー、UDF、およびメソッドを包含する言葉として用いられます。これは、DB2 バージョン 8
から、パラメーター・スタイル、データ・タイプ・マッピング、およびシステム・カタログが 3
つとも同じルーチン・タイプになった、という事実を反映したものです。
前述のストアード・プロシージャーも参照してください。そこでは、UDF を含むすべてのタイ
プの DB2 ルーチンの機能強化や特徴が取り上げられています。
XML サポート
Microsoft SQL Server 2000 の XML サポートは、URL を用いてサーバーにアクセスする機能、
XML データ・スキーマをサポートする機能、およびこれらのスキーマに XPath 照会を指定し、
関数やストアード・プロシージャーを通して XML データを保管し、FOR XML 文節を伴う
SELECT ステートメントを用いて XML データを構成する機能で構成されています。Microsoft
SQL Server 2000 OLE DB Provider(SQLOLEDB)は、XML 文書をコマンド・テキストとして設定
し、結果セットをストリームで戻すことを可能にしています。
DB2 XML Extender により、XML 文書(XML 列)の保管とアクセス、既存のリレーショナル・
データからの XML 文書の生成、および XML 文書(XML コレクション)からのリレーショナル
表への行の挿入が可能になります。XML Extender は、DB2 の XML データを管理するために新し
いデータ・タイプ、関数、およびストアード・プロシージャーを提供します。XML UDF は、
XML 列の保管と検索を行います。XML のストアード・プロシージャーは、Document Access
Definition(DAD)と Document Type Definition(DTD)ファイルを用いて、リレーショナル・
データを XML 文書に構成、あるいは XML 文書をリレーショナル・データに分解します。DAD
ファイルは、XML 文書と DB2 表構造の間のマッピングを指定します。スタイル・シートと
XML スキーマで、XML フォーマットとコンテンツに関する追加の手順を指定します。
XML Extender は、XML Extender 管理ウィザード、XML Extender 管理コマンド、および XML
Extender ストアード・プロシージャーという 3 つの管理メソッドを提供します。
XML Extender は次のプラットフォームでサポートされます:iSeries、OS/390、z/OS、AIX、Sun
Solaris、Linux、Windows NT、そして Windows 2000 のオペレーティング・システム。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
61
グローバル変数
Microsoft SQL Server は、システム情報や接続情報をレポートするためにグローバル変数を提供し
ます。Microsoft SQL Server 2000 は、一部のグローバル変数の代わりにスカラー関数を用いま
す。DB2 UDB はそのために、CURRENT SERVER、CURRENT DATE、CURRENT TIME、USER
などの特殊レジスターを備えています。グローバル変数と等価の特殊レジスターを使用できない
場合には、DB2 スカラーUDF を定義することができます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
62
プログラミング・インターフェース
DB2 プログラミング・インターフェースの概要
DB2 は、アプリケーション開発のために以下のようなプログラミング・インターフェースを提供
します。
•
組み込み SQL
プログラムのコンパイル以前に、プリコンパイルされる SQL ステートメントの使用。
SQL ステートメントは静的、動的の両方が可能です。DB2 を使用すると、組み込み
SQL アプリケーションを C/C++、COBOL、Fortran、Java(SQLJ)、REXX プログラミン
グ言語でコーディングできます。
•
DB2 コール・レベル・インターフェース(CLI)
X/Open CLI 仕様に基づく呼び出し可能 SQL インタ-フェース。Microsoft 社の Open
Database Connectivity(ODBC)と互換性があります。
•
DB2 アプリケーション・プログラミング・インターフェース(API)
作成、活動化、バックアップ、復元などのデータベース管理タスクを実行する API。
DB2 API は、組み込み SQL や DB2 アプリケーションなどのアプリケーションから呼び
出すことができます。
•
Java 開発キット
Java のアプリケーションやアプレットを開発するためのツールや環境。このキットには
JDBC を使用して Java で作成されるクライアント・アプリケーションやアプレットのた
め の ド ラ イ バ ー ・ サ ポ ー ト が 含 ま れ ま す 。 こ れ は ま た 、 組 み 込 み SQL for Java
(SQLJ)、Java ユーザー定義関数(UDF)、および Java ストアード・プロシージャーも
サポートします。
•
Microsoft Visual Basic および Visual C++
Data Access Object(DAO)および Remote Data Object(RDO)仕様に適合するアプリ
ケーションの開発、および Object Linking and Embedding Database(OLE DB)ブリッジ
または IBM OLE DB Provider for DB2 を使用する ActiveX Data Object(ADO)アプリ
ケーションの開発に利用できるプログラム開発環境
•
IBM またはサード・パーティーのツール
ア プ リ ケ ー シ ョ ン は 、 Net.Data 、 Excel 、 Perl 、 PHP 、 Open Database Connectivity
(ODBC)などのツール、および Lotus Approach やそのプログラミング言語である
LotusScript などのエンド・ユーザー・ツールを使用しても開発できます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
63
DB2 バージョン 8 は、AIX、HP-UX、Linux、Solaris、および Windows オペレーティング・シス
テム向けのコンパイラー、インタープリター、および関連ソフトウェアをサポートします。これ
らの情報およびサポートされるプログラミング環境は、「DB2 のアプリケーション開発ガイド」
の「アプリケーションの構築と実行」、および DB2 UDB バージョン 8 アプリケーション開発
ページ(ibm.com/software/data/db2/udb/ad/)に文書化されています。下の図は、上記のプログラ
ミング・インターフェースのいずれかを使用した DB2 クライアント/サーバーのアーキテク
チャーを示したものです:
図 7.
クライアント/サーバー・アーキテクチャー
クライアント・アプリケーションがデータベースと接続するためには、DB2 Run-Time Client また
は DB2 Administration Client をインストールする必要があります。
DB2 コール・レベル・インターフェース
DB2 CLI は、アプリケーションが動的 SQL を用いて DB2 データベースにアクセスできるように
するプログラミング・インターフェースです。これらのアプリケーションは、C または C++で作
成することができます。DB2 CLI は、組み込み動的 SQL に代わるものです。
動的 SQL に加えて、DB2 CLI には次のような利点があります:
•
移植性 − SQL ステートメントをデータベースにパスするのに、標準の関数セットを
用います。DB2 CLI アプリケーションを実行する前にコンパイルし、リンクする必要が
あるだけで、プリコンパイルやバインドのステップは必要ありません。プリコンパイ
ラーに依存することがなくなります。
•
バインディング不要 − 個々の DB2 CLI アプリケーションを、それが接続するそれぞ
れのデータベースにバインドする必要はありません。すべての DB2 CLI アプリケー
ションについて、DB2 CLI と共に出荷されるファイルを 1 度バインドする必要があるだ
けです。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
64
•
データベースへの複数接続 − DB2 CLI アプリケーションを、同じデータベースへの同
じアプリケーションからの複数接続も含めて複数のデータベースに接続することができ
ます。それぞれの接続は、それぞれのコミット範囲を持ちます。
•
配列フェッチと入力 − 関数は 1 回の呼び出しでデータベースの複数行を配列に取り出
すことができます。SQL ステートメントは、入力変数の配列を用いて何回でも実行する
ことができます。
•
カタログへの一貫性あるインターフェース − 表、列、外部キー、主キー、ユーザー特
権に関するカタログ情報を照会するために、システム間に一貫性のあるインターフェー
スを提供します。
•
拡張データ変換機能 − SQL と C データ・タイプ間のデータの自動コンバージョンを
行います。
•
グローバル・データ域不要 − SQLDA や SQLCA などのアプリケーション制御のため
のグローバル・データ域が不要になりました。その代わり、必要なデータ構造を自動的
に割り振って制御し、アプリケーションがそれを参照できるようにハンドルを与えま
す。
•
ストアード・プロシージャーからの結果セットの検索 − DB2 CLI アプリケーション
は、サーバーにあるストアード・プロシージャーから生成される複数の行と結果セット
を検索することができます。
•
スクロール可能カーソル − 配列出力に関連して用いられるサーバー側スクロール可能
カーソルをサポートします。静的読み取り専用およびキーセット主導スクロール可能
カーソルを宣言することができます。
DB2 CLI ドライバーは、ODBC ドライバー・マネージャーでロードされた時には、ODBC ドライ
バーとしても動作します。これは ODBC 3.51 に準拠しています(詳細については「CLI プログラ
ミング・ガイド」を参照してください)。DB2 CLI は自給自足ドライバーであり、ODBC ドライ
バーが提供する関数のサブセットをサポートします。次の図は、ODBC アプリケーションと DB2
CLI アプリケーションのアーキテクチャーを比較したものです。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
65
図 8.
DB2 CLI と ODBC のアーキテクチャー
DB2 Java 使用可能化
DB2 UDB は、JDBC および SQLJ という標準ベースの 2 つの Java プログラミング API を実装し
ています。DB2 の Java 使用可能化は DB2 Application Development Client に組み込まれており、次
のコンポーネントを備えています。
•
JDBC を使用して Java で書かれたクライアント・アプリケーションおよびアプレットの
サポート
•
SQLJ を使用して Java で書かれたクライアント・アプリケーションおよびアプレットの
プリコンパイルおよびバインディングのサポート
•
Java UDF およびサーバー上のストアード・プロシージャーのサポート
HP-UX 以外のすべてのプラットフォームでアプリケーションおよびツールを実行するには、Java
Runtime Environment(JRE)1.3.1 が必要です。HP-UX では JRE 1.4 が必要です。アプリケーショ
ン開発には Java Development Kit(JDK)が必要です。JRE/JDK 1.4 を必要とする 64 ビットの HPUX および 64 ビットの Solaris を除き、すべてのプラットフォームで JRE/JDK 1.3.1 が必要です。
DB2 バージョン 8 では、タイプ 2、タイプ 3、およびタイプ 4 の JDBC ドライバーが提供されま
す。タイプ 2 およびタイプ 3 のドライバーは、引き続き DB2 CLI インターフェースを使用し
て、DB2 UDB サーバー(OS/400、OS/390、UNIX、Linux、および Windows)と通信します。
JDBC タイプ 2 およびタイプ 3 のドライバーは、sqllib¥java ディレクトリー内の db2java.zip ファ
イルに用意されています。DB2 バージョン 8 では、クライアント/サーバー通信に Distributed
Relational Database ArchitectureTM(DRDA)プロトコルを使用した新しい DB2 JDBC Universal
Driver(タイプ 4)を追加しています。この新しいドライバーは、sqllib¥java ディレクトリー内の
db2jcc.jar ファイルに用意されています。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
66
下記の図は、JDBC アプリケーションがタイプ 2 のドライバーを使用して DB2 とどのように動作
するかを示したものです。JDBC の呼び出しは、Java ネイティブ・メソッドを介して DB2 CLI の
呼び出しに変換されます。JDBC は、DB2 クライアントから DB2 CLI を経由して DB2 サーバー
への流れを要求します。SQLJ アプリケーションは、この JDBC サポートを使用しており、さら
に、プリコンパイルおよびバインディング段階でデータベースにバインドされた SQL パッケー
ジの認証と実行に、SQLJ ランタイム・クラスを必要とします。
図 9.
タイプ 2 ドライバーによる DB2 への Java アプリケ−ションの実装
Sun の JDBC バージョン 2.1 には、コア API とオプショナル・パッケージ API という 2 つの定義
済みパーツがあります。DB2 タイプ 2 の JDBC ドライバーは、JDBC 2.1 コア API をサポートし
ますが、その仕様で定義されているすべてのフィーチャーをサポートするわけではありません。
Updatable ResultSets、新しい SQL タイプ(Array、Ref、Java Object、Struct)、Customized SQL タ
イプのマッピング、Scrollable sensitive ResultSets(ResultSet.TYPE_SCROLL_SENSITIVE のスク
ロール・タイプ)などのフィーチャーはサポートされません。タイプ 2 のドライバーは、オプ
ショナル・パッケージ API のフィーチャーのうち、Java Naming and Directory Interface(JNDI)、
接続プーリング、および Java Transaction API(JTA)をサポートします。
DB2 タイプ 4 JDBC ドライバーは、JDBC 2.1 コア API をサポートしますが、その仕様で定義され
ているすべてのフィーチャーをサポートするわけではありません。Updatable ResultSets、新しい
SQL タイプ(Array、Ref、Java Object、Struct)、および Customized SQL タイプのマッピングなど
のフィーチャーはサポートされません。タイプ 4 のドライバーは、オプショナル・パッケージ
API の JNDI をサポートします。
Java ア プ リ ケ ー シ ョ ン の 開 発 お よ び JDBC 仕 様 の 詳 細 に つ い て は 、
www.ibm.com/software/data/db2/udb/ad/v8/java/にある DB2 Universal Database Java の Web サイトを
参照してください。
Java 2 Platform, Enterprise Edition(J2EE)では、複数層のエンタープライズ・アプリケーション
開発のための標準を定義しています。J2EE プラットフォームは、インフラストラクチャーを管
理し、Web サービスをサポートして、安全かつ堅固で、操作が共通のビジネス・アプリケーショ
ンの開発を可能にします。DB2 JDBC タイプ 2 のドライバーは、WebSphere Application Server と
の使用を認定されている J2EE です。つまり、J2EE の仕様に適合しているということです。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
67
次の図は、3 つの基本パーツ(コンポーネント、コンテナー、コネクター)をすべて備えた IBM
J2EE アプリケーションのモデルを示したものです。
図 10.
J2EE アプリケーション・モデル
組み込み SQL
Microsoft SQL Server 2000 は、C 言語用プリコンパイラー、C 言語開発環境用 Microsoft Embedded
SQL(ESQL/C)を提供します。
DB2 は、プリコンパイラーを通じて、C、C++、COBOL、および FORTRAN のプログラミング言
語をサポートします。また、REXX 言語(動的インタープリターを介して)および Java 言語も
サポートします。
ESQL/C には、Microsoft SQL Server とアプリケーション間で通信を行うためのデータ構造
SQLCA が備わっており、SQLCODE および SQLSTATE の両フィールドをアプリケーション変数
として明示的に宣言することができます。ESQL/C を使用すると、若干の例外はありますが、す
べての Transact-SQL ステートメント、関数、および流れ管理言語を組み込み SQL で使用するこ
とができます。ESQL/C では、ANSI/ISO SQL および Transact-SQL のトランザクション・モード
が使用できます。後者は、save transaction または begin transaction ステートメントを提供しま
す。ESQL/C では、アプリケーション・プログラムと、ユーザー名およびパスワードが与えられ
ている特定のデータベース間の接続を確立する際に connect ステートメントが使用されます。
DB2 プリコンパイラーを使用する際に、SQLSTATE および SQLCODE の両フィールドを変数と
して宣言するためには、LANGLEVEL プリコンパイル・オプションを SQL92E に設定します。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
68
DB2 SQL と Transact-SQL の拡張子は異なります。Transact-SQL ステートメントの中には DB2
UDB で無効なものもあります。DB2 は、すべてのプログラミング API に対して ANSI/ISO SQL
トランザクション・モードを採用します。トランザクションは、実行可能な最初の SQL ステー
トメントにより暗黙的に開始され、commit ステートメントか rollback ステートメントのいずれか
によって、またはプログラムの終了時に終了します。Connect ステートメントは DB2 UDB でも
使用できますが、構文が若干異なります。つまり、データベース名の指定は必須ですが、ユー
ザーの指定はオプションです。
プログラミング API
Microsoft SQL Server 2000 は、Windows オペレーティング・システム用のクライアント・アプリ
ケーションを作成するために、C 言語用 DB-Library API、Microsoft Visual Basic および Microsoft
Visual C++用 DAO、および Microsoft Visual Basic 用 ADO および RDO を提供します。
ODBC SQL Server ドライバーを使用してデータベース・サーバーに接続する ODBC クライアン
ト/サーバー・アプリケーションを作成するために、C、C++、および Microsoft Visual Basic 用の
ODBC API も提供されます。ODBC Driver は、ODBC 3.51 仕様および ODBC 2.5 または 3.51 仕様
の定義に従っているそれ以前のバージョンをサポートします。
Microsoft SQL Server Database Services API には、サーバー管理プログラムを作成するための SQL
Distributed Management Objects(DMO)
、クライアント/サーバー・システム用のサーバー・アプ
リケーションまたは拡張ストアード・プロシージャーを作成するための Open Data Services、分
散トランザクションを定義するための Distributed Transaction(MS DTC)、および複雑なデータ形
式変更を実行するための Data Transformation Services(DTS)があります。Meta Data Services は、
メタデータを保管するためのものであり、OLAP およびデータウェアハウジングなどのツールや
アプリケーションと統合するように設計されています。Analysis Services API は、アプリケー
ションに OLAP およびデータ・マイニング機能へのアクセスを提供します。
Microsoft Visual Studio .NET Framework Class Library には System.Data namespace が入っています。
これは主に、アプリケーションによる複数のデータ・ソースからのデータの管理を可能にするク
ラスで構成されています。この namespace には、SQL Server .NET Data Provider および OLE
DB .NET Data Provider が入っており、これらによってデータ・ソースへの直接アクセスが可能に
なります。それぞれの.NET データ・プロバイダーには、データ・ソースおよび DataSet コンポー
ネント間のブリッジとして使用可能な、対応する DataAdapter があります。
Microsoft SQL Server 2000 には、WMI アプリケーションによる、SQL Server のデータベースおよ
びインスタンスに関する情報の入手を可能にする SQL Server WMI プロバイダーが組み込まれて
います。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
69
DB2 UDB は、Microsoft Visual Basic および Microsoft Visual C++で作成されたアプリケーション、
Microsoft OLE DB to ODBC Bridge または IBM OLE DB Provider for DB2 を使用して、Data Access
Object(DAO)および Remote Data Object(RDO)仕様に従ったデータベース・アプリケーショ
ンをサポートします。
IBM OLE DB Provider for DB2(プロバイダー名は IBMDADB2)を使用すると、OLE DB の消費
者は、DB2 サーバーのデータにアクセスできます。このサポートにより、OLE インターフェー
スを使用して DB2 データの抽出または照会を行う機能が OLE DB ベースのアプリケーションに
提供されます。DB2 Connect がインストールされている場合には、これらの OLE DB 消費者は、
DB2 for MVS、DB2 for VM/VSE、SQL/400 などのホスト DBMS のデータにもアクセスできま
す。IBM OLE DB Provider for DB2 は、Microsofot OLE DB のバージョン 2.5 の仕様に従っていま
す。
DB2 CLI は、クライアント・アプリケーションおよびサーバー・アプリケーションの両方のプロ
グラム作成に使用できる、呼び出し可能な SQL インターフェースです。同一のアプリケーショ
ンを、Intel または UNIX プラットフォーム上の DB2 UDB に対して実行する場合にはソースを変
更する必要がないため、1 つの基本コードで複数のプラットフォームをサポートできます。DB2
CLI ドライバーは、ODBC 3.51 に準拠します。DB2 CLI は ODBC 3.51 の機能に従っているため、
ほとんどの場合のテストでアプリケーションの変換が軽減されます(サポートされる API を列記
した表については、「DB2 CLI 対 ODBC の機能マップ」のセクションを参照してください)。
データベースの作成、活動化、バックアップ、リストアなどのデータベース管理タスクを実行す
るために、DB2 CLI または組み込み SQL アプリケーションからの DB2 API がサポートされま
す。
DB2 は ODBC および OLE DB をサポートしているため、OLE DB .NET Data Provider および
ODBC .NET Data Provider は Microsoft Visual Studio .NET アプリケーションから DB2 データベース
に直接アクセスできます。さらに、IBM は、IBM のオープン・ストラテジーの一部として、
Microsoft Corp.の Visual Studio .NET Integration Program(VSIP)と結合したことを昨年発表しまし
た。この VSIP のサポートにより、開発者は、アプリケーション開発に .NET Framework を使用
し、データベース・サーバーとして DB2 を使用することができます。DB2 は、エンタープライ
ズ・データにアクセスし、ビジネス・ロジックを直接データベースに配置するための統一された
インターフェースを備えることになるため、DB2 および Microsoft Visual Studio .NET とのシーム
レスな統合が確保されます。
DB2 バージョン 8 WMI プロバイダーにより、WMI アプリケーションは、DB2 サーバー・サービ
スのモニター、データベースの列挙と作成、運用設定の構成、およびデータベースのバックアッ
プ、リストア、ロールフォワードの各操作の実行が可能になります。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
70
静的または動的な組み込み SQL、DB2 CLI、または JDBC の中に DB2 外部ストアード・プロ
シージャーをコーディングすることができます。組み込み SQL は、C、C++、COBOL、Fortran、
および Java(SQLJ)などの 3GL オプションをいくつか提供します。DB2 UDB バージョン 7.2 以
降は、Microsoft Visual Basic でも作成できます。詳細については、「インプリメンテーションの相
違点」のセクションの「ストアード・プロシージャー」の項を参照してください。
DB2 トランザクション・マネージャーを使用するアプリケーションでは、複数データベースの更
新に必要なことは接続タイプ 2 を使用することだけです。DB2 がサポートする他の XA 準拠のト
ランザクション・マネージャー(IBM TXSeriesTM CICS、IBM TXSeries Encina、BEA Tuxedo、
Microsoft Transaction Server など)を使用すると、そのトランザクション・マネージャーが提供す
る正規の API を使用してアプリケーションのプログラムを作成することができます。
DB2 OLAP Server のデスクトップ・グラフィック・インターフェースを使用すると、リレーショ
ナル・データ・ソースを OLAP 構造に容易にマッピングして、OLAP アプリケーションを作成す
ることができます。Information Catalog Manager は、組織内のデータの発見を支援し、information
catalog データベースを使用して、データ(メタデータ)に関する情報を保管します。Information
Catalog Manager は、アプリケーションのプログラム作成用に C 言語 API 呼び出しを提供しま
す。
これらのプログラミング・インターフェースは、いずれも大きく異なりますが、アプリケーショ
ンを DB2 に移植する労力は、変換ツール(本文書の「変換ツール」セクションを参照してくだ
さい)を使用することで大幅に削減できます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
71
用語マップ
以下の表は、DB2 UDB の管理に関する基本的な用語と、Microsoft SQL Server が使用する同等の
用語とを比較したものです。
DB2 Universal Database
Microsoft SQL Server
物理層
表スペース
ファイル・グループ
SMS 表スペース
FILEGROWTH > 0 のデータベース・ファイル
DMS 表スペース
SIZE > 0、FILEGROWTH = 0 のデータベース・ファイル
コンテナー(ローまたはファイル)
データベース・ファイル(ローまたはオペレーティング・シ
ステム・ファイル)
論理層
サーバー
サーバー
インスタンス(1 つまたは複数。各インスタンスが 1 つまた
は複数のデータベースを管理する)
該当なし
データベース
データベース
データベース・ディレクトリー(DB2 が作成)
SQL Enterprise Manager レジストリー
ノード・ディレクトリー(DB2 が作成)
SQL Enterprise Manager レジストリー
Database Manager 構成ファイル
Windows NT Registry
データベース構成ファイル
Windows NT Registry
カタログ表
システム・テーブル(マスター・データベースおよびデータ
ベース)
データベース・オブジェクト
スキーマ
スキーマ
表
表
表制約
ルールおよび表制約
ビュー
ビュー
索引
索引
リカバリー・ログ
トランザクション・ログ
アーカイブ・ログ
トランザクション・ログ・ダンプ
ユーザーおよびユーザー・グループ(オペレーティング・シ
ステム)
NT のユーザーおよびグループ、データベースのユーザー、
グループ、および役割
パッケージ
該当なし
サンプル・データベース(呼び出されるサンプル)
サンプル・データベース(呼び出されるパブ)
管理/使用
コントロール・センター
Microsoft 管理コンソール、SQL Enterprise Manager
表スペースに割り当てられる表、表スペースに割り当てられ
るコンテナー
ファイル・グループに割り当てられる表、ファイル・グルー
プにまとめられるデータベース・ファイル
管理コマンドおよびステートメント
システム・ストアード・プロシージャー
バインディング(使用可能となるように DB2 ユーティリ
ティーまたはプログラムをデータベースにバインドします)
該当なし
バックアップ・データベース
バックアップ・データベース
アーカイブ・オンライン・ログ・ファイル
バックアップ・ログ
パックアップからのリストア
リストア・データベース
ロールフォワード・リカバリー
リストア・ログ
クラッシュ・リカバリー
自動リカバリー
実行統計
Update 統計、Create 統計
ロード、インポート、エクスポート
bcp
コマンド・プロセッサー、Visual Explain
SQL Server Query Analyzer
コマンド行プロセッサー(CLP)
ISQL
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
72
DB2 CLI 対 ODBC 関数のマップ
以下の表は、2 つのレベルのサポートを要約したもので、ODBC 3.51 の関数の全リストを記し、
それらがサポートされるかどうかを示しています。
ODBC フィーチャー
DB2 ODBC ドライバー
DB2 CLI
コア・レベルの関数
すべて
すべて
レベル 1 の関数
すべて
すべて
レベル 2 の関数
すべて
すべて(SQL Driver() を除く)
追加の DB2 CLI 関数
すべて。DB2 CLI ライブラリーを動的
にロードすることで、関数にアクセス
できます。
SQL データ・タイプ
DB2 CLI に対してリストされているす
べてのタイプ
SQLSetConnection()
SQLGetEnvAttr()
SQLSetEnvAttr()
SQLSetColAttributes()
SQLGetSQLCA()
SQLBindFileToCol()
SQLBindFileToParam()
SQLExtendedBind()
SQLExtendedPrepare()
SQLGetLength()
SQLGetPosition()
SQLGetSubString()
SQL_BIGINT
SQL_BINARY
SQL_BLOB
SQL_BLOB_LOCATOR
SQL_CHAR
SQL_CLOB
SQL_CLOB_LOCATOR
SQL_DBCLOB
SQL_DBCLOB_LOCATOR
SQL_DECIMAL
SQL_DOUBLE
SQL_FLOAT
SQL_GRAPHIC
SQL_INTEGER
SQL_LONG
SQL_LONGVARBINARY
SQL_LONGVARCHAR
SQL_LONGVARGRAPHIC
SQL_NUMERIC
SQL_REAL
SQL_SHORT
SQL_SMALLINT
SQL_TINYINT
SQL_TYPE_DATE
SQL_TYPE_TIME
SQL_TYPE_TIMESTAMP
SQL_VARBINARY
SQL_VARCHAR
SQL_VARGRAPHIC
SQL_WCHAR
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
73
ODBC フィーチャー
DB2 ODBC ドライバー
DB2 CLI
C データ・タイプ
DB2 CLI に対してリストされているす
べてのタイプ
戻りコード
DB2 CLI に対してリストされているす
べてのコード
SQL_C_BINARY
SQL_C_BIT
SQL_C_BLOB_LOCATOR
SQL_C_CHAR
SQL_C_CLOB_LOCATOR
SQL_C_DATE
SQL_C_DBCHAR
SQL_C_DBCLOB_LOCATOR
SQL_C_DOUBLE
SQL_C_FLOAT
SQL_C_LONG
SQL_C_SHORT
SQL_C_TIME
SQL_C_TIMESTAMP
SQL_C_TINYINT
SQL_C_SBIGINT
SQL_C_UBIGINT
SQL_C_NUMERIC **
SQL_SUCCESS
SQL_SUCCESS_WITH_INFO
SQL_STILL_EXECUTING
SQL_NEED_DATA
SQL_NO_DATA_FOUND
SQL_ERROR
SQL_INVALID_HANDLE
SQLSTATES
追加の IBM SQLSTATES を用いて
X/Open SQLSTATES にマップされる
(ODBC タイプ 08S01 を除く)
追加の IBM SQLSTATES を用いて
X/Open SQLSTATES にマップされる
アプリケーション当たり複数の接続
サポートされる
サポートされる
ドライバーの動的ロード
サポートされる
該当なし
** Windows プラットフォームのみでサポートされる
以下の表は、DB2 分離レベルを ODBC トランザクション分離レベルにマップしたものです。
IBM 分離レベル
ODBC 分離レベル
カーソル固定
SQL_TXN_READ_UNCOMMITTED
反復可能読み取り
SQL_TXN_REPEATABLE_READ
読み取り固定
SQL_TXN_SERIALIZABLE_READ
非コミット読み取り
SQL_TXN_READ_COMMITTED
注: SQLSetConnectAttr()および SQL SetStmtAttr() では、サポートされない分離レベルを設定しようとすると、SQLSTATE が
HY009 の SQL_ERROR が戻されます。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
74
変換ツール
データベース・アプリケーションを変換する場合の最も一般的な方法は、手作業による変換、動
的呼び出しトランザクション、および自動変換です。通常、変化ツールは、ソース・コードを取
り込み、データ管理呼び出しを同等の SQL 呼び出しに変換します。ソースおよびターゲット・
データベースの情報だけでなく、プログラム・コードの情報も使用して、新しい SQL ステート
メントが作成されます。ツールの中には、エキスパート・システムを使用して、元のデータベー
スと新規データベースを相互参照することにより、生成される SQL ステートメントに関する決
定を下すものもあります。
IBM DB2 Migration Toolkit(MTK)
MTK は、サポートされているすべての DB2 UDB ワークステーション・プラットフォーム上
で、Oracle、Sybase、および Microsoft SQL Server(バージョン 6 および 7)のデータベースから
DB2 UDB バージョン 7.2 およびバージョン 8.1 のデータベースへのマイグレーションを支援しま
す。またこのツールキットは、DB2 UDB Server for OS/390 and z/OS、および DB2 UDB for AS/400
へのマイグレーションを支援することもできます。このツールキットは、AIX、Linux、Sun
Solaris、Windows NT、および Windows 2000 で稼働します。使用可能な言語は英語だけです。
図 11.
Toolkit メニュー
このツールキットには、次のフィーチャーが備わっています。
•
単純なデータベースをマイグレーションするためのウィザード
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
75
•
複雑なデータベース変換のためのマイグレーションおよび調整オプションをさらに詳細
化するためのフル機能の GUI インターフェース(Toolkit)
•
マイグレーションのソースは、データベースのデータ・ソースでも DDL スクリプトで
もかまいません
•
Transact-SQL または PL/SQL オブジェクト定義(ストアード・プロシージャー、ユー
ザー定義関数、トリガー、パッケージ、表、ビュー、索引およびシーケンスを含む)を
変換します
•
Transact-SQL または PL/SQL スクリプトを DB2 スクリプトに変換します
•
スクリプトを生成して、実行し、ソースからデータをアンロードし、データを DB2 に
アップロードします
•
詳細なマイグレーション・ログ・ファイルおよびレポートを使用して、オブジェクト変
換およびデータ移動の状況を追跡します(エラー・メッセージ、エラー・ロケーショ
ン、および DDL 変更レポートを含む)
MTK のマイグレーション・プロセスはプロジェクトをベースにしており、以下のステップから
構成されています。
•
プロジェクトを作成する。
•
ソース(ODBC DSN または SQL スクリプト)を指定する。
•
変換 − DB2 スクリプトを生成し、エラー・メッセージを報告する。
•
詳細化 − ユーザーは、エラーを修正したりオブジェクトの名前を変更したりするため
に SQL ステートメントを変更し、修正が終了した後で、その変更内容を適用するため
に変換に戻る必要があります。
•
Data Transfer スクリプトを生成する。
•
DB2 への配置 − 前のステップで生成されたスクリプトを使用して、データベースを
作成するかまたは既存のデータベースに接続し、データベース・オブジェクトを作成
し、オプションでデータをロードする。
MTK は、www.ibm.com/software/data/db2/migration/mtk/からの相補的ダウンロードに利用できま
す。
DB2 Developer(DB2DD)ライブラリーには、DB2 トピックへのマイグレーションに関する資
料、特に MTK についてのチュートリアルおよび技術に関する論文の記載が多数入っています。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
76
•
IBM DB2 Migration Toolkit を使用したサンプル・データベースのマイグレーション・
チュートリアル。このチュートリアルは、MTK を使用した、Microsoft SQL Server DDL
スクリプトから DB2 データベースへのデータベース・モデルの変換を具体的に説明し
ています。変換されたオブジェクトには、ストアード・プロシージャーが組み込まれま
す。
www7b.boulder.ibm.com/dmdd/library/tutorials/0209jarzebowicz/index.html
•
IBM DB2 Migration Toolkit を使用した DB2 への切り替えの自動化。この技術論文で
は、MTK がどのように動作するかを説明しています。
www7b.software.ibm.com/dmdd/library/techarticle/0209jarzebowicz/0209jarzebowicz.html
AllFusion Erwin Data Modeler
この製品は、データベース、データウェアハウス、およびエンタープライズ・データ・モデルの
設計、作成および保守を支援するデータベース・モデリング・ツールです。論理モデルは、ビジ
ネス・ルールと共にデータベースを定義し、物理モデルはターゲット・データベースを表しま
す。このツールを使用すると、データベースの構造、キー・エレメント、およびデザインが目で
見えるようになります。このツールは、DB2 および Microsoft SQL Server などの優れたデータ
ベース用に、表、ストアード・プロシージャー、およびトリガー・コードを自動的に生成しま
す。
また ERwin を使用すると、DDL スクリプトまたは既存データベースを使用して、データベー
ス・オブジェクトのリバース・エンジニアリングを行うこともできます。物理モデルを使用する
ことにより、ユーザーは、別のターゲット・データベースを選択し、各ターゲットに対して
DDL スクリプトを生成することができます。このフィーチャーを使用すると、異なるデータ
ベースおよびバージョンの DDL スクリプトを容易にサポートできるようになります。
詳細については、Computer Associates International Inc.(www3.ca.com)にお問い合わせくださ
い。
Data Junction
Data Junction は、DB2 データのマイグレーションおよびアプリケーション統合のための変換ツー
ルを提供します。これは、DB2 と他のデータ形式(Microsoft SQL Server など)間で機能する、
データ変換の構築およびテストのための視覚的設計ツールです。Microsoft SQL Server は、ネイ
ティブ API、Massive Insert API および bcp コマンドを介してサポートされます。
Data Junction を用いて設計されたプロジェクトおよび変換は DJEngine で実行できます。この
ツールは、データ変換をオンデマンドでまたは予定どおりに実行します。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
77
グラフィック・インターフェースにより、ソースとターゲット間のマッピングおよび変換ルール
を定義することができます。これによりデータ・タイプの違いが明らかになり、各種のフィル
ターを設定して、変換処理中にターゲットの列を動的に変更することができます。
詳細については、Data Junction Corporation(www.datajunction.com)にお問い合わせください。
Embarcadero Technologies
この会社は、データベースの管理、設計、開発のための製品を提供しています。その製品の一部
を以下に示します。
•
Data Voyager − Java および Web ベースのアプリケーションを生成し、配置します。リ
レーショナル・データベース内のデータの管理を行います。
•
DBArtisan − より高い可用性、パフォーマンス、およびセキュリティーを達成するた
めに、企業全体にわたってデータベースを管理します。
•
Embarcadero SQL Debugger − アプリケーションのデータベース・ロジックに関するエ
ラーを分離し、訂正します。DBArtisan および Rapid SQL に組み込まれています。
•
Embarcadero SQL Tuner − データベース・ロジックのトラブルシューティングおよび再
作成を行って、アプリケーションのパフォーマンスを高めます。
•
ER/Studio − より高いパフォーマンスおよび品質を確保するためにデータベースおよ
びデータウェアハウスの設計、文書化、および保守を行います。データベース・オブ
ジェクト(DDL)のリバース・エンジニアリングを行います。
•
ER/Studio Repository − モデリング・チーム・メンバーに作業を分散します。
•
Rapid SQL − アプリケーションのデータベース・ロジックの作成、デバッグ、および
調整を行います。
詳細については、Embarcadero Technologies(www.embarcadero.com/products/products.asp)にお問
い合わせください。
SQL Conversion Workbench(SQL-CW)
現在使用可能な自動ツールの 1 つに SQL conversion workbench があります。Mantech Systems
Solutions Corporation(MSSC)から出されているこの PC ベースのツールキットは、種々のデー
タベースおよび関連するアプリケーションを、サポートされる任意のプラットフォーム上の DB2
UDB ファミリー内の任意のデータベースに変換することを容易にします。Microsoft SQL Server
バージョン 7 は、サポートされるデータベース管理システムの 1 つです。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
78
SQL- CW ツールには、以下の機能があります。
•
コストと作業量を見積もるために、ソース・データベースの測定基準を提供する。
•
ターゲット・データベースの設計およびデータ定義の変更を可能にする。
•
ターゲット・データベースに対する DDL スクリプトを生成する。
•
データをアンロードし、ロード・スクリプトを作成する。
•
コードのリエンジニアリングを可能にする。
•
ストアード・プロシージャーおよびトリガーのためのプロシージャー・コードを生成す
る。
•
DB-Lib、Client-Lib、および E-SQL アプリケーションのためのアプリケーション・コー
ドを生成する。
詳細については、MSSC(www.mssc-mantech.com/products/products.html)にお問い合わせくださ
い。
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
79
リソースおよびリファレンス
DB2 Universal Database バージョン 8 の資料
新機能
DB2 Personal Edition 概説およびインストール
DB2 サーバー機能 概説およびインストール
管理ガイド:プランニング
管理ガイド:インプリメンテーション
アプリケーション開発ガイド:アプリケーションの構築および実行
アプリケーション開発ガイド:サーバー・アプリケーションのプログラミング
コール・レベル・インターフェースのガイドおよびリファレンス第 1 巻および第 2 巻
コマンド・リファレンス
DB2 データウェアハウス・センター管理ガイド
管理および開発における GUI ツール・ガイド
SQL リファレンス第 1 巻および第 2 巻
レプリケーションのガイドおよびリファレンス
DB2 Universal Database V7.1 for UNIX, Linux, Windows and OS/2 DBA Certification
著者
発行元
George Baklarz、Bill Wong
Prentice Hall:ISBN:0-13-091366-9、IBM 資料番号:SC09-4255-00
DB2 Universal Database V7.1 Application Development Certification
発行元
Sanyal、Gashyna、Martineau、Kypriano
資料オーダー番号:Prentice Hall:ISBN:0-13-091367-7、IBM 資料番号:SC09-4254-00
DB2:The Complete Reference
著者 Roman B. Melnyk、Paul C. Zikopoulos
発行元
McGraw-Hill:ISBN 0-07-213344-9
Microsoft SQL Server 2000 オンライン・マニュアル
What’s New?
SQL Server Architecture
Creating and Maintaining Databases
Replication
Building SQL Server Applications
DB2 Migration Toolkit 資料
Conversion reference guide
Migration Toolkit online help
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
80
AllFusion Erwin Data Modeler Brochure , Fact Sheet and Product Announcement
発行元
Computer Associates International, Inc.
公開場所 www3.ca.com/Solutions/Product.asp?ID=260
Data Junction Technical Overview
公開場所
www.datajunction.com/products/dj_technical.html、および
www.datajunction.com/products/matrix_formats_1.html
Embarcadero Technologies
製品の概要:www.embarcadero.com/products/products.asp
SQL Conversion Workbench User's Guide
著者
Allyson Hart Benavides
発行元
Mantech System Solutions Corporation, 1998. No. 986ASQL-CW
詳細情報
DB2 ファミリー
www.ibm.com/software/data/db2
DB2 製品およびサービス技術ライブラリー
www.ibm.com/software/data/db2/library
DB2 メインテナンス
www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/download.d2w/report
ftp://ftp.software.ibm.com/ps/products/db2/fixes/<language>/<platform>/<FixPak#>
データ管理スキルのページ
www.ibm.com/software/data/education.html
DB2 の Web ページ
www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/db2web.d2w/report
DB2 マイグレーションの Web サイト
www.ibm.com/software/data/db2/migration
DB2 デベロッパー・ドメイン・ライブラリー
www.ibm.com/software/data/developer
DB2 Today
www.ibm.com/software/data/db2today/
IBM PartnerWorld for Developers Program
www.developer.ibm.com/
Microsoft SQL Server 2000 から DB2 UDB バージョン 8 への移植
81
Fly UP