首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 啟動自動執行預存程序:sp_procoption 設定與啟動流程詳解

     編輯:關於SqlServer

需求:SQL Server 服務啟動時自動執行特定預存程序 (如初始化快取、啟動背景作業、檢查環境)。

設定方法

  1. 預存程序必須建立於 master 資料庫。
  2. 兩種啟用方式:
  • Enterprise Manager:右鍵預存程序 → [Properties] → 勾選 [Execute whenever SQL Server starts]。
  • T-SQL:
USE master
EXEC sp_procoption 'procedure_name', 'startup', 'on'

啟動執行特性

  • 由 sysadmin 固定伺服器角色成員建立,背景程序執行。
  • 不可有輸入參數。
  • 無數量限制,但每個啟動程序佔用一個連線。
  • 優化:建立單一啟動程序,內部呼叫其他程序,僅佔用一連線。
  • 執行時機:最後一個資料庫恢復完成後開始執行。
  • 跳過啟動程序:啟動參數加入追蹤旗標 -T4022;最小配置啟動 -f 也不執行。

sp_procoption 完整功能

EXEC sp_procoption
    @ProcName = 'procedure_name',
    @OptionName = 'startup',
    @OptionValue = 'on' | 'off'  -- 啟用/停用啟動屬性

適用場景

  • 載入熱資料至記憶體表/快取表。
  • 啟動 Service Broker / 背景輪詢作業。
  • 驗證叢集/鏡像/可用性群組角色狀態。
  • 記錄啟動審計資訊。

總結

sp_procoption 是實現 SQL Server 服務級啟動自動化的標準機制。注意連線佔用與參數限制,善用單一入口程序協調多工作,可最小化啟動資源消耗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved