维护计划可用于安排确保数据库正常执行所需的任务,例如保持较小的数据库和事务日志文件,以及检查数据库是否存在不一致。
Autodesk 建议在非办公时间每周至少运行一次维护计划。
在联网的工作组环境中,应该在每个 SQL Server 上配置维护计划。
管理员的部分任务应包括定期检查是否成功运行了维护计划。
如果为早期版本的 Vault 服务器配置了维护计划,请确保按照本文您检查并更新计划。
以下步骤在所有与 Vault 服务器配合使用的 SQL 版本(Express 和完整版 SQL)中通用。受支持的数据库引擎的完整列表位于产品自述文件中。
2. 单击“添加”按钮以添加其他数据文件。
3. 根据需要为新文件命名 temp2、temp3...。
4. 将每个数据文件的大小设置为 1,024 MB。如果使用的数据文件总数为 8 个,可以使用 512 MB 的大小。
5. 设置自动增长到 100 MB,不限制每个数据文件的增长。
6. 按照合并的数据文件总数来设置 LDF 日志文件。(例如:如果数据文件总数为 2 个,那么生成的 LDF 应设置为大小为 2048 MB)

维护计划可用于安排确保数据库正常执行所需的任务,例如保持较小的数据库和事务日志文件,以及检查数据库是否存在不一致。
SQL Standard/Enterprise

- 将所有 <Vault> 数据库的自动增长值设置为 100 MB(不限制增长)
- 将所有 <Vault>_log 文件的大小设置为 500 MB
- 将 <Custom_Library> 文件的自动增长值设置为 25 MB
- 将所有 _log 文件的自动增长值设置为“按 10%”(不限制增长)
或者,在表格中:
<table cellpadding="0" cellspacing="0" class="not-ruled"><colgroup><col width="28.57142857142857%"> <col width="30%"> <col width="41.42857142857142%"> </colgroup><tbody><tr class="not-ruled-heading"><th class="table-heading"><a name="GUID-1BF7003F-A559-4825-BFFD-FB97D6B18A50"></a><p class="table-heading">逻辑名称</p></th><th class="table-heading"><a name="GUID-231BC906-795B-405E-8884-1569544A41F7"></a><p class="table-heading">大小 (MB)</p></th><th class="table-heading"><a name="GUID-BC8C8F75-C7B1-4F73-9635-04F6FBC3A6D2"></a><p class="table-heading">自动增长</p></th></tr><tr class="not-ruled-odd-row"><td class="table-body"><a name="GUID-C243564C-EAAE-420F-8EC5-D26C04511FAB"></a><p class="table-body">KnowledgeVaultMaster</p></td><td class="table-body"> <a name="GUID-BB8AB4F5-598F-4BF5-9ECB-048741718130"></a><p class="table-body"></p></td><td class="table-body"><a name="GUID-A3D6331E-A19A-40AD-B6F2-F8EBFC3D1E3D"></a><p class="table-body">按 10 MB,不限制增长</p></td></tr><tr class="not-ruled-even-row"><td class="table-body"><a name="GUID-A622DCCB-0C5F-4B42-9005-F9B4F5DA9F9D"></a><p class="table-body">KnowledgeVaultMaster_log</p></td><td class="table-body"> <a name="GUID-76BD87FC-D749-4CA8-9629-3B3905C79EAE"></a><p class="table-body"></p></td><td class="table-body"><a name="GUID-A894530E-5D84-4C64-9B54-26E747F7B11D"></a><p class="table-body">按 10%,不限制增长</p></td></tr><tr class="not-ruled-odd-row"><td class="table-body"><a name="GUID-D7DCCAF3-6F3F-492A-B4DB-CA007CA6115D"></a><p class="table-body"><Vault></p></td><td class="table-body"> <a name="GUID-26B07E41-F59F-4F49-8425-F51E73BA3338"></a><p class="table-body"></p></td><td class="table-body"><a name="GUID-9A199818-107C-43D9-9BE4-8755DCDC364A"></a><p class="table-body">按 100 MB,不限制增长</p></td></tr><tr class="not-ruled-even-row"><td class="table-body"><a name="GUID-5DB9BF0E-F29F-4097-A83C-710380210B78"></a><p class="table-body"><Vault>_log</p></td><td class="table-body"><a name="GUID-28DA3532-8C96-43AE-8A3D-783C9B20A7B0"></a><p class="table-body">500</p></td><td class="table-body"><a name="GUID-92DC092E-D2FE-4B55-AC7A-5DAB3B77DECE"></a><p class="table-body">按 10%,不限制增长</p></td></tr><tr class="not-ruled-odd-row"><td class="table-body"><a name="GUID-DEBE2C9D-8448-43E9-8738-83B403DF0480"></a><p class="table-body"><Custom_Library></p></td><td class="table-body"> <a name="GUID-5CBD77D1-F5AF-4EB5-8226-1E9D26F011AF"></a><p class="table-body"></p></td><td class="table-body"><a name="GUID-7F14CAD4-99BE-479D-8D16-73917ECF7244"></a><p class="table-body">按 25 MB,不限制增长</p></td></tr><tr class="not-ruled-even-row"><td class="table-body"><a name="GUID-D8B69779-4668-4A24-BB99-B34ABB7068BD"></a><p class="table-body"><Custom_Library>_log</p></td><td class="table-body"> <a name="GUID-CA5DA034-3F54-447F-8314-3730A6ABF2B1"></a><p class="table-body"></p></td><td class="table-body"><a name="GUID-073C1CFA-7AC2-4B52-B5B8-A31035DB13ED"></a><p class="table-body">按 10%,不限制增长</p></td></tr><tr class="not-ruled-odd-row"><td class="table-body"><a name="GUID-F878689B-A11E-4FB6-ACB0-E2B7D43058FF"></a><p class="table-body"><Standard_Library></p></td><td class="table-body"> <a name="GUID-4355D925-E435-44B3-94FF-A9550443848B"></a><p class="table-body"></p></td><td class="table-body"><a name="GUID-AA11E133-4BA0-4FBA-AC4D-97B91DB632FC"></a><p class="table-body">按 25 MB,不限制增长</p></td></tr><tr class="not-ruled-even-row"><td class="table-body"><a name="GUID-3EB28DBE-B0BC-4896-B748-3DB5A3806E2F"></a><p class="table-body"><Standard_Library>_log</p></td><td class="table-body"> <a name="GUID-0330585C-1017-4584-B88F-9D9E235D6A69"></a><p class="table-body"></p></td><td class="table-body"><a name="GUID-540145D1-42B5-4249-8965-387CF7044FA6"></a><p class="table-body">按 10%,不限制增长</p></td></tr></tbody></table>
注意:上表中的空白单元指示不应更改默认设置。
灰色单元指示默认值,如果使用其他值,应按上述方式进行设置的。









Microsoft SQL Express 不允许您在 SQL Server Management Studio Express 内创建维护计划。
确保运行 SQL 维护计划的操作系统 (Windows) 用户在 SQL 内部拥有系统管理员角色。
通过命令提示修改 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 )"
```
如果使用多核系统,应该使用下面的指导配置其他数据文件。**注意:在 FILENAME 下使用的文件系统路径应该是 SQL 数据目录所在的相同位置。在下面的示例中,路径为:C:\Program Files\Microsoft SQL Server\MSSQL15.AUTODESKVAULT\MSSQL\DATA。您将需要修改脚本以列出正确的路径。
1. 数据文件应具有对等数量的可用的逻辑\虚拟处理器。例如,如果计算机有 12 个逻辑处理器,则会有 1x 个 .mdf 文件和 11x 个 .ndf 文件。如果磁盘空间很重要,则可以使用 512 MB 的“大小”,而不是 1024 MB。
注意:如果使用 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\MSSQL15.AUTODESKVAULT\MSSQL\DATA\tempdev_2.ndf', SIZE = 1024MB,
FILEGROWTH = 100MB)"
2. 如果需要创建更多的数据文件,对于 NAME 和 FILENAME 只需修改上面的示例以反映 tempdev_3 等。
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.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.