xp_sqlmaint (Transact-SQL)

适用范围:SQL Server

使用包含 sqlmaint 选项(也称为开关)的字符串调用 sqlmaint 实用工具。 sqlmaint 实用工具对一个或多个数据库执行一组维护操作。

注意

在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

Transact-SQL 语法约定

语法

xp_sqlmaint 'switch_string'

参数

switch_string

包含 sqlmaint 实用工具开关的字符串。 开关及其值之间必须以空格分隔。

开关 -? 无效 xp_sqlmaint

返回代码值

无。 如果 sqlmaint 实用工具失败,则返回错误。

注解

如果此过程是由使用 SQL Server 身份验证登录的用户调用的,则 -U "<login_id>" 在执行前会将开关 -P "<password>" 追加到 switch_string 。 如果用户使用 Windows 身份验证登录,则会在不更改 sqlmaint 的情况下传递switch_string

权限

需要 sysadmin 固定服务器角色的成员身份,或直接在此存储过程上执行权限。

示例

在以下示例中, xp_sqlmaint 调用 sqlmaint 执行完整性检查、创建报表文件并更新 msdb.dbo.sysdbmaintplan_history

EXEC xp_sqlmaint '-D AdventureWorks2022 -PlanID 02A52657-D546-11D1-9D8A-00A0C9054212
   -Rpt "C:\Program Files\Microsoft SQL Server\MSSQL\LOG\DBMaintPlan2.txt" -WriteHistory -CkDB -CkAl';

结果集如下。

The command(s) executed successfully.