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 - 変更点とアップグレード » バージョン 10.0.1 の新機能 » SQL Anywhere

 

新機能

次に、バージョン 10.0.1 で導入された SQL Anywhere データベースとデータベース・サーバの新機能を示します。

暗号化の強化

暗号化のサポートを強化するために、次のような変更が加えられています。

  • CREATE DATABASE 文の ENCRYPTION 句の拡張   CREATE DATABASE 文の ENCRYPTION 句の構文が拡張され、SIMPLE を暗号化タイプとして指定できるようになりました。また、暗号化キーとアルゴリズムを任意の順番で指定できます。CREATE DATABASE 文を参照してください。

  • dbinit と dbunload の -ea オプションの強化    dbinit と dbunload の -ea オプションでは、暗号化タイプとして、なし (none) と単純 (simple) の両方を使用できるようになりました。none を指定すると、暗号化は行われません。simple を指定すると、単純暗号化が行われます。また、-ea とともに -ek、-et、-ep のどのオプションが指定されたかに応じて、デフォルトの暗号化タイプが変更されました。初期化ユーティリティ (dbinit)アンロード・ユーティリティ (dbunload)を参照してください。

    -e オプションは廃止される予定です。動作の変更と廃止予定機能を参照してください。

  • Mac OS X での強力な暗号化   Mac OS X で RSA 暗号化を使用して、クライアント/サーバ通信を暗号化できるようになりました。SQL Anywhere クライアント/サーバ通信の暗号化を参照してください。

クライアントでの文のキャッシュのサポート

クライアントでの文のキャッシュがサポートされるようになり、デフォルトで有効です。この機能では、同じ SQL 文の準備と削除が繰り返し行われると、クライアントはこの文をキャッシュして、アプリケーションによって文が削除された後もサーバで準備された状態にしておきます。これにより、データベース・サーバは、文の削除や再準備などの余分な作業を節約できます。クライアントでの文のキャッシュを使用するには、バージョン 10.0.1 のクライアント・ライブラリとバージョン 10.0.1 のデータベース・サーバの両方が必要です。

クライアントでの文のキャッシュをサポートするために、次のような変更が加えられています。

  • max_client_statements_cached オプション   このオプションは、アプリケーションによって文が削除された後であっても、データベース・サーバでキャッシュ (準備) されたまま維持できる文の最大数を指定します。max_client_statements_cached オプション [データベース]を参照してください。

  • 新しい接続プロパティとサーバ・プロパティ   ClientStmtCacheHits、ClientStmtCacheMisses、max_client_statements_cached の各プロパティが追加されました。接続プロパティデータベース・サーバ・プロパティを参照してください。

  • 新しい要求の統計値   文キャッシュ・ヒットと文キャッシュ・ミスの統計値が追加されました。要求の統計値を参照してください。

SQL FLAGGER の強化

SQL FLAGGER 機能が強化されて、互換性の検出が向上したほか、新しい標準のサポートが追加されました。たとえば、特定の SQL 標準との互換性や Ultra Light SQL との互換性をテストできるようになりました。

これらの強化をサポートするために、次のような変更が加えられています。

  • 新しい SQLFLAGGER 関数   新しい SQLFLAGGER 関数を使用すれば、実際に文を実行しなくても、SQL 文が指定された SQL 標準に準拠しているかどうかをテストできます。SQLFLAGGER 関数 [その他]を参照してください。

  • 新しい sa_ansi_standard_packages システム・プロシージャ   新しい sa_ansi_standard_packages システム・プロシージャを使用して、SQL 標準や SQL 文を指定したり、文の実行中に使用される非コア SQL 拡張の一覧を取得したりすることができます。sa_ansi_standard_packages システム・プロシージャを参照してください。

    この機能を使用するには、データベースをアップグレードする必要があります。バージョン 10 以降のデータベースのアップグレードを参照してください。

  • sql_flagger_error_level データベース・オプションと sql_flagger_warning_level データベース・オプションの新しい値   sql_flagger_error_level データベース・オプションと sql_flagger_warning_level データベース・オプションで新しい値がいくつか追加され、SQL/1999 標準と SQL/2003 標準がサポートされるようになりました。sql_flagger_error_level オプション [互換性]sql_flagger_warning_level オプション [互換性]を参照してください。

  • SQL プリプロセッサ (sqlpp) の -e オプションと -w オプションの新しい値   SQL プリプロセッサ (sqlpp) の -e オプションと -w オプションで新しい値がいくつか追加され、SQL/1999 標準と SQL/2003 標準がサポートされるようになりました。SQL プリプロセッサを参照してください。

SQL 文

SQL 文と関数には、次のように強化が行われています。

  • START DATABASE 文の強化   START DATABASE 文では、データベースの DB 領域ファイルが配置されているディレクトリを指定できる DIRECTORY 句がサポートされるようになりました。START DATABASE 文を参照してください。

  • INSERT 文、UPDATE 文、DELETE 文、SELECT 文、UNION 文、EXCEPT 文、INTERSECT 文に OPTION 句が含まれる   INSERT、UPDATE、DELETE、SELECT、UNION、EXCEPT、INTERSECT の各文には OPTION 句があるため、その文がマテリアライズド・ビューを使用する方法とクエリを最適化する方法を指定したり、次のデータベース・オプションについて設定を上書きしたりすることができます。

    • isolation_level
    • max_query_tasks
    • optimization_goal
    • optimization_level
    • optimization_workload

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

  • HTML_DECODE 関数   HTML_DECODE 関数は、トレードマーク記号 (™) など、数値エンティティとして指定された Unicode コードポイントをさらに多く復号化するようになりました。コードポイントがデータベースの文字セットで表すことができない場合は、コードポイント形式のままになります。以前は、0x7F より小さいコードポイントは文字に変換され (一部の文字セットでは 0xFF より小さいコードポイントが文字に変換されていました)、それ以外のコードポイントはすべてコードポイント形式のままでした。HTML_DECODE 関数 [その他]を参照してください。

照合の適合化のサポート

SQL Anywhere では、データベースの作成時に照合の適合化がサポートされるようになりました。照合の適合化をサポートするために、次のような変更が加えられています。

  • CREATE DATABASE 文の強化   CREATE DATABASE 文または初期化ユーティリティ (dbinit) を使用してデータベースを作成するときに、文字のソートや比較を詳細に制御する適合化オプションを指定できるようになりました。

    CREATE DATABASE 文の場合は、COLLATION 句および NCHAR COLLATION 句を使用して照合の適合化がサポートされます。CREATE DATABASE 文を参照してください。

    初期化ユーティリティの場合は、-z オプションおよび -zn オプションを使用して照合の適合化がサポートされます。初期化ユーティリティ (dbinit)を参照してください。

    注意

    照合の適合化オプションを使用して作成したデータベースは、10.0.1 より前のデータベース・サーバでは起動できません。

    既存のデータベースに対して照合の適合化を使用するには、照合の適合化をサポートする新しいバージョン 10.0.1 のデータベースを作成し、既存のデータベースをアンロードして、そのデータベースを新しいバージョン 10.0.1 のデータベースに再ロードします。バージョン 10 以降のデータベースの再構築を参照してください。

  • 新しい HasCollationTailoring データベース・プロパティ   新しいデータベース・プロパティ HasCollationTailoring は、データベースの作成時に適合化サポートが有効だったかどうかを示します。データベース・プロパティを参照してください。

  • 新しく拡張されたプロパティ値   Collation、NcharCollation、CatalogCollation の各データベース・プロパティを問い合わせるときに、新しい DB_EXTENDED_PROPERTY 値である CaseSensitivity、AccentSensitive、PunctuationSensitivity、Properties、Specification を利用できます。DB_EXTENDED_PROPERTY 関数 [システム]を参照してください。

  • SORTKEY 関数と COMPARE 関数の拡張   照合名をパラメータとして使用できるだけでなく、SORTKEY 関数と COMPARE 関数では、CREATE DATABASE 文と同じ照合の適合化オプションをカッコで囲んで使用できるようになりました。SORTKEY 関数 [文字列]COMPARE 関数 [文字列]を参照してください。

Web サービスの強化

HTTP ヘッダと SOAP ヘッダの設定可能性を改善するために、次のような強化が行われています。

  • 設定可能性の改善   CREATE PROCEDURE 文と CREATE FUNCTION 文の新しい SET 句では、HTTP プロトコルや SOAP プロトコルのオプションを修正できます。修正できるオプションは、クライアントが使用する HTTP バージョン、チャンクを使用するかどうか、SOAP 要求で呼び出す SOAP 処理の名前 (プロシージャや関数の名前と異なる場合) です。CREATE PROCEDURE 文 [Web サービス]を参照してください。

  • HTTP ヘッダ仕様   CREATE PROCEDURE 文と CREATE FUNCTION 文の HEADER 句の構文が拡張され、指定された HTTP 要求ヘッダを抑制したり、空の値を指定したりすることができるようになりました。この機能は、以前のリリースでは修正できなかった自動的に生成された HTTP 要求ヘッダにも適用されます。CREATE PROCEDURE 文 [Web サービス]HTTP ヘッダの修正を参照してください。

  • SOAP:RPC クライアントでのデータ型のサポート   CREATE SERVICE 文の DATATYPE 句を使用して、データ型指定を有効にできます。データ型情報は、すべての SOAP サービス・フォーマットでパラメータ入力と結果セット出力 (応答) の XML エンコードに含まれます。これにより、パラメータを文字列に明示的に変換するクライアント・コードが不要になるため、SOAP ツールキットからのパラメータ受け渡しが簡単になります。データ型の使用を参照してください。

  • Mac OS X での HTTPS サポート   以前のリリースでは、Mac OS X では HTTP プロトコルだけがサポートされていました。今回のリリースでは、Mac OS X 上で SQL Anywhere データベース・サーバを Web サーバとして実行しているときに、HTTPS を使用できるようになりました。-xs サーバ・オプションSQL Anywhere Web サービスを参照してください。

データベース・ミラーリングの強化

データベースのミラーリング機能に、次の機能強化が追加されています。

  • データベース・ミラーリングにおける優先データベース・サーバの指定   ミラーリング・システムでプライマリ・サーバのロールを引き受けるデータベース・サーバを指定できるようになりました。-xp データベース・オプション優先データベース・サーバの指定を参照してください。

  • プライマリ・サーバからミラー・サーバへのデータベース・ミラーリングのフェールオーバの起動   ALTER DATABASE 文の SET PARTNER FAILOVER 句を使用して、プライマリ・サーバからミラー・サーバへのデータベース・ミラーリングのフェールオーバを起動できるようになりました。ALTER DATABASE 文プライマリ・サーバのフェールオーバの起動を参照してください。

SQL Anywhere プラグイン
  • [トリガ] フォルダのカラム名の変更   [トリガ] フォルダの [テーブル名] カラムと [テーブル所有者] カラムは、[オブジェクト名] カラム、[オブジェクト所有者] カラム、[オブジェクト・タイプ] カラムに置き換えられました。[オブジェクト・タイプ] カラムはデフォルトで表示されませんが、[ビュー] - [カラムの選択] を選択すると表示することができます。

  • [ビューのプロパティ] ウィンドウに追加された [トリガ] タブ   非マテリアライズド・ビューのプロパティ・ウィンドウに、ビューの INSTEAD OF トリガをリストする [トリガ] タブが追加されました。

  • トリガ作成ウィザードに追加された INSTEAD OF トリガのサポート   トリガ作成ウィザードでいくつか機能が強化され、INSTEAD OF トリガがサポートされるようになりました。これには、テーブルと非マテリアライズド・ビューのどちらに対するトリガを作成するかを選択するオプションの追加も含まれます。トリガの作成を参照してください。

  • データベース作成ウィザードに追加された照合の適合化のサポート   選択したデータベース・サーバがバージョン 10.0.1 以降のサーバである場合、または新しいデータベース・サーバを起動してローカル・コンピュータにデータベースを作成することにした場合、データベース作成ウィザードに照合の適合化のページが含まれるようになりました。

その他の機能強化
  • 単純な DML 文でのプランのキャッシュ   プランのキャッシュが拡張され、クエリを省略できる INSERT 文、UPDATE 文、DELETE 文 (単純な文) が含まれるようになりました。プランのキャッシュを参照してください。

  • 左外部ジョインや右外部ジョインを含むマテリアライズド・ビューがコストベースの最適化中に使用可能   以前は、左外部ジョインや右外部ジョインは、マテリアライズド・ビューの定義で使用できました。しかし、これが原因で、マテリアライズド・ビューをコストベースの最適化で使用することができませんでした。このバージョンでは、左外部ジョインや右外部ジョインを含むマテリアライズド・ビューがコストベースの最適化中に使用できるようになりました。マテリアライズド・ビューによるパフォーマンスの向上を参照してください。

  • INSTEAD OF トリガのサポート   BEFORE トリガまたは AFTER トリガは、それぞれトリガ操作の前または後に起動されます。INSTEAD OF トリガは、トリガ操作を置き換えます。INSTEAD OF トリガを使用することで、挿入、更新、削除の各操作中にトリガの動作をより細かく制御できます。CREATE TRIGGER 文を参照してください。

  • DBTools の強化   DBCreatedVersion 関数を使用することで、データベースが SQL Anywhere 10.0.0 またはそれ以前のバージョンを使用して作成されたかどうかをデータベースを起動せずに判別できるようになりました。DBCreatedVersion 関数を参照してください。

  • OLAP の強化   新しい 2 つの Window 集合関数 FIRST_VALUE と LAST_VALUE がサポートされるようになりました。これらの関数は、ウィンドウの最初または最後の値をそれぞれ返すため、セルフジョインを使用してこれらの値を返す必要がありません。ウィンドウ上で実行される以後の計算では、これらの値をベースラインとして使用できます。FIRST_VALUE 関数 [集合]LAST_VALUE 関数 [集合]を参照してください。

  • 強化された UNIX での IPv6 サポート   UNIX では、IPv6 アドレスの一部としてインタフェース識別子かインタフェース名を指定できます。Linux (カーネル 2.6.13 以降) では、クライアントまたはサーバで IP アドレスを指定するとき (たとえば HOST=、MYIP=、または BROADCAST= TCP プロトコル・オプションを使用するとき) に、インタフェース識別子が必要です。SQL Anywhere での IPv6 サポートを参照してください。

  • TDS DATE データ型と TDS TIME データ型のサポート   TDS DATE データ型と TDS TIME データ型は、最近になって TDS クライアントに導入されました。Open Client 15 以降のバージョンまたは jConnect の EBF を使用するアプリケーションでは、日付カラムや時刻カラムを TDS DATETIME ではなく TDS DATE 値または TDS TIME 値としてフェッチできるようになりました。

    SQL Anywhere は、TDS ベースのアプリケーションで日付や時刻のデータを TDS DATE 値や TDS TIME 値としてフェッチできるよう強化されています。Open Client や jConnect の古いバージョンを使用するアプリケーションでは、日付や時刻のデータを引き続き TDS DATETIME としてフェッチします。TDS ベースでないアプリケーション (Embedded SQL、ODBC、iAnywhere JDBC ドライバを使用するアプリケーション) では、これまでも日付や時刻のデータを日付値や時刻値としてフェッチ可能でした。

  • 使用可能な文字セット・エンコードをリストする新しい dbinit オプション   データベースで使用可能な文字セット・エンコードをリストするには、初期化ユーティリティ (dbinit) の -le オプションを使用します。初期化ユーティリティ (dbinit)を参照してください。

  • 新しい -ds サーバ・オプション   -ds サーバ・オプションを使用して、データベースの DB 領域ファイルが配置されている場所を指定できます。-ds データベース・オプションを参照してください。

  • SADbType.Xml データ型   SADbType.Xml 列挙定数が SQL Anywhere .NET プロバイダに追加されました。

  • SQL Anywhere SNMP Extension Agent の動的トラップにおける単位のサポート   動的トラップを設定するとき、k、m、g、t を使用して、トラップの数値をそれぞれキロバイト、メガバイト、ギガバイト、テラバイトの単位で指定できるようになりました。動的トラップの作成を参照してください。

  • iAnywhere Solutions Oracle ドライバ用 ODBC データ・ソースの作成    データ・ソース・ユーティリティ (dbdsn) で -or オプションを指定して、iAnywhere Solutions Oracle ドライバ用の ODBC データ・ソースを作成できるようになりました。データ・ソース・ユーティリティ (dbdsn)を参照してください。

  • エラー・レポートを送信するウィンドウの強化   エラー・レポートを iAnywhere に送信するかどうかを確認する dbsupport ウィンドウに、[エラー・レポートの表示] ボタンが追加され、エラー・レポートに含まれる情報を送信前に確認できるようになりました。