memoQ serverのSQLデータベースでデータベースのメンテナンスを行う
時間の経過とともに、memoQ serverのSQLデータベースのインデックスは断片化される可能性があります。これは、memoQ serverの使用方法と使用量によって異なります。これにより、パフォーマンスが低下します。
オートメンテナンスツールは、これらのインデックスを再構築し、データベースを適切な状態に保ちます。
操作手順
オートメンテナンスツールはコマンドラインアプリケーションで、ダウンロードページのツールとユーティリティタブから利用できます。
その他のオプション
これには、runIndexDefragコマンドを使用します。
構文:
オプション (ショート) | オプション (ロング) | 必須かどうか | 説明 |
---|---|---|---|
-c |
--connString |
必須ではない |
データベースの接続文字列が、<SQLConnectionString>セクションの%PROGRAMDATA%\MedQServer\Configuration.xmlに格納されている値と異なる場合は、接続文字列を指定します。 この設定にはスペースが含まれているため、引用符で囲む必要があります。 |
例:
memoQ serverデータベースに対して1回限りのデフラグ処理を実行します:
./AutoMaintenanceTool.exe runIndexDefrag --connString
"Initial Catalog=localhost\MEMOQSERVER;server=(local)"
SQL Server の有償版が必要です:SQL Server Agentは、SQL Server Express Edition(memoQ serverがデフォルトでインストールするもの)には含まれていません。
SQL Server Agentサービスは、memoQ serverのデータベースがあるサーバーマシンで実行されている必要があります。実行されていない場合は、オートメンテナンスツールでジョブが作成されますが、SQL Server Agentの起動時にのみスケジュールされます。手動で起動するには:SQL Server Configuration Managerを開き、SQL Server Servicesを選択し、SQL Server Agent (MSSQLSERVER)サービスを右クリックして、メニューからStartをクリックします。
SQL Server Agentサービスがサーバーにインストールされていない場合、オートメンテナンスツールはジョブをスケジュールできません。WindowsのTask Schedulerで同じことを行うタスクを作成することができます。
これにはscheduleIndexDefrag
コマンドを使用します。作成したスケジュールを変更するには、このコマンドを再度実行します。
構文:
オプション (ショート) | オプション (ロング) | 必須かどうか | 説明 |
---|---|---|---|
-c |
--connString |
必須ではない |
データベースの接続文字列が、<SQLConnectionString>セクションの%PROGRAMDATA%\MedQServer\Configuration.xmlに格納されている値と異なる場合は、接続文字列を指定します。 この設定にはスペースが含まれているため、引用符で囲む必要があります。 |
-s | --start | 必須ではない | ジョブの開始時刻をHH:mm:ss(24時間)形式で指定します。省略すると、デフォルト値の23:00:00が使用されます。 |
-e | --end | 必須ではない | ジョブの終了時刻をHH:mm:ss(24時間)形式で指定します。省略すると、デフォルト値の23:59:59が使用されます。 |
例:
毎日20:15から22:45まで実行される最適化ジョブを設定するとします:
./AutoMaintenanceTool.exe scheduleIndexDefrag --connString
"Initial Catalog=localhost\MEMOQSERVER;server=(local)"
-s 20:15:00 -e 22:45:00
作成したデフラグスケジュールを削除するには、cleanupIndexDefragコマンドに-sオプションを付けて使用します。
オートメンテナンスツールは、デフラグ処理で使用するワークオブジェクト(テーブル、ビュー、カスタムスキーマなど)を作成します。これらはすべて、名前にidfデータベース・スキーマが含まれています。これらを(スケジュールと一緒に)データベースから削除するには、-sオプションなしでcleanupIndexDefragコマンドを使用します。
注意:オートメンテナンスツールは、次回のデフラグ時にこれらのワークオブジェクトを再作成します。理由がある場合のみ、クリーンアップしてください。
構文:
オプション (ショート) | オプション (ロング) | 必須かどうか | 説明 |
---|---|---|---|
-c |
--connString |
必須ではない |
データベースの接続文字列が、<SQLConnectionString>セクションの%PROGRAMDATA%\MedQServer\Configuration.xmlに格納されている値と異なる場合は、接続文字列を指定します。 この設定にはスペースが含まれているため、引用符で囲む必要があります。 |
-s | --schedulingOnly | 必須ではない |
一時的なデータベースオブジェクトを削除するかどうかを指定します。 省略した場合、スケジューリングのみが削除されます。 |
例:
スケジュールされたデフラグタスクを削除しますが、一時的なデータベースオブジェクトは残すとします:
./AutoMaintenanceTool.exe cleanupIndexDefrag --connString
"Initial Catalog=localhost\MEMOQSERVER;server=(local)" -s
サーバーマシンにSQL Server Agentサービスをインストールまたは実行できない場合は、WindowsのTask Schedulerアプリを使用します:
-
memoQ serverのデータベースがあるサーバーマシンにサインインします。管理者権限を持つアカウントを使用します。
-
Windowsキーを押し、「task」と入力します。
-
結果リストで、Task Schedulerをクリックします。Task Schedulerウィンドウが開きます。
-
Triggersタブで、Newボタンをクリックします。New triggerウィンドウが開きます。
-
デフラグタスクのスケジュールを設定します。オートメンテナンスツールは、最長3時間実行されます。より短い時間でタスクを停止させたい場合は、Stop task if it runs longer thanチェックボックスをチェックし、ドロップダウンからより短い時間を選択します。
-
OKボタンをクリックします。
-
Actionsタブで、Newボタンをクリックします。New actionウィンドウが開きます。
-
プログラム/スクリプトテキストボックスの横で、参照ボタンをクリックし、オートメンテナンスツールのフォルダーを探します。.exeファイルを選択し、OKをクリックします。
-
引数の追加 (オプション) テキストボックスで、runIndexDefragと入力します。この引数はオプションではありません。フィールドを空のままにしておくと、オートメンテナンスツールは何も行いません。
-
カスタム接続文字列を使用する必要がある場合は、runIndexDefragの後ろに-cと接続文字列を追加します。
-
OKボタンをクリックします。
-
Create taskウィンドウで、OKボタンもクリックします。
Task Scheduler Libraryに、スケジュールされたタスクが表示されます。設定した時間に、定期的に実行されます。
タスクを手動で実行するには:リストで選択し、Actionsペインの Selected itemでRunをクリックします。