Системные хранимые процедуры (Transact-SQL)
В SQL Server 2005 многие задачи администрирования и сбора информации можно выполнять с помощью системных хранимых процедур. Системные хранимые процедуры объединяются в категории, перечисленные в следующей таблице.
В этом разделе
Категория | Описание |
---|---|
Используются для регистрации экземпляров SQL Server и баз данных SQL Server в службе Microsoft Windows 2000 Active Directory. |
|
Используются для реализации функций словаря данных ODBC и изоляции ODBC-приложений от изменений во внутренних системных таблицах. |
|
Используются для реализации различной функциональности курсоров. |
|
Используются для выполнения общих задач по обслуживанию компонента SQL Server Database Engine. |
|
Хранимые процедуры для работы с компонентом Database Mail и службой SQL Mail |
Используются для работы с электронной почтой в пределах экземпляра SQL Server. |
Хранимые процедуры для работы с планами обслуживания базы данных |
Используются для выполнения основных задач, необходимых для управления производительностью базы данных. |
Используются для реализации распределенных запросов и управления ими. |
|
Используются для создания полнотекстовых индексов и запросов к ним. |
|
Используются для создания, изменения и отслеживания конфигураций доставки журналов. |
|
Позволяют использовать стандартные объекты OLE-автоматизации в стандартных пакетах Transact-SQL. |
|
Хранимые процедуры для работы со службами Notification Services |
Используются для управления службами SQL Server 2005 Notification Services. |
Используются для управления репликацией. |
|
Используются для управления безопасностью. |
|
Хранимые процедуры для работы с приложением SQL Server Profiler |
Используются приложением SQL Server Profiler для отслеживания производительности и активности. |
Используются агентом SQL Server для управления запланированных или зависящих от событий действий. |
|
Используются для создания веб-узлов. |
|
Используются для работы с текстом в формате XML. |
|
Предоставляют внешним программам интерфейс к экземпляру SQL Server для выполнения различных задач обслуживания. |
Примечание. |
---|
Если не оговорено другое, все системные процедуры возвращают значение 0. Это означает успешное выполнение процедуры. Для сигнализации об ошибке возвращается ненулевое значение. |
Системные хранимые процедуры для работы с API
Пользователи, запускающие приложение SQL Server Profiler для приложений ADO, OLE DB и ODBC, могут заметить, что эти приложения используют системные хранимые процедуры, не описанные в справочнике по Transact-SQL. Эти хранимые процедуры используются поставщиком OLE DB для собственного клиента Microsoft SQL и ODBC-драйвером собственного клиента Microsoft SQL для реализации функциональности API базы данных. Эти хранимые процедуры — всего лишь механизм, задействованный поставщиком или драйвером для передачи запросов пользователя экземпляру SQL Server. Они предназначены только для внутреннего использования поставщиком или драйвером. Явный вызов этих процедур из приложений SQL Server не поддерживается.
Полный аналог функциональности этих хранимых процедур предоставляется приложениям SQL Server поддерживаемыми ими функциями API. Например, функции работы с курсором системной хранимой процедуры sp_cursor доступны приложениям OLE DB через свойства и методы API курсора OLE DB, а приложениям ODBC — через атрибуты и функции ODBC-курсора.
Следующие системные хранимые процедуры реализуют функциональность курсоров ADO, OLE DB и ODBC:
sp_cursor |
sp_cursorclose |
sp_cursorexecute |
sp_cursorfetch |
sp_cursoropen |
sp_cursoroption |
sp_cursorprepare |
sp_cursorunprepare |
|
Следующие системные хранимые процедуры реализуют модель «подготовка-выполнение» для выполнения инструкций Transact-SQL в ADO, OLE DB и ODBC:
sp_execute |
sp_prepare |
sp_unprepare |
Хранимые процедуры sp_createorphan и sp_droporphans используются ODBC для обработки ntext, text и image.
Хранимая процедура sp_reset_connection используется SQL Server для поддержки вызовов в транзакциях удаленных хранимых процедур. Кроме того, эта хранимая процедура инициирует события Audit Login и Audit Logout при повторном использовании соединения из пула соединений.
Системные хранимые процедуры в следующих таблицах используются внутри экземпляра SQL Server или через клиентские API и не предназначены для общего пользования. Они подвержены изменению, и совместимость не гарантируется.
Следующие хранимые процедуры описаны в электронной документации по SQL Server:
sp_catalogs |
sp_column_privileges |
sp_column_privileges_ex |
sp_columns |
sp_columns_ex |
sp_databases |
sp_datatype_info |
sp_fkeys |
sp_foreignkeys |
sp_indexes |
sp_pkeys |
sp_primarykeys |
sp_server_info |
sp_special_columns |
sp_sproc_columns |
sp_statistics |
sp_table_privileges |
sp_table_privileges_ex |
sp_tables |
sp_tables_ex |
Следующие хранимые процедуры в документации не описаны:
sp_assemblies_rowset |
sp_assemblies_rowset_rmt |
sp_assemblies_rowset2 |
sp_assembly_dependencies_rowset |
sp_assembly_dependencies_rowset_rmt |
sp_assembly_dependencies_rowset2 |
sp_bcp_dbcmptlevel |
sp_catalogs_rowset |
sp_catalogs_rowset;2 |
sp_catalogs_rowset;5 |
sp_catalogs_rowset_rmt |
sp_catalogs_rowset2 |
sp_check_constbytable_rowset |
sp_check_constbytable_rowset;2 |
sp_check_constbytable_rowset2 |
sp_check_constraints_rowset |
sp_check_constraints_rowset;2 |
sp_check_constraints_rowset2 |
sp_column_privileges_rowset |
sp_column_privileges_rowset;2 |
sp_column_privileges_rowset;5 |
sp_column_privileges_rowset_rmt |
sp_column_privileges_rowset2 |
sp_columns_90 |
sp_columns_90_rowset |
sp_columns_90_rowset_rmt |
sp_columns_90_rowset2 |
sp_columns_ex_90 |
sp_columns_rowset |
sp_columns_rowset;2 |
sp_columns_rowset;5 |
sp_columns_rowset_rmt |
sp_columns_rowset2 |
sp_constr_col_usage_rowset |
sp_datatype_info_90 |
sp_ddopen;1 |
sp_ddopen;10 |
sp_ddopen;11 |
sp_ddopen;12 |
sp_ddopen;13 |
sp_ddopen;2 |
sp_ddopen;3 |
sp_ddopen;4 |
sp_ddopen;5 |
sp_ddopen;6 |
sp_ddopen;7 |
sp_ddopen;8 |
sp_ddopen;9 |
sp_foreign_keys_rowset |
sp_foreign_keys_rowset;2 |
sp_foreign_keys_rowset;3 |
sp_foreign_keys_rowset;5 |
sp_foreign_keys_rowset_rmt |
sp_foreign_keys_rowset2 |
sp_foreign_keys_rowset3 |
sp_indexes_90_rowset |
sp_indexes_90_rowset_rmt |
sp_indexes_90_rowset2 |
sp_indexes_rowset |
sp_indexes_rowset;2 |
sp_indexes_rowset;5 |
sp_indexes_rowset_rmt |
sp_indexes_rowset2 |
sp_linkedservers_rowset |
sp_linkedservers_rowset;2 |
sp_linkedservers_rowset2 |
sp_oledb_database |
sp_oledb_defdb |
sp_oledb_deflang |
sp_oledb_language |
sp_oledb_ro_usrname |
sp_primary_keys_rowset |
sp_primary_keys_rowset;2 |
sp_primary_keys_rowset;3 |
sp_primary_keys_rowset;5 |
sp_primary_keys_rowset_rmt |
sp_primary_keys_rowset2 |
sp_procedure_params_90_rowset |
sp_procedure_params_90_rowset2 |
sp_procedure_params_rowset |
sp_procedure_params_rowset;2 |
sp_procedure_params_rowset2 |
sp_procedures_rowset |
sp_procedures_rowset;2 |
sp_procedures_rowset2 |
sp_provider_types_90_rowset |
sp_provider_types_rowset |
sp_schemata_rowset |
sp_schemata_rowset;3 |
sp_special_columns_90 |
sp_sproc_columns_90 |
sp_statistics_rowset |
sp_statistics_rowset;2 |
sp_statistics_rowset2 |
sp_stored_procedures |
sp_table_constraints_rowset |
sp_table_constraints_rowset;2 |
sp_table_constraints_rowset2 |
sp_table_privileges_rowset |
sp_table_privileges_rowset;2 |
sp_table_privileges_rowset;5 |
sp_table_privileges_rowset_rmt |
sp_table_privileges_rowset2 |
sp_table_statistics_rowset |
sp_table_statistics_rowset;2 |
sp_table_statistics2_rowset |
sp_tablecollations |
sp_tablecollations_90 |
sp_tables_info_90_rowset |
sp_tables_info_90_rowset_64 |
sp_tables_info_90_rowset2 |
sp_tables_info_90_rowset2_64 |
sp_tables_info_rowset |
sp_tables_info_rowset;2 |
sp_tables_info_rowset_64 |
sp_tables_info_rowset_64;2 |
sp_tables_info_rowset2 |
sp_tables_info_rowset2_64 |
sp_tables_rowset;2 |
sp_tables_rowset;5 |
sp_tables_rowset_rmt |
sp_tables_rowset2 |
sp_usertypes_rowset |
sp_usertypes_rowset_rmt |
sp_usertypes_rowset2 |
sp_views_rowset |
sp_views_rowset2 |
sp_xml_schema_rowset |
sp_xml_schema_rowset2 |
См. также
Справочник
CREATE PROCEDURE (Transact-SQL)
Другие ресурсы
Хранимые процедуры (компонент Database Engine)
Running Stored Procedures (OLE DB)
Running Stored Procedures