マジックソフトウェア・ジャパン
株式会社2006年3月

MS-SQL Server 2005 利用時の注意事項

MS SQL Server データベースゲートウェイ  Ver9.4 SP6a-1


本書は、MS SQL Server データベースゲートウェイ  Ver9.4 SP6a-1 について、Microsoft SQL Server 2005 を利用した場合の注意事項について説明します。

動作環境

本ゲートウェイは、下記の環境でサポートされています。

Magic バージョン Magic V9 Plus Ver 9.40J SP6a。これ以前のバージョンでは正しく動作しません。
OS Magic V9 Plus Ver 9.40J SP6aの動作する環境。ただし、MS-SQL Server 2005 を利用する場合には、MS-SQL Server 2005の必要システム要件を満たす必要があります。特に、Windows 98SEはサポート外となります。
DBMS Magic V9 Plus Ver 9.40J SP6aがサポートするMS-SQLの各バージョンに加え、Microsoft SQL Server 2005 各エディション。ただし、MS-SQL Server2005 はx86版のみをサポートしています。

既存機能に関する互換性

以下の環境で互換性に関する動作確認を行いました。

Magic バージョン Magic V9 Plus Ver 9.40J SP6a
サーバOS Microsoft Windows 2003 Enterprise Edition (SP1)
クライアントOS Microsoft Windows XP Professional Edition (SP2)
DBMS Microsoft SQL Server 2005 Developer Edition (x86)

その結果、MS SQL Server 2000 と互換機能に関する範囲では、以下に示す以外には問題は特に見つかりませんでした。

MS SQL Server 2005の仕様変更に伴う注意点

ヒント構文の変更

MS SQL Server 2005では、SELECTステートメントに付加されるテーブルヒントは WITH キーワードと一緒に指定するように変更されました。

参考: 詳細は以下のURLを参照してください: http://msdn2.microsoft.com/ja-jp/library/ms187373.aspx

アプリケーション開発者が テーブル特性/ヒント、およびインデックス特性/ヒントにヒントを設定する際、WITH を付けずに指定していると、リンクジョインを使ったプログラムを実行する際に 「・・・ 付近に不適切な構文があります。・・・」というエラーが出ることがあります。

この問題を回避するには、MS SQL Server 2005 の構文に従い、WITH と 括弧およびコンマを付けた形式のヒントに変更してください。

ユーザとスキーマの分離

MS SQL Server 2000 までは、スキーマとユーザが同一だったが、MS SQL Server 2005より分離されました。これによって、テーブルやプロシジャーなどのオブジェクトの完全修飾名は 「サーバ名.データベース名.オーナ名.テーブル名」から「サーバ名.データベース名.スキーマ名.テーブル名」に変更されました。

参考: 詳細は以下のURL を参照: http://msdn2.microsoft.com/ja-jp/library/ms190387(ja-jp,SQL.90).aspx

この変更に関連して、次のような条件が重なったときに、「データベースに ・・・ という名前のオブジェクトが既に存在します」というエラーが出ます。

  1. MS SQL Server 2005のデータベースに、既存の dbo ユーザ以外にアプリケーションのためのユーザがあり、デフォルトスキーマが規定値のdboである。
  2. Magic のデータベース特性/ユーザとして、このユーザが指定されている。
  3. Magic のデータベース特性/存在チェックが Yes である。
  4. アプリケーションのテーブルのテーブル特性/オーナ名が空欄である。

この問題を回避するには、テーブル特性/オーナ名 に、スキーマ名 dbo を明示的に指定してください。

MS SQL Server 2005 で追加された分離レベルの利用について

MS SQL Server 2005 では、新たに READ COMMITTED SNAPSHOT および SNAPSHOT という二つの分離レベルがサポートされるようになりました。

Magic でこれらのレベルを利用することについては、現時点でまだ十分に評価を行っていないためサポート外としておりますが、次のようなことがわかっています。

READ COMMITTED SNAPSHOT 分離レベルについて

SNAPSHOT 分離レベルについて

SNAPSHOT 分離レベルについては、以下のような問題があり、現状は制限事項です。