次の方法で共有


データベース エンジン ストアド プロシージャ (Transact-SQL)

適用対象: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 リソース プールの間のバインディングを削除します。