ホーム > Magic xpa > 動作確認レポート

サイト内検索

Magic uniPaaS V1Plus によるMicrosoft SQL Server 2008 R2 の動作確認レポート

マジックソフトウェア・ジャパン株式会社
ソリューション本部 技術部
2010/10/27

動作確認レポート

はじめに

このドキュメントは、Magic uniPaaS V1PlusによるMicrosoft SQL Server 2008 R2 (MSSQL Server 2008R2) の動作確認テストの結果について記述したものです。

対象

  • Magic uniPaaS Version 1.8 SP1b PT1/PT2
  • Magic uniPaaS MSSQL データベースゲートウェイ : MGMSSQL.dll(Version 1.8 sp1a PT1-0)

動作環境

クライアント
  • CPU :Intel Core i5 750 2.67 GHz
  • メモリ:2GB
  • OS:Windows 7 Professional
  • クライアントモジュール: Microsoft SQL Server 2008 R2 Native Client クライアント
  • Magic uniPaaS V1Plus + MGMSSQL.dll
サーバ
  • CPU :Intel(R) Xeon(R) L5520 nbsp;2.27 GHz
  • メモリ:8GB
  • OS:Windows Server 2008 R2 Standard
  • Microsoft SQL Server Standard Edition (64-bit) Version 10.50.1600.1

検証結果

MS SQL Server 2000/2005 で動作可能なアプリケーションで検証した結果、その互換レベルにおきまして、正常に動作することを確認いたしました。

留意事項

MS SQL Server 2008 R2の新機能、仕様変更に関して、本モジュールにおきましてサポート対象外とさせていただきます。

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

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

分離レベル

MS SQL Server 2005より、READ COMMITTED SNAPSHOT および SNAPSHOT の二つの分離レベルがサポートされました。
Magic でこれらのレベルを利用する場合、次の動作を確認しております。

READ COMMITTED SNAPSHOT
  • READ COMMITTED SNAPSHOT 分離レベルは、以下のコマンドによりデータベースのプロパティを変更してから、Magic の DBMS特性/分離レベル に 1 を設定します。

    ALTER DATABASE データベース名 SET READ_COMMITTED_SNAPSHOT ON

  • このレベルの利用に関して、現在既知の問題はありません。
SNAPSHOT
  • SNAPSHOT 分離レベルは、Magic の DBMS特性/分離レベル では設定できません。埋め込みSQL文によって、直接以下のステートメントを実行する必要があります。最初に一度実行すれば、そのセッション内で設定が有効になります。

    SET TRANSACTION ISOLATION LEVEL SNAPSHOT

  • SNAPSHOT 分離レベル実行時に、同一のレコードに対してレコードの更新・削除を行おうとすると、「(ホスト名): 更新の競合により、スナップショット分離トランザクションが中断しました・・・」というエラーが出て、トランザクションがアボートすることがあります。
Uniqueidentifier型
Uniqueidentifier型のカラムにレコードを挿入する場合は、{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}というデータ形式を指定するか、埋め込みSQLタスクで insert into テーブル名 value (NEWID() ...);などのSQL文を実行します。

参考:Magic eDeveloper V10 によるMicrosoft SQL Server 2008 の動作確認

以上

動作確認レポートを閉じる