メンテナンス プランは、データベース サイズやトランザクション ログのファイル サイズを小さく保ち、データベースに不整合がないかをチェックするなど、データベースの性能を確保するのに必要なタスクをスケジュールするために使用できます。
Autodeskは、少なくとも週 1 回、営業時間外にプランを実行することをお勧めしています。
接続ワークグループ環境では、SQL サーバごとにメンテナンス プランを設定する必要があります。
管理者タスクの一環として、メンテナンス プランが正常に実行されたことを定期的に確認する必要があります。
Vault Server の旧リリースにメンテナンス プランが設定されている場合は、このトピックの内容に基づいてメンテナンス プランの確認と更新を行ってください。
次の手順は、Vault Server (Express およびフル バージョンの SQL)と併用するすべてのバージョンの SQL に適用できます。対応データベース エンジンの完全なリストについては、製品の Readme ファイルを参照してください。
注: SQL 2016 以降の場合、データ ファイルの既定値は8またはセットアップで検出された論理コア数の低い方の値になります。この値は、特定のワークロードの必要に応じて増やすことができます。セカンダリ データ ファイルのファイル名は、tempdb_mssql_#.ndf 命名規則に従います。# は、追加される各ファイルの順序を表します。
メンテナンス プランは、データベース サイズおよびトランザクション ログ ファイル サイズを小さく維持したり、データベースの不整合性をチェックするなど、データベースが正常に動作することを確認するために必要なタスクをスケジュール化するために使用できます。
SQL Standard/Enterprise 2016.
同じ内容を表形式で示します。
論理名 |
サイズ(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 メンテナンス プランを実行している OS (Windows)ユーザが SQL 内で sysadmin ロールを所有していることを確認します。
コマンド プロンプトからの tempdb の変更
このセクションで前述したように、SQL Server Management Studio がインストールされていない場合、次の手順を実行することにより、コマンド プロンプトから tempdb データベースを変更することができます。
SQLCMD -E -S".\AutodeskVault" -Q "ALTER DATABASE [tempdb] SET COMPATIBILITY_LEVEL = 110"
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 )"
注: SQL 2016 以降の場合、データ ファイルの既定値は8またはセットアップで検出された論理コア数の低い方の値になります。この値は、特定のワークロードの必要に応じて増やすことができます。セカンダリ データ ファイルのファイル名は、tempdb_mssql_#.ndf 命名規則に従います。# は、各追加ファイルのファイル序数を表します。
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 110 sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% SET COMPATIBILITY_LEVEL = 110" @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.