维护计划可用于安排确保数据库正常执行所需的任务,例如保持较小的数据库和事务日志文件,以及检查数据库是否存在不一致。
Autodesk 建议在非办公时间每周至少运行一次维护计划。
在联网的工作组环境中,应该在每个 SQL Server 上配置维护计划。
管理员的部分任务应包括定期检查是否成功运行了维护计划。
如果为早期版本的 Vault 服务器配置了维护计划,请确保按照本文您检查并更新计划。
以下步骤在所有与 Vault 服务器配合使用的 SQL 版本(Express 和完整版 SQL)中通用。受支持的数据库引擎的完整列表位于产品自述文件中。
登录 SQL Management Studio。
展开“数据库”,然后展开“系统数据库”。
在“tempdb”上单击鼠标右键,然后选择“属性”。
选择“文件”页面。
如果使用多核系统,应该使用下面的指导配置其他数据文件。如果使用的是单核系统,请跳至下面的步骤 d。
数据文件应具有对等数量的可用的逻辑\虚拟处理器。例如,如果计算机有 12 个逻辑处理器,则会有 1x 个 .mdf 文件和 11x 个 .ndf 文件。如果磁盘空间很重要,则可以使用 512 MB 的“大小”,而不是 1024 MB。
单击“添加”按钮以添加其他数据文件。
根据需要为新文件命名 temp2、temp3...。
将每个数据文件的大小设置为 1,024 MB。如果使用的数据文件总数为 8 个,可以使用 512 MB 的大小。
设置自动增长到 100 MB,不限制每个数据文件的增长。
按照合并的数据文件总数来设置 LDF 日志文件。(例如:如果数据文件总数为 2 个,那么生成的 LDF 应设置为大小为 2048 MB)

对于用户数据库、KMV 和其他 Vault 数据库,在“选项”页面下将“兼容性级别”设置为“SQL Server 2012 (110)”。系统数据库不是由 Autodesk 定义的,将其保留在默认兼容性级别很安全。
选择“确定”。
维护计划可用于安排确保数据库正常执行所需的任务,例如保持较小的数据库和事务日志文件,以及检查数据库是否存在不一致。
SQL Standard/Enterprise
请确认已通过 Autodesk Vault Server Console 备份了 Vault,然后再继续。
请确保所有用户均已从 Vault 服务器中注销。
在“控制面板”中,双击“管理工具”,然后双击“服务”图标
找到“SQL Server Agent (AUTODESKVAULT)”服务。
在“SQL Server Agent (AUTODESKVAULT)”上单击鼠标右键,然后选择“特性”。
将“启动类型”更改为“自动”,并启动服务。

打开 Microsoft SQL Management Studio 并连接到 AutodeskVault 实例。使用 <计算机名称>\AUTODESKVAULT 作为服务器名称,然后按“连接”。
在 Vault 数据库上单击鼠标右键,然后选择“特性”。
在“文件”页面上进行以下设置:
或者,在表格中:
注意:上表中的空白单元指示不应更改默认设置。
灰色单元指示默认值,如果使用其他值,应按上述方式进行设置的。
在“选项”页面上,将“兼容性级别”更改为“SQL Server 2012 (110)”,并将“自动收缩”下拉列表更改为“False”。
对于所有 KnowledgeVaultMaste、Vault 和库 Vault 数据库,执行上述相同步骤。
展开“管理”文件夹,并选择“维护计划”文件夹。
在“维护服务合约”文件夹上单击鼠标右键,并选择“维护服务合约向导”。单击“下一步”。

在“选择计划属性”对话框中,输入“Vault Maintenance Plan”作为名称,然后单击“更改”按钮以设定计划。

在“作业计划属性”对话框中,将计划设定为完成 Autodesk Vault Server Console 备份后运行。根据数据集的大小,可能需要运行在当周的其他日期和时间运行此计划。您可以在星期六运行该任务以确定完成该任务所需的时间,然后确定定期运行该作业的最佳日期和时间。
在“选择维护任务”对话框中,选中以下选项:

在“选择维护任务顺序”对话框中,如下设定该顺序:

在“定义‘数据库检查完整性’任务”对话框中,从“数据库”下拉列表中选择“所有用户数据库”,然后选中“包括索引”和“仅限物理”旁边的复选框。

在“定义‘重建索引’任务”对话框中,从“数据库”下拉列表中选择“所有用户数据库”。

在“定义‘更新统计信息’任务”对话框中,选择以下选项:

在“定义‘清除历史记录’任务”对话框中,根据需要选择清除选项。

在“选择报告选项”对话框中,指定维护报告的位置。
单击“下一步”,然后单击“完成”。
Microsoft SQL Express 不允许您在 SQL Server Management Studio Express 内创建维护计划。
确保运行 SQL 维护计划的操作系统 (Windows) 用户在 SQL 内部拥有系统管理员角色。
通过命令提示修改 Tempdb
如此部分中先前所述,如果未安装 SQL Server Management Studio,可以通过命令提示执行以下操作来完成 tempdb 数据库更改:
以管理员身份打开命令提示符。
复制下面的每一行并粘贴到命令提示中,然后按 Enter 键。
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 )"如果使用多核系统,应该使用下面的指导配置其他数据文件。**注意:在 FILENAME 下使用的文件系统路径应该是 SQL 数据目录所在的相同位置。在下面的示例中,路径为:C:\Program Files\Microsoft SQL Server\MSSQL15.AUTODESKVAULT\MSSQL\DATA。您将需要修改脚本以列出正确的路径。
数据文件应具有对等数量的可用的逻辑\虚拟处理器。例如,如果计算机有 12 个逻辑处理器,则会有 1x 个 .mdf 文件和 11x 个 .ndf 文件。如果磁盘空间很重要,则可以使用 512 MB 的“大小”,而不是 1024 MB。
SQLCMD -E -S ".\AutodeskVault" -Q " ALTER DATABASE [tempdb] ADD FILE ( NAME =
N'tempdev_2', FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL15.AUTODESKVAULT\MSSQL\DATA\tempdev_2.ndf', SIZE = 1024MB,
FILEGROWTH = 100MB)"如果需要创建更多的数据文件,对于 NAME 和 FILENAME 只需修改上面的示例以反映 tempdev_3 等。
按照合并的数据文件总数来设置 LDF 日志文件。(例如,如果数据文件总数为 2 个,那么生成的 LDF 应设置为大小为 2048 MB。)
SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE (
NAME = N'templog', SIZE = 2048MB )"维护计划
复制下面的脚本,并将其粘贴到一个保存为 VaultMaintenance.bat 的新文件中。
下面举例说明了如何针对命名为 Vault 的数据库运行 C:\ 根目录下的批处理文件,并将结果输出到文本文件中。
C:\VaultMaintenance.bat Vault > results.txtREM 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.