適用対象:SQL Server
SQL Server では、SQL Server のインスタンスの一般的なメンテナンスに使用される次のシステム ストアド プロシージャがサポートされています。
データベースの復旧とファイル管理
これらの手順は、疑わしいデータベースを回復し、データベース ファイルを管理するのに役立ちます。
| ストアド プロシージャ | Description |
|---|---|
| sp_add_data_file_recover_suspect_db | 十分な領域がないためにデータベースの復旧が失敗した場合に、データ ファイルをファイル グループに追加します。 |
| sp_add_log_file_recover_suspect_db | ログ領域が不足しているために復旧に失敗した場合に、ログ ファイルをデータベースに追加します。 |
| sp_attach_db | データベースをサーバーにアタッチします (非推奨。代わりに CREATE DATABASE FOR ATTACH を使用してください)。 |
| sp_attach_single_file_db | データ ファイルが 1 つしかないデータベースをサーバーにアタッチします (非推奨)。 |
| sp_certify_removable | リムーバブル メディアに配布するようにデータベースが正しく構成されていることを確認します (非推奨)。 |
| sp_create_removable | リムーバブル メディア データベースを作成します (非推奨。代わりにsp_detach_db使用してください)。 |
| sp_detach_db | サーバー インスタンスからデータベースをデタッチし、必要に応じて、デタッチする前に UPDATE STATISTICS を実行します。 |
| sp_resetstatus | 疑わしいデータベースの状態をリセットします (非推奨。ALTER DATABASE SET ONLINE または EMERGENCY を使用)。 |
サーバー構成
これらの手順では、サーバー レベルの設定とオプションを構成します。
| ストアド プロシージャ | Description |
|---|---|
| sp_configure | 現在のサーバーのグローバル構成設定を表示または変更します。 |
| sp_procoption | SQL Server の起動時に自動実行するためのストアド プロシージャを設定またはクリアします。 |
| sp_serveroption | リモート サーバーとリンク サーバーのサーバー オプションを設定します。 |
| sp_setnetname | sys.servers のネットワーク名を、リモート インスタンスの実際のネットワーク コンピューター名に設定します。 |
デバイスと履歴のバックアップ
これらの手順では、バックアップ デバイスとバックアップ履歴を管理します。
| ストアド プロシージャ | Description |
|---|---|
| sp_addumpdevice | バックアップ デバイスを SQL Server インスタンスに追加します。 |
| sp_dropdevice | SQL Server のインスタンスからバックアップ デバイスを削除します。 |
| sp_helpdevice | バックアップ デバイスに関する情報を報告します (非推奨。代わりにsys.backup_devicesを使用してください)。 |
| sp_delete_backuphistory | バックアップ履歴テーブルと復元履歴テーブルから、指定した日付より前のバックアップ履歴エントリを削除します。 |
拡張プロパティとメッセージ
これらのプロシージャは、データベース オブジェクトとユーザー定義エラー メッセージの拡張プロパティを管理します。
| ストアド プロシージャ | Description |
|---|---|
| sp_addextendedproperty | テーブル、ビュー、列、その他のスキーマ オブジェクトなどのデータベース オブジェクトに拡張プロパティを追加します。 |
| sp_dropextendedproperty | データベース オブジェクトから既存の拡張プロパティを削除します。 |
| sp_updateextendedproperty | 既存の拡張プロパティの値を更新します。 |
| sp_addmessage | RAISERROR ステートメントを使用して取得できるユーザー定義エラー メッセージを作成します。 |
| sp_altermessage | sys.messages カタログ ビューのユーザー定義エラー メッセージの状態を変更します。 |
| sp_dropmessage | 指定したユーザー定義エラー メッセージを sys.messages カタログ ビューから削除します。 |
拡張ストアド プロシージャ (非推奨)
これらのプロシージャは拡張ストアド プロシージャを管理します。CLR 統合を優先して非推奨とされます。
| ストアド プロシージャ | Description |
|---|---|
| sp_addextendedproc | 拡張ストアド プロシージャの名前をシステムに登録します (非推奨。CLR 統合を使用)。 |
| sp_dropextendedproc | 拡張ストアド プロシージャを削除します (非推奨。代わりに CLR 統合を使用してください)。 |
| sp_helpextendedproc | 現在定義されている拡張ストアド プロシージャと、それらが属している DLL を報告します。 |
データ型と既定値 (非推奨)
これらの手順では、別名のデータ型、既定値、ルールを管理します。これは、最新の代替手段を優先して非推奨とされます。
| ストアド プロシージャ | Description |
|---|---|
| sp_addtype | 別名データ型を作成します (非推奨。代わりに CREATE TYPE を使用してください)。 |
| sp_droptype | systypes から別名データ型を削除します (非推奨。代わりに DROP TYPE を使用してください)。 |
| sp_bindefault | 既定値を列または別名データ型にバインドします (非推奨。DEFAULT 制約を使用)。 |
| sp_unbindefault | 現在のデータベースの列または別名データ型から既定値のバインドを解除します。 |
| sp_bindrule | 列または別名データ型に規則をバインドします (非推奨。CHECK 制約を使用)。 |
| sp_unbindrule | 現在のデータベースの列または別名データ型からルールのバインドを解除します。 |
統計管理
これらのプロシージャは、クエリの最適化のための統計を管理します。
| ストアド プロシージャ | Description |
|---|---|
| sp_autostats | インデックス、統計オブジェクト、テーブル、またはインデックス付きビューの UPDATE STATISTICS の自動設定を表示または変更します。 |
| sp_createstats | 現在のデータベース内のすべてのユーザー テーブルの対象となるすべての列の単一列統計を作成します。 |
| sp_helpstats | 指定したテーブルの列およびインデックスに関する統計を返します。 |
| sp_updatestats | 現在のデータベース内のすべてのユーザー定義テーブルと内部テーブルに対して UPDATE STATISTICS を実行します。 |
計画ガイド
これらの手順では、クエリ実行プランを最適化するためのプラン ガイドを管理します。
| ストアド プロシージャ | Description |
|---|---|
| sp_control_plan_guide | プラン ガイドを有効、無効、または削除します。 |
| sp_create_plan_guide | クエリ ヒントまたは実際のクエリ プランをデータベース内のクエリに関連付するためのプラン ガイドを作成します。 |
| sp_create_plan_guide_from_handle | プラン キャッシュ内のクエリ プランから 1 つ以上のプラン ガイドを作成します。 |
| sp_get_query_template | TEMPLATE プラン ガイドの作成に役立つクエリのパラメーター化された形式を返します。 |
データベース ミラーリングの監視
これらの手順では、データベース ミラーリング セッションを監視します。
| ストアド プロシージャ | Description |
|---|---|
| sp_dbmmonitoraddmonitoring | サーバー インスタンス上のすべてのミラー化されたデータベースの状態情報を定期的に更新するジョブを作成します。 |
| sp_dbmmonitorchangealert | 指定したデータベース ミラーリング パフォーマンス メトリックの警告しきい値を追加または変更します。 |
| sp_dbmmonitorchangemonitoring | データベース ミラーリング監視パラメーターの値を変更します。 |
| sp_dbmmonitordropalert | ミラー化されたデータベースで、指定されたパフォーマンス メトリックに対する警告を削除します。 |
| sp_dbmmonitordropmonitoring | サーバー インスタンス上のすべてのデータベースのデータベース ミラーリング モニター ジョブを停止および削除します。 |
| sp_dbmmonitorhelpalert | 1 つまたはすべてのデータベース ミラーリング パフォーマンス メトリックの警告しきい値に関する情報を返します。 |
| sp_dbmmonitorhelpmonitoringデータベースモニタリング支援コマンド | データベース ミラーリング モニター ジョブの現在の更新期間を返します。 |
| sp_dbmmonitorresults | 監視対象のミラー化されたデータベースの状態行を状態テーブルから返します。 |
クエリの実行
これらのプロシージャは、Transact-SQL ステートメントを実行および管理します。
| ストアド プロシージャ | Description |
|---|---|
| sp_execute | 指定したハンドルと省略可能なパラメーター値を使用して、準備された Transact-SQL ステートメントを実行します。 |
| sp_executesql | 異なるパラメーターで何度も再利用できる Transact-SQL ステートメントまたはバッチを実行します。 |
| sp_prepare | パラメーター化された Transact-SQL ステートメントを準備し、実行用のステートメント ハンドルを返します。 |
| sp_prepexec | 準備アクションと最初の実行アクションを組み合わせて、パラメーター化された Transact-SQL ステートメントを準備して実行します。 |
| sp_prepexecrpc | RPC 識別子を使用して指定されたパラメーター化ストアド プロシージャ呼び出しを準備して実行します。 |
| sp_unprepare | sp_prepare ストアド プロシージャによって作成された実行プランを破棄します。 |
| sp_describe_first_result_set | Transact-SQL バッチの可能性のある最初の結果セットのメタデータを返します。 |
| sp_describe_undeclared_parameters | Transact-SQL バッチ内の宣言されていないパラメーターに関するメタデータを含む結果セットを返します。 |
アプリケーション ロック
これらの手順では、カスタム同期スキームのアプリケーション レベルのロックを管理します。
| ストアド プロシージャ | Description |
|---|---|
| sp_getapplock | カスタム同期スキームで使用するアプリケーション リソースにロックを設定します。 |
| sp_releaseapplock | sp_getapplockによって以前に取得されたアプリケーション リソースのロックを解放します。 |
セッションと接続の管理
これらの手順では、セッションとバインドされた接続を管理します。
| ストアド プロシージャ | Description |
|---|---|
| sp_bindsession | 同じインスタンス内の他のセッションへの接続をバインドまたはバインド解除します (非推奨。MARS または分散トランザクションを使用)。 |
| sp_getbindtoken | セッションをバインドするトランザクションの一意識別子を返します (非推奨)。 |
| sp_set_session_context | セッション コンテキストにキーと値のペアを設定します。 |
データベース情報
これらのプロシージャは、データベースとデータベース オブジェクトに関する情報を返します。
| ストアド プロシージャ | Description |
|---|---|
| sp_help | データベース オブジェクト、ユーザー定義データ型、またはデータ型に関する情報を報告します。 |
| sp_helpconstraint | すべての制約の種類、その名前、およびそれらが定義されている列の一覧を返します。 |
| sp_helpdb | 指定したデータベースまたはすべてのデータベースに関する情報を報告します。 |
| sp_helpfile | 現在のデータベースに関連付けられたファイルの物理名と属性を返します。 |
| sp_helpfilegroup | 現在のデータベースに関連付けられたファイル グループの名前と属性を返します。 |
| sp_helpindex | テーブルまたはビューのインデックスに関する情報をレポートします。 |
| sp_helplanguage | SQL Server の特定の代替言語またはすべての言語に関する情報を報告します。 |
| sp_helpserver | 特定のリモート サーバーまたはレプリケーション サーバーに関する情報、または両方の種類のすべてのサーバーに関する情報を報告します。 |
| sp_helpsort | SQL Server のインスタンスの並べ替え順序と文字セットを表示します。 |
| sp_helptext | ユーザー定義ルール、既定の暗号化されていないストアド プロシージャ、関数、トリガー、またはビューの定義を表示します。 |
| sp_helptrigger | 現在のデータベースの指定したテーブルで定義されている DML トリガーの型または型を返します。 |
| sp_depends | データベース オブジェクトの依存関係に関する情報を表示します (非推奨、sys.dm_sql_referencing_entities使用)。 |
| sp_datatype_info | 現在の環境でサポートされているデータ型に関する情報を返します。 |
データベースのメンテナンス
これらの手順では、さまざまなデータベース メンテナンス タスクを実行します。
| ストアド プロシージャ | Description |
|---|---|
| sp_clean_db_file_free_space | データ変更ルーチンが原因で、特定のデータベース ファイル内のデータベース ページに残っている残余情報を削除します。 |
| sp_clean_db_free_space | データ変更ルーチンが原因で、すべてのファイルのデータベース ページに残っている残余情報を削除します。 |
| sp_cycle_errorlog | 現在のエラー ログ ファイルを閉じ、サーバーの再起動などのエラー ログ拡張番号を循環します。 |
| sp_readerrorlog | SQL Server エラー ログまたは SQL Server エージェント ログ ファイルを読み取り、キーワードにフィルター処理します。 |
| sp_recompile | ストアド プロシージャ、トリガー、またはユーザー定義関数を次回実行時に再コンパイルするようにマークします。 |
| sp_refreshview | 指定された非スキーマ バインド ビューのメタデータを更新します。 |
| sp_spaceused | テーブル、インデックス付きビュー、または Service Broker キューで使用される行数、予約済みディスク領域、ディスク領域を表示します。 |
オブジェクト管理
これらのプロシージャは、テーブル、インデックス、トリガーなどのデータベース オブジェクトを管理します。
| ストアド プロシージャ | Description |
|---|---|
| sp_rename | テーブル、インデックス、列、別名のデータ型など、現在のデータベースでユーザーが作成したオブジェクトの名前を変更します。 |
| sp_renamedb | データベースの名前を変更します (非推奨。代わりに ALTER DATABASE MODIFY NAME を使用してください)。 |
| sp_indexoption | ユーザー定義インデックスのロック オプション値を設定します (非推奨。代わりに ALTER INDEX を使用してください)。 |
| sp_settriggerorder | 最初または最後に起動される AFTER トリガーを指定します。 |
| sp_tableoption | テキスト、ntext、またはイメージ列を含むテーブルの行内のテキスト オプションなど、ユーザー定義テーブルのオプション値を設定します。 |
| sp_sequence_get_range | シーケンス オブジェクトからシーケンス値の範囲を返します。 |
| sp_validname | 有効な SQL Server 識別子名を確認します。 |
監視と診断
これらの手順では、監視と診断の情報を提供します。
| ストアド プロシージャ | Description |
|---|---|
| sp_lock | ロックに関する情報を報告します (非推奨。代わりにsys.dm_tran_locksを使用してください)。 |
| sp_monitor | CPU 使用率、I/O 使用率、sp_monitorが最後に実行されてからのアイドル時間などの統計情報を表示します。 |
| sp_who | SQL Server のインスタンス内の現在のユーザー、セッション、およびプロセスに関する情報を提供します。 |
| sp_invalidate_textptr | セッション内の指定された行内テキスト ポインターまたはセッション内のすべての行内テキスト ポインターを無効にします。 |
Endpoint management (エンドポイント管理)
これらの手順では、エンドポイントとその証明書を管理します。
| ストアド プロシージャ | Description |
|---|---|
| sp_get_endpoint_certificate | エンドポイントによって現在使用されている証明書に関する情報を取得します。 |
互換性 (非推奨)
これらの手順は非推奨であり、下位互換性のために提供されています。
| ストアド プロシージャ | Description |
|---|---|
| sp_db_increased_partitions | 最大 15,000 個のパーティションのサポートを有効または無効にします (非推奨。既定で使用可能)。 |
| sp_dbcmptlevel | 指定したバージョンと互換性のあるデータベース動作を設定します (非推奨。ALTER DATABASE SET COMPATIBILITY_LEVELを使用)。 |
インメモリ OLTP
これらの手順では、メモリ最適化テーブルと OLTP 機能 In-Memory 管理します。
| ストアド プロシージャ | Description |
|---|---|
| sys.sp_merge_xtp_checkpoint_files | 指定されたトランザクション範囲内のすべてのデータ ファイルとデルタ ファイルをマージします (非推奨。現在は自動)。 |
| sys.sp_xtp_control_proc_exec_stats | ネイティブ コンパイル ストアド プロシージャのプロシージャ レベルで統計コレクションを有効または無効にします。 |
| sys.sp_flush_log | 現在のデータベースのトランザクション ログをディスクにフラッシュし、以前の持続性のあるメモリ最適化トランザクションをすべて強化します。 |
| sys.sp_xtp_bind_db_resource_pool | メモリ最適化テーブルを持つデータベースを、指定された Resource Governor リソース プールにバインドします。 |
| sys.sp_xtp_control_query_exec_stats | すべてのネイティブ コンパイル ストアド プロシージャのクエリごとの統計コレクションを有効または無効にします。 |
| sys.sp_xtp_checkpoint_force_garbage_collection | 不要になった OLTP チェックポイント ファイル In-Memory ガベージ コレクションを強制します。 |
| sys.sp_xtp_force_gc | メモリ最適化テーブルとそれに関連付けられている行バージョンのガベージ コレクションを強制します。 |
| sys.sp_xtp_unbind_db_resource_pool | In-Memory OLTP のデータベースと Resource Governor リソース プールの間のバインディングを削除します。 |