xp_sqlmaint (Transact-SQL)

Applies to: SQL Server

Calls the sqlmaint utility with a string that contains sqlmaint options (also known as switches). The sqlmaint utility performs a set of maintenance operations on one or more databases.

Note

This feature will be removed in a future version of SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Transact-SQL syntax conventions

Syntax

xp_sqlmaint 'switch_string'

Arguments

'switch_string'

A string containing the sqlmaint utility switches. The switches and their values must be separated by a space.

The -? switch isn't valid for xp_sqlmaint.

Return code values

None. Returns an error if the sqlmaint utility fails.

Remarks

If this procedure is called by a user logged on with SQL Server Authentication, the -U "<login_id>" and -P "<password>" switches are prepended to switch_string before execution. If the user is logged on with Windows Authentication, switch_string is passed without change to sqlmaint.

Permissions

Requires membership in the sysadmin fixed server role, or execute permission directly on this stored procedure.

Examples

In the following example, xp_sqlmaint calls sqlmaint to perform integrity checks, create a report file, and update 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';

Here's the result set.

The command(s) executed successfully.