次の方法で共有


xp_sqlmaint (Transact-SQL)

適用対象: SQL Server

sqlmaint ユーティリティを、sqlmaint オプション (switches とも呼ばれます) を含む文字列で呼び出します。 sqlmaint ユーティリティは、1 つ以上のデータベースに対して一連のメンテナンス操作を実行します。

Note

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

Transact-SQL 構文表記規則

構文

xp_sqlmaint 'switch_string'

引数

'switch_string'

sqlmaint ユーティリティ スイッチを含む文字列。 スイッチとその値は、空白で区切る必要があります。

-? スイッチは、xp_sqlmaintに対して有効ではありません。

リターン コードの値

なし。 sqlmaint ユーティリティが失敗した場合にエラーを返します。

解説

この手順が SQL Server 認証でログオンしているユーザーによって呼び出された場合、 -U "<login_id>" スイッチと -P "<password>" スイッチは、実行前に switch_string の前に付加されます。 ユーザーが Windows 認証でログオンしている場合、 switch_stringsqlmaintに変更されずに渡されます。

アクセス許可

sysadmin固定サーバー ロールのメンバーシップが必要です。または、このストアド プロシージャに対して直接アクセス許可を実行する必要があります。

次の例では、xp_sqlmaintsqlmaint を呼び出して整合性チェックを実行し、レポート ファイルを作成し、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.