メンテナンス プランを使用して、データベース サイズおよびトランザクション ログ ファイル サイズを小さく維持したり、データベースの不整合をチェックするなど、データベースが正常に動作することを確認するために必要なタスクのスケジュールを設定することができます。毎週 1 回以上、就業時間外にメンテナンス プランを実行することをお進めします。
接続ワークグループ環境では、SQL サーバごとにメンテナンス プランを設定する必要があります。
管理者タスクの一環として、メンテナンス プランが正常に実行されたことを定期的に確認する必要があります。
Vault Server の旧リリースにメンテナンス プランが設定されている場合は、このトピックの内容に基づいてメンテナンス プランの確認と更新を行ってください。
次の手順は、Vault Server (Express およびフル バージョンの SQL)と併用するすべてのバージョンの SQL に適用できます。対応データベース エンジンの完全なリストについては、製品の Readme ファイルを参照してください。
メンテナンス プランは、データベース サイズおよびトランザクション ログ ファイル サイズを小さく維持したり、データベースの不整合性をチェックするなど、データベースが正常に動作することを確認するために必要なタスクをスケジュール化するために使用できます。
SQL Standard/Enterprise 2008 および 2008 R2
同じ内容を表形式で示します。
論理名 |
初期サイズ(MB) |
自動拡張 |
---|---|---|
KnowledgeVaultMaster |
最大 10 MB、拡張制限なし |
|
KnowledgeVaultMaster_log |
最大 10 %、拡張制限なし |
|
<Vault> |
最大 100 MB、拡張制限なし |
|
<Vault>_log |
500 |
最大 10 %、拡張制限なし |
<Custom_Library> |
最大 25 MB、拡張制限なし |
|
<Custom_Library>_log |
最大 10 %、拡張制限なし |
|
<Standard_Library> |
最大 25 MB、拡張制限なし |
|
<Standard_Library>_log |
最大 10 %、拡張制限なし |
Microsoft SQL Express では SQL Server Management Studio Express 内部でメンテナンス プランを作成できません。さらに、SQL 2008 では、SQL 2005 からセキュリティ モデルが変更されています。SQL メンテナンス プランを実行している OS (Windows)ユーザが SQL 内で sysadmin ロールを所有していることを確認する必要もあります。
コマンド プロンプトからの tempdb の変更
このセクションで前述したように、SQL Server Management Studio がインストールされていない場合、次の手順を実行することにより、コマンド プロンプトから tempdb データベースを変更することができます。
SQLCMD -E -S".\AutodeskVault" -Q "ALTER DATABASE [tempdb] SET COMPATIBILITY_LEVEL = 100"
SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( NAME = N'tempdev', SIZE = 1024MB, FILEGROWTH = 100MB)"
SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( NAME = N'templog', SIZE = 1024MB )"
SQLCMD -E -S ".\AutodeskVault" -Q " ALTER DATABASE [tempdb] ADD FILE ( NAME = N'tempdev_2', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.AUTODESKVAULT\MSSQL\DATA\tempdev_2.ndf', SIZE = 1024MB, FILEGROWTH = 100MB)"
SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( NAME = N'templog', SIZE = 2048MB )"
メンテナンス プラン
次のスクリプトをコピーし、新しいファイルに貼り付けてから、VaultMaintenance.bat というファイル名で保存します。
次の例では、C:¥ のルートで、Vault という名前のデータベースに対してバッチ ファイルを実行し、その結果をテキスト ファイルに出力します。
C:\VaultMaintenance.bat Vault > results.txt
REM This begins the maintenance plan. @echo off if "%1"=="" goto NOPARAM set VAULTNAME=[%1] set VAULTLOG=[%1_log] @echo Setting %VAULTNAME% database compatibility to 100 sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% SET COMPATIBILITY_LEVEL = 100" @echo Setting %VAULTNAME% database recovery model to simple... sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% SET RECOVERY SIMPLE" @echo Setting %VAULTNAME% database Autogrowth value... sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% MODIFY FILE (NAME=%VAULTNAME%, FILEGROWTH=100MB)" @echo Setting %VAULTNAME% database Log filesize... sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% MODIFY FILE ( NAME = %VAULTLOG%, SIZE = 512000KB )" @echo Setting %VAULTNAME% database Autoclose to false... sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% SET AUTO_CLOSE OFF WITH NO_WAIT" @echo Reindexing %VAULTNAME% database... sqlcmd -E -S ".\AutodeskVault" -Q "USE %VAULTNAME% DECLARE tableCursor CURSOR FOR SELECT NAME FROM sysobjects WHERE xtype in('U') DECLARE @tableName nvarchar(128) OPEN tableCursor FETCH NEXT FROM tableCursor INTO @tableName WHILE @@FETCH_STATUS = 0 BEGIN DBCC DBREINDEX(@tableName, '') FETCH NEXT FROM tableCursor INTO @tableName END CLOSE tableCursor DEALLOCATE tableCursor" @echo Updating Statistics on %VAULTNAME% database... sqlcmd -E -S ".\AutodeskVault" -Q "USE %VAULTNAME% Exec sp_MSForEachTable 'Update Statistics ? WITH FULLSCAN'" goto EXIT :NOPARAM echo [FAIL] Please indicate Vault database pause :EXIT REM This ends the maintenance plan.