データベースのアップグレード、データベースの jConnect サポートのオン/オフの切り替え、データベースの調整、トランザクションログファイル名とトランザクションログミラーファイル名の変更、またはミラーサーバー対するデータベースの所有権の取得の強制を実行します。
ALTER DATABASE UPGRADE [ PROCEDURE ON ] [ JCONNECT { ON | OFF } ]
ALTER DATABASE { CALIBRATE [ SERVER ] | CALIBRATE DBSPACE dbspace-name | CALIBRATE DBSPACE TEMPORARY | CALIBRATE GROUP READ | CALIBRATE PARALLEL READ | RESTORE DEFAULT CALIBRATION }
ALTER DATABASE dbfile ALTER [ TRANSACTION ] LOG { { ON [ log-name ] [ MIRROR mirror-name ] | OFF } [ KEY key ]
ALTER DATABASE { dbname FORCE START | SET PARTNER FAILOVER }
ALTER DATABASE dbfile CHECKSUM OFF
PROCEDURE 句 データベースに含まれるすべての dbo 所有プロシージャーと sys 所有プロシージャーを削除して再作成します。
JCONNECT 句 jConnect JDBC ドライバーからシステムカタログ情報にアクセスできるようにするには、JCONNECT ON を指定します。この句によって jConnect をサポートするシステムオブジェクトがインストールされます。jConnect システムオブジェクトを含まない場合、JCONNECT OFF を指定します。その場合でも、システム情報にアクセスしないかぎり、JDBC を使用できます。JCONNECT はデフォルトで ON です。
CALIBRATE [ SERVER ] 句 テンポラリ DB 領域以外のすべての DB 領域を調整します。この句は、CALIBRATE PARALLEL READ によって実行される処理も実行します。
CALIBRATE GROUP READ 句 テンポラリ DB 領域でグループ読み込みの調整を実行します。テンポラリ DB 領域に大きなワークテーブルを書き込み、さまざまなグループ読み込みサイズを使用してファイルの読み込み時間を設定します。テンポラリテーブルに追加する領域が接続の制限を超えた場合、またはキャッシュサイズが足りず、最大メモリサイズで調整できない場合、調整が失敗してエラーメッセージが返されます。
CALIBRATE PARALLEL READ 句 すべての DB 領域ファイルについてデバイスの並列 I/O 機能を調整します。CALIBRATE [ SERVER ] 句もこの調整を実行します。
RESTORE DEFAULT CALIBRATION 句 一般的なハードウェアと構成設定に基づく組み込みのデフォルト値に、ディスク転送時間 (DTT: Disk Transfer Time) をリストアします。
ALTER [TRANSACTION] LOG 句 トランザクションログファイルまたはトランザクションログミラーファイルの名前を変更します。MIRROR mirror-name を指定しないと、新しいトランザクションログのファイル名が設定されます。データベースがトランザクションログを現在使っていない場合、データベースは設定されたファイル名を使って起動します。すでにトランザクションログを使っている場合、データベースはトランザクションログとして新しいファイル名を使うように変更します。
MIRROR mirror-name を指定する、新しいトランザクションログミラーのファイル名として設定されます。データベースがトランザクションログミラーを現在使っていない場合、データベースはこの設定された名前を使って起動します。すでにトランザクションログミラーを使っている場合、データベースはトランザクションログミラーとして新しいファイル名を使うように変更します。
この句を使用して、トランザクションログまたはトランザクションログミラーをオフにすることもできます。たとえば、ALTER DATABASE ALTER LOG OFF のように指定します。
KEY 句 トランザクションログまたはトランザクションログミラーに使用する暗号化キーを指定します。強力に暗号化されたデータベースで ALTER [TRANSACTION] LOG 句を使用するときは、暗号化キーを指定する必要があります。
dbname FORCE START 句 現在ミラーサーバーとして動作しているデータベースサーバーに、データベースの所有権の取得を強制します。この句は、プロシージャーまたはイベントから実行できます。また、ミラーサーバー上のユーティリティデータベースに接続しているときに実行する必要があります。
SET PARTNER FAILOVER 句 プライマリサーバーからミラーサーバーへのデータベースミラーリングのフェールオーバーを起動します。この文は、プライマリサーバー上のデータベースに接続しているときに実行する必要があります。プロシージャーまたはイベントから実行できます。この文を実行すると、データベースに対する既存の接続は、文を実行した接続も含めて、閉じられます。この文がプロシージャーまたはイベントに含まれている場合、後続する他の文は実行されない可能性があります。
CHECKSUM 句 データベースのグローバルチェックサムを無効にします。デフォルトでは、新しいデータベースでグローバルチェックサムが有効になりますが、バージョン 11 以前のデータベースではグローバルチェックサムは有効になりません。
リムーバブルドライブなどのストレージデバイス上で実行されているデータベースや Windows Mobile 上で実行されているデータベースでは、データベースファイルの破損を速やかに検出できるように、この句の設定に関係なく、データベースサーバーによって常に書き込みチェックサムが有効になります。また、検証アクティビティの実行時に重要なページのチェックサムも計算されます。
グローバルチェックサムが有効になっていないデータベースでは、-wc オプションを使用して書き込みチェックサムを有効にすることができます。
構文 1 ALTER DATABASE UPGRADE 文は、データベースをアップグレードまたは更新するためのアップグレードユーティリティの代わりとして使用できます。リリースを維持するときにも適用されます。この文を実行した後は、データベースを再起動してください。一般に、マイナーバージョンでのデータベースの変更はデータベースオプションの追加やシステムテーブルとプロシージャーの細かい変更にかぎられます。ALTER DATABASE UPGRADE 文は、システムテーブルを最新バージョンにアップグレードし、新規データベースオプションを追加します。必要に応じて、すべてのシステムプロシージャーを削除し、再作成します。PROCEDURE ON 句を指定すると、システムプロシージャーを強制的に再構築できます。
ALTER DATABASE UPGRADE 文を現在ミラーされているデータベースで実行すると、エラーメッセージが返されます。
ALTER DATABASE UPGRADE 文を使用して、設定やシステムオブジェクトを元のインストール状態にリストアすることもできます。
データベースファイルの物理的な再編成を必要とする機能は、ALTER DATABASE UPGRADE 文を実行して使用可能にすることはできません。そのような機能には、インデックスの拡張やデータの格納に関する変更が含まれています。これらの拡張機能を利用するには、データベースのアンロードと再ロードを行ってください。
データベースをアップグレードする前に、データベースファイルをバックアップすることを強くおすすめします。アップグレード処理に失敗した場合、部分的にアップグレードされたデータベースには無効のマークが付き、使用できなくなります。アップグレードに失敗した後にデータベースを起動しようとすると、データベースファイルが無効であることを示すエラーが表示されます。
jConnect JDBC ドライバーを使用してシステムカタログ情報にアクセスするには、JCONNECT ON (デフォルト値) を指定します。jConnect システムオブジェクトを含まない場合、JCONNECT OFF を指定します。JCONNECT OFF を設定しても、データベースから jConnect サポートが削除されることはありません。その場合でも、システムカタログ情報にアクセスしないかぎり、JDBC を使用できます。続けて jConnect の新しいバージョンをダウンロードする場合、ALTER DATABASE UPGRADE JCONNECT ON 文を (再) 実行して、データベースのバージョンをアップグレードできます。
構文 2 構文 2 を使用すると、オプティマイザーが使用する I/O コストモデルを再調整することもできます。この操作により、ディスク転送時間 (DTT: Disk Transfer Time) モデルが更新されます。DTT は、コストモデルで使用されるディスク I/O の数学的モデルです。I/O コストモデルを再調整するときは、データベースサーバーを他の用途に使用できません。また、コンピューター上の他のすべてのアクティビティがアイドル状態になっている必要があります。データベースサーバーの再調整は高負荷のオペレーションであり、完了までに長時間かかることがあります。通常はデフォルトのままにすることをおすすめします。
CALIBRATE PARALLEL READ 句を使用する場合、10000 ページ未満の DB 領域ファイルでは並列の調整は実行されません。調整操作中にデータベースサーバーが自動的にすべてのアクティビティを中断した場合でも、同じコンピューターに大量のリソースを消費するプロセスがなければ、並列の調整は実行されます。調整後、IOParallelism 拡張データベースプロパティを使用して、DB 領域ファイルに使用できる並列 I/O 操作の最大推定数を取得できます。
同じようなハードウェアインストールが大量にある場合に、繰り返し行われる時間のかかる再調整作業を省くには、sa_unload_cost_model システムプロシージャーを使用してアンロードしてから、sa_load_cost_model システムプロシージャーを使用して別のデータベースに適用 (ロード) して調整を再使用できます。
構文 3 ALTER DATABASE 文を使用して、データベースファイルに関連付けられているトランザクションログとトランザクションログミラーの名前を変更できます。実行中のデータベースは変更できません。これらの変更は、トランザクションログ (dblog) ユーティリティで行う変更と同じです。この文は、-gu オプションの設定に応じて、ユーティリティデータベースまたは別のデータベースと接続しているときに実行できます。暗号化されたデータベースのトランザクションログまたはトランザクションログミラーを変更する場合は、キーを指定してください。データベースが監査を実行中にトランザクションログの使用を停止することはできません。監査をオフにすると、トランザクションログの使用を停止できます。この構文は、プロシージャー、トリガー、イベント、またはバッチではサポートされていません。
BACKUP DATABASE 文を使用して、実行中のデータベースのトランザクションログの名前を変更できます。次に例を示します。
BACKUP DATABASE DIRECTORY 'directory-name' TRANSACTION LOG ONLY TRANSACTION LOG RENAME; |
構文 4 ALTER DATABASE...FORCE START は、プライマリサーバーではなくミラーサーバーから実行する必要があります。ミラーリングされていないデータベースや現在アクティブでこのサーバーに所有されているデータベースに対して ALTER DATABASE...FORCE START 文を実行しようとすると、エラーになります。また、プライマリサーバーがまだミラーサーバーに接続されている場合も、エラーになります。
構文 5 この句は、データベースのチェックサムを無効にする場合にのみ使用できます。
構文 1 と 2 の場合、DBA 権限が必要です。また、このデータベースに他の接続がないことが必要です。ALTER DATABASE UPGRADE 文は、Windows Mobile ではサポートされません。
構文 3 の場合、トランザクションログが保存されているディレクトリへのファイルパーミッションが必要です。また、データベースが実行中ではない必要があります。
構文 4 の場合、実行するユーザーには、-gk サーバーオプションで指定されているパーミッションが必要です。
構文 5 の場合、DBA 権限が必要です。
オートコミット。
SQL/2008 ベンダー拡張。
Transact-SQL ALTER DATABASE 文は、Adaptive Server Enterprise でサポートされています。ただし、Adaptive Server Enterprise でサポートされる文の句は、SQL Anywhere でサポートされる句とは切り離されています。
次の例では、jConnect サポートを無効にします。
ALTER DATABASE UPGRADE JCONNECT OFF; |
次の例は、demo.db に関連するトランザクションログファイル名を mynewdemo.log に設定します。
ALTER DATABASE 'demo.db' ALTER LOG ON 'mynewdemo.log'; |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |