マジックソフトウェア・ジャパン
株式会社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では、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
この変更に関連して、次のような条件が重なったときに、「データベースに ・・・ という名前のオブジェクトが既に存在します」というエラーが出ます。
この問題を回避するには、テーブル特性/オーナ名 に、スキーマ名 dbo を明示的に指定してください。
MS SQL Server 2005 では、新たに READ COMMITTED SNAPSHOT および SNAPSHOT という二つの分離レベルがサポートされるようになりました。
Magic でこれらのレベルを利用することについては、現時点でまだ十分に評価を行っていないためサポート外としておりますが、次のようなことがわかっています。
ALTER DATABASE データベース名 SET READ_COMMITTED_SNAPSHOT ON
SNAPSHOT 分離レベルについては、以下のような問題があり、現状は制限事項です。
SET TRANSACTION ISOLATION LEVEL SNAPSHOT