Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere 11 - 変更点とアップグレード » バージョン 11.0.0 の新機能 » SQL Anywhere

 

SQL Anywhere の動作の変更

次に、SQL Anywhere バージョン 11.0.0 での動作の変更を、カテゴリごとに示します。

  • カタログの変更   次の表は、バージョン 11.0.0 でのカタログの変更点を示しています。

    これらの変更点を使用するには、データベースをアップグレードする必要があります。SQL Anywhere のアップグレードを参照してください。

    テーブル名とビュー名 変更点の説明 その他の情報
    ISYSTAB/SYSTAB
    • 新しいカラム dbspace_id が追加されました。既存の file_id カラムは最終的にこのカラムよって置き換えられます。

    • file_id カラムは推奨されなくなりました。今後は dbspace_id を使用してください。グローバル・テンポラリ・テーブルでは、SYSTAB.file_id はシステム DB 領域ではなく、テンポラリ DB 領域を指すようになりました。

    • テーブルを変更したトランザクションのシーケンス番号を格納する last_modified_tsn という新しいカラムが追加されました。

    SYSTAB システム・ビューを参照してください。
    ISYSIDX/SYSIDX
    • 新しいカラム dbspace_id が追加されました。既存の file_id カラムは最終的にこのカラムよって置き換えられます。

    • file_id カラムは推奨されなくなりました。今後は dbspace_id を使用してください。

    SYSIDX システム・ビューを参照してください。
    ISYSFILE このシステム・テーブルは推奨されなくなりました。lob_map を除くすべてのカラムは新しい ISYSDBSPACE システム・テーブルにあります。lob_map カラムは新しい ISYSDBFILE システム・テーブルにあります。 次の項を参照してください。
    ISYSDBFILE/SYSDBFILE DB 領域に関する情報を格納するための新しいテーブルです。 SYSDBFILE システム・ビューを参照してください。
    ISYSDBSPACE/SYSDBSPACE DB 領域に関する情報を格納するための新しいテーブルです。 SYSDBSPACE システム・ビューを参照してください。
    SYSDBSPACEPERM/ISYSDBSPACEPERM DB 領域のパーミッションを格納するための新しいテーブルです。 SYSDBSPACEPERM システム・ビューを参照してください。
    ISYSOBJECT/SYSOBJECT file_id カラムの名前が dbspace_id に変更されました。また、object_type カラムに 17 (テキスト設定) と 18 (DB 領域) の 2 つの新しい値を格納できるようになりました。 SYSOBJECT システム・ビューを参照してください。
    SYSINDEXES 外部キーとプライマリ・キーのインデックスを他のインデックスと区別するために、indextype フィールドでそれぞれ「外部キー」および「プライマリ・キー」と識別されるようになりました。 SYSINDEXES 統合ビューを参照してください。
    ISYSCAPABILITYNAME このテーブルはカタログに含まれなくなりました。対応する SYSCAPABILITYNAME システム・ビューはまだ使用できますが、サーバ・プロパティを使用して生成されます。 SYSCAPABILITYNAME システム・ビューを参照してください。
    ISYSEVENTTYPE このテーブルはカタログに含まれなくなりました。対応する SYSEVENTTYPE システム・ビューはまだ使用できますが、サーバ・プロパティを使用して生成されます。 SYSEVENTTYPE システム・ビューを参照してください。
    ISYSVIEW マテリアライズド・ビューをリフレッシュしたトランザクションのシーケンス番号を格納する mv_last_refreshed_tsn という新しいカラムが追加されました。 SYSVIEW システム・ビューを参照してください。
    ISYSLOGINMAP/SYSLOGINMAP ログイン・ポリシーに関する情報を格納するための新しいテーブルです。 SYSLOGINMAP システム・ビューを参照してください。
    ISYSLOGINPOLICY/SYSLOGINPOLICY ログイン・ポリシーに関する情報を格納するための新しいテーブルです。 SYSLOGINPOLICY システム・ビューを参照してください。
    ISYSLOGINPOLICYOPTION/SYSLOGINPOLICYOPTION ログイン・ポリシーに関する情報を格納するための新しいテーブルです。 SYSLOGINPOLICYOPTION システム・ビューを参照してください。
    ISYSTEXTCONFIG/SYSTEXTCONFIG テキスト設定オブジェクトに関する情報を格納するための新しいテーブルです。 SYSTEXTCONFIG システム・ビューを参照してください。
    ISYSTEXTIDX/SYSTEXTIDX テキスト・インデックスに関する情報を格納するための新しいテーブルです。 SYSTEXTIDX システム・ビューを参照してください。
    ISYSTEXTIDXTAB/SYSTEXTIDXTAB テキスト・インデックスに関する情報を格納するための新しいテーブルです。 SYSTEXTIDXTAB システム・ビューを参照してください。

  • PHP 関数名の変更   PHP 関数名のプレフィクスは、すべて sqlanywhere_ から sasql_ に変更されました。sqlanywhere_ プレフィクスも関数を呼び出すときにまだ使用できますが、廃止される予定です。新しいプレフィクスを使用するようにアプリケーションを変更してください。

  • INSERT ... ON EXISTING UPDATE 文でのトリガの起動   これまでは、INSERT ... ON EXISTING UPDATE 文を実行したとき、データが更新された場合はトリガは起動しませんでした。このリリースでは、更新に対して文レベルの AFTER トリガが起動します。

  • REFRESH MATERIALIZED VIEW 文   リフレッシュの独立性レベルとして STATEMENT SNAPSHOT と READONLY STATEMENT SNAPSHOT を指定できなくなりました。独立性レベルに SNAPSHOT を指定するとこれらのオプションと同じ効果が得られます。REFRESH MATERIALIZED VIEW 文を参照してください。

  • REORGANIZE TABLE 文   同じテーブルに対して複数の REORGANIZE TABLE 文を同時に実行しようとするとエラーが発生します。

  • sa_validate システム・プロシージャ   sa_validate のエクスプレスとチェックサムの引数が廃止され、指定しても効果はありません。このリリースでは、デフォルトでチェックサム検証が実行されます。また、引数を指定しないで sa_validate システム・プロシージャを呼び出すと、データベース・サーバでは、すべてのテーブル、マテリアライズド・ビュー、インデックスの検証に加えて、チェックサムを含むデータベース自体が検証されます。sa_validate システム・プロシージャを参照してください。

  • -gss サーバ・オプション   Windows XP 以降で -gss サーバ・オプションがサポートされるようになりました。これまでのリリースでは、このオプションは Windows オペレーティング・システムではサポートされていませんでした。-gss サーバ・オプションを参照してください。

  • -gx サーバ・オプションのサポート終了   このリリースでは、-gx サーバ・オプションがサポートされなくなりました。SQL Anywhere データベース・サーバの起動時に -gx オプションを指定すると、エラーが発生します。

  • LazyClose 接続パラメータのデフォルト設定が AUTO に変更   これまでのバージョンでは、アプリケーションでカーソルを閉じるとき、LazyClose 接続パラメータが YES に設定されていなかった場合はデータベース・サーバへの往復が必要でした。このリリースでは、カーソルを閉じる要求はデフォルトで複数のカーソル分がキューイングされるようになったので、往復がなくなり、パフォーマンスが向上します。LazyClose 接続パラメータには、YES、NO、AUTO (デフォルト) の 3 つの値を指定できるようになりました。これまでのリリースでは、YES がデフォルト設定でした。LazyClose 接続パラメータ [LCLOSE]を参照してください。

  • Embedded SQL のインポート・ライブラリの変更   DBLIB のインポート・ライブラリの Watcom と Borland のバージョンが含まれなくなりました。これらはそれぞれ dblibtw.libdblibtb.lib です。これらのインポート・ライブラリの代わりにインポート定義ファイル (dblib11.def ファイル) が用意されています。

  • データベース・ツールのインポート・ライブラリの変更   データベース・ツールのインポート・ライブラリの Watcom と Borland のバージョンが含まれなくなりました。これらはそれぞれ dbtlstw.libdbtlstb.lib です。これらのインポート・ライブラリの代わりにインポート定義ファイル (dbtool11.def ファイル) が用意されています。

  • ローを受信しなかったときの DBLIB インジケータの動作の定義   フェッチ時または実行時にデータベース・サーバからローを受信しなかった場合 (エラーが発生したか、結果セットの末尾に到達した場合)、インジケータの値が変更されなくなりました。インジケータ変数を参照してください。

  • ODBC SQLGetConnectAttr   ODBC の SQLGetConnectAttr 呼び出しを使用して SQL_ATTR_CONNECTION_DEAD 属性を取得すると、接続が切断されていた場合、切断後にサーバに要求が送信されていなくても、値 SQL_CD_TRUE が取得されるようになりました。接続が切断したかどうかの確認は、サーバに要求を送信しないで行われ、切断された接続は数秒以内に検出されます。接続が切断されるのには、アイドル・タイムアウトなどの複数の理由があります。

    これまでのリリースでは、SQL_ATTR_CONNECTION_DEAD で値 SQL_CD_TRUE が取得されたのは、接続が明示的に切断されたか、接続が切断された後に、SQLExecDirect を呼び出すなどして ODBC ドライバからサーバに要求が送信された場合だけでした。

  • utility_db という名前のデータベースを作成または起動できない   utility_db という名前は SQL Anywhere サーバ・ユーティリティ・データベースのために予約されています。utility_db.db という名前のデータベースを新規に作成するか、この名前の既存のデータベースを起動しようとすると、エラーが返されます。utility_db という名前の既存のデータベースがある場合は、別の名前で起動できます。ユーティリティ・データベースの使用を参照してください。

  • 計算カラムの依存性   これまでは、更新操作または挿入操作をエラーなしで続行するには、アプリケーションでトリガを使用して、NOT NULL と宣言されているカラムに NULL 以外の値を割り当てることができました。これは、このカラムに依存する計算カラムに影響し、意図した計算が計算値に反映されない場合がありました。このリリースでは、計算カラムが依存する NOT NULL カラムに NULL 値を設定しようとするとエラー・メッセージが表示され、トリガは起動しません。計算カラムの挿入と更新を参照してください。

  • ピリオドを含む DB 領域名のエラー   これまでのリリースでは、引用符で囲んでいない DB 領域名にピリオドが含まれていた場合、DB 領域名のピリオドの前の部分は、サーバで通知されることなく無視されていました。このリリースでは、このような名前があった場合、データベース・サーバでエラーが生成されます。

  • SQL Anywhere Web サーバでの SSL バージョン 2.0 のサポート終了   SQL Anywhere Web サーバを使用するとき、SSL バージョン 3.0 と TLS バージョン 1.0 の接続だけがサポートされます。SSL バージョン 2.0 の接続はサポートされません。

  • CREATE SERVICE オプションの DATATYPE のデフォルト値の変更   DATATYPE 句のデフォルト値が OFF から ON に変更されました。以前の動作が必要な場合は、CREATE SERVICE の定義に DATATYPE OFF を明示的に含めてください。CREATE SERVICE 文を参照してください。

  • 一部の保護された機能の名前変更   このリリースでは、次の保護された機能の名前が変更されています。

    これまでの名前 新しい名前
    xp_read_file read_file
    xp_write_file write_file
    unload_table write_file
    load_table read_file

    詳細については、-sf サーバ・オプションを参照してください。

  • チェックサムの動作の変更    バージョン 11 で作成したデータベースまたはバージョン 11 にアップグレードしたデータベースを、ネットワーク・ドライブやリムーバブル・ドライブなどのメディアで実行した場合、データベース・サーバによってチェックサムが自動的に有効にされます。データベースがこのようなデバイスにあるかぎり、チェックサムは有効なままです。チェックサムを使用した破損の検出を参照してください。

  • HTTP 接続で自動停止されない   これまでのリリースでは、データベースを自動的に停止するように設定すると、HTTP 接続が切断され、データベースへの接続が他になかった場合にデータベースが停止していました。このリリースでは、最後の Command Sequence 接続または TDS 接続が切断したときにのみデータベースが停止します。

    データベースへの唯一の接続が HTTP 接続で、自動的に停止するようにデータベースが設定されている場合、HTTP 接続が切断したときにデータベースは自動的に停止しません。また、自動的に停止するように設定されているデータベースに HTTP 接続と Command Sequence 接続または TDS 接続がある場合は、最後の Command Sequence 接続または TDS 接続が切断したときにデータベースが自動的に停止します。このときに HTTP 接続がまだあった場合は切断されます。-ga サーバ・オプションAutoStop 接続パラメータ [ASTOP]を参照してください。

  • データベース・ミラーリングの動作の変更   これまでのリリースでは、プライマリ・サーバまたはミラー・サーバの -xp オプションで指定した接続パラメータが無効であった場合、データベース・サーバで接続が繰り返し試行されましたが、接続できませんでした。このリリースでは、-xp オプションで指定したパラメータが無効であり、サーバで複数のデータベースが実行されている場合、ミラー・データベースの起動に失敗し、再接続は試行されません。ミラー・データベースが、データベース・サーバで実行されている唯一のデータベースである場合は、データベース・サーバが起動しません。

  • マテリアライズド・ビューのデフォルトのリフレッシュ動作   これまでは、マテリアライズド・ビューのデフォルトのリフレッシュ動作は WITH EXCLUSIVE MODE でした。このリリースでは、デフォルトのリフレッシュ動作は、マテリアライズド・ビューが IMMEDIATE REFRESH と定義されているかどうか、またデータベースでスナップショット・アイソレーション・レベルが有効になっているかどうかによって異なります。REFRESH MATERIALIZED VIEW 文を参照してください。

  • post_login_procedure データベース・オプションの動作の変更   post_login_procedure データベース・オプションのデフォルト設定が sa_post_login_procedure システム・プロシージャになりました。post_login_procedure オプション [データベース]を参照してください。

  • non_keywords データベース・オプション   これまでのリリースでは、個々のキーワードの指定に加え、次に示すキーワード・リストの中から特別値を使用して、特定のリリース以降のすべてのキーワードをオフにできました。
    keywords_4_0_d, keywords_4_0_c, keywords_4_0_b, keywords_4_0_a, keywords_4_0,
     keywords_5_0_01, keywords_5_0

    これらの特別値はサポートされなくなりました。個々のキーワードをオフにすることはできます。non_keywords オプション [互換性]を参照してください。

  • リモート・データ・アクセスでの quoted_identifier データベース・オプション設定の尊重   リモート・データ・アクセスを使用している場合、quoted_identifier オプションのローカル設定を使用して、Adaptive Server Enterprise と Microsoft SQL Server に対する引用符付き識別子の使用を制御できるようになりました。たとえば、quoted_identifiers オプションをローカルで Off に設定すると、Adaptive Server Enterprise に対して引用符付き識別子がオフになります。次の項を参照してください。

  • precision と scale の各データベース・オプションのスコープの変更   これまでのリリースでは、個々のユーザに precision と scale の各データベース・オプションを設定したり、設定のスコープがテンポラリであることを指定したりできました。ただし、これらの設定はデータベースのリカバリ性に影響する可能性があります。テーブルやドメインを作成または変更する DDL 文の実行時に、テンポラリ設定またはユーザレベルの設定が、対応する PUBLIC 設定と異なる場合、データベースの再構築時に問題が生じる可能性があります。このリリースでは、precision と scale の各データベース・オプションの動作は次のようになっています。

    データベース・サーバのバージョン バージョン 10 以前のデータベース バージョン 11 のデータベース バージョン 11 にアップグレードしたデータベース バージョン 10 以前のデータベースのアンロード
    11

    PUBLIC 設定は可能

    ユーザ設定は可能

    テンポラリ設定は不可

    PUBLIC 設定は可能

    ユーザ設定は不可

    テンポラリ設定は不可

    PUBLIC 設定は可能

    ユーザ設定は不可

    テンポラリ設定は不可

    PUBLIC 設定はアンロードされる

    ユーザ設定はアンロード時に破棄される

    10 以前

    PUBLIC 設定は可能

    ユーザ設定は可能

    テンポラリ設定は可能

    なし なし

    PUBLIC 設定はアンロードされる

    ユーザ設定はアンロードされる

    バージョン 10 以前のデータベース・サーバでは、引き続き scale と precision の各オプションをテンポラリに、また個々のユーザに設定できます。

    警告

    precision と scale の各データベース・オプションのユーザレベル設定またはテンポラリ設定を頼りにしないことをおすすめします。データベースの再構築時に問題が生じる可能性が含まれており、データベース・サーバが予測できない動作をする可能性もあります。

    次の項を参照してください。

  • OPTION 句の動作の変更   INSERT、UPDATE、DELETE、SELECT、UNION、EXCEPT、INTERSECT の各文の OPTION 句でサポートされていないデータベース・オプションを指定すると、エラーが返されるようになりました。次の項を参照してください。

  • 読み込み専用データベースのロールバック・ログの動作の変更   これまでのリリースでは、トランザクション志向のテンポラリ・オブジェクトがある読み込み専用データベースの操作はトランザクション志向として処理されず、ロールバック・ログ情報が維持されませんでした。このリリースでは、読み込み専用データベース内のトランザクション志向テンポラリ・オブジェクトに完全にトランザクション志向のセマンティックがあります。これらのオブジェクトは、コミット、ロールバック、セーブポイントまでのロールバックの対象となります。

  • Itanium 64 ビットのサポート対象プラットフォームの変更   これまでのバージョンでは、Itanium II チップ搭載の Windows Server 2003 を対象としたソフトウェアの 64 ビット通常版と、64 ビットの Linux と HP-UX の各オペレーティング・システムを対象としたクライアント/サーバ限定版がありました。

    このリリースでは、64 ビット HP-UX を対象としたクライアント/サーバ限定版だけを使用できます。

  • アンロード・ユーティリティ (dbunload) の動作の変更   これまでのリリースでは、dbunload の -ea、-ek、-ep の各オプションを、-an オプションまたは -ar オプションと同時に指定して、新しいデータベースの暗号化を制御する必要がありました。このリリースでは、データベースの全体またはその一部をアンロードした後に再ロードしなかった場合、-ea、-ek、-ep の各オプションによって、作成されるテーブル・データ・ファイルの暗号化が制御されます。これらのファイルを使用して Interactive SQL からデータベースを再ロードするとき、READ 文のパラメータとして暗号化キーを指定する必要があります。アンロード・ユーティリティ (dbunload)を参照してください。

    また、これまでのリリースでは、データベースの抽出に使用する dbunload のバージョンが、データベースを実行しているデータベース・サーバと同じバージョンである必要はありませんでした。このリリースでは、バージョン 10.0.0 以降のデータベースで dbunload を使用する場合、使用する dbunload のバージョンが、データベースへのアクセスに使用するデータベース・サーバのバージョンと一致する必要があります。dbunload のバージョンがデータベース・サーバのバージョンより古いまたは新しい場合は、エラーがレポートされます。

  • 抽出ユーティリティ (dbxtract) の動作の変更   これまでのリリースでは、データベースの抽出に使用する dbxtract のバージョンが、データベースを実行しているデータベース・サーバと同じバージョンである必要はありませんでした。このリリースでは、バージョン 10.0.0 以降のデータベースで dbxtract を使用する場合、使用する dbxtract のバージョンが、データベースへのアクセスに使用するデータベース・サーバのバージョンと一致する必要があります。dbxtract のバージョンがデータベース・サーバのバージョンより古いまたは新しい場合は、エラーがレポートされます。

  • ロックの動作の変更   これまでのリリースでは、独立性レベル 0 で実行されている UPDATE 文または DELETE 文が、文の処理対象ではないローのロー・ロックをブロックする場合がありました。このリリースでは、UPDATE 文または DELETE 文が、文の処理対象ではないローに意図的ロックまたは排他ロックをかける可能性は低くなっています。アプリケーションを開発する際は、UPDATE 文と DELETE 文に独立性レベル 0 または 1 を使用する場合は注意し、動作がアプリケーションで許容可能であることを確認する必要があります。更新時のロック削除時のロックを参照してください。

  • プロパティ名の変更   このリリースでは、次のプロパティの名前が変更されています。

    以前の名前 新しい名前
    CacheHitsEng CacheHits
    CacheReadEng CacheRead
    DiskReadEng DiskRead
    ReadHint DiskReadHint
    ReadHintScatter DiskReadHintPages
    ReadHintScatterLimit DiskReadHintScatterLimit

    詳細については、接続、データベース、データベース・サーバのプロパティを参照してください。

  • 言語選択ユーティリティ (dblang)   これまでのリリースでは、このユーティリティは、インストール時に多言語リソース開発キット (IRDK) を選択した場合にのみインストールされていました。このリリースでは、すべての多言語リソースと言語選択ユーティリティ (dblang) が常にインストールされます。

  • テンポラリ・テーブルとインデックスのデフォルトの DB 領域   テンポラリ・テーブルは TEMPORARY DB 領域だけに作成できます。CREATE TABLE 文の IN 句で SYSTEM DB 領域を指定すると、IN 句は無視され、テンポラリ・テーブルはテンポラリ DB 領域に作成されます。CREATE TABLE 文の IN 句でユーザ定義の DB 領域を指定すると、エラーが返されます。また、テンポラリ・オブジェクト作成時は default_dbspace オプションが無視されます。

  • テンポラリ・テーブルへのデータのロード   テンポラリ・テーブルにデータをロードするとき、ON COMMIT DELETE と指定されたローカル・テンポラリ・テーブルをロードできなくなりました。これまでのリリースでは、ON COMMIT DELETE ROWS と指定して定義されたローカル・テンポラリ・テーブルにデータをロードできました。

    このリリースでは、LOAD TABLE 文を実行すると、オートコミットが自動的に実行されます。これまでのリリースではオートコミットは実行されない場合もありました。

  • データベース・サーバ・オプション   サーバ・オプション -uc と -ui が Mac OS X でサポートされるようになりました。これまでは、Linux だけでサポートされていました。Linux では、-ui サーバ・オプションを使用すると、[サーバ起動オプション] ウィンドウが開き、データベース・サーバ・メッセージ・ウィンドウが表示され、X-Window Server が起動するかどうかにかかわらず、データベース・サーバが起動します。Mac OS X では、-ui を使用すると、データベース・サーバ・メッセージが新しいウィンドウに表示され、使用可能な表示がない場合はデータベース・サーバがシェル・モードで起動します。-uc サーバ・オプションでは、データベース・サーバがシェル・モードで起動します。-uc サーバ・オプション-um サーバ・オプションを参照してください。

  • Unicode 呼び出しをサポートしない ODBC ドライバでリモート・データ・アクセスが機能しない   Unicode 呼び出しをサポートしない ODBC ドライバでリモート・データ・アクセスが機能しなくなりました。このため、Unicode 以外の ODBC ドライバの場合、リモート・データ・アクセスでは ODBC ドライバからのデータに対して文字セットの変換が行われません。

  • SYSFILE システム・ビュー   SYSFILE 互換ビューにテンポラリ・ファイル用のローが含まれるようになりました。SYSFILE 互換ビュー (旧式)を参照してください。