在SQL Server啟動(dòng)時(shí)自動(dòng)執(zhí)行存儲(chǔ)過(guò)程。第1/2頁(yè)
更新時(shí)間:2008年10月02日 01:02:05 作者:
當(dāng)sql server啟動(dòng)時(shí),我很想運(yùn)行一個(gè)存儲(chǔ)過(guò)程。有沒(méi)有一種方法可以在每次SQL Server服務(wù)啟動(dòng)時(shí)都會(huì)自動(dòng)執(zhí)行這個(gè)存儲(chǔ)過(guò)程呢?
sql Server提供了系統(tǒng)存儲(chǔ)過(guò)程sp_procoption,這個(gè)存儲(chǔ)過(guò)程可以用于當(dāng)SQL Server服務(wù)啟動(dòng)時(shí)指派一個(gè)或者多個(gè)存儲(chǔ)過(guò)程自動(dòng)執(zhí)行。這是一個(gè)很不錯(cuò)的選擇,它可以用于多種多樣的用途。比如,你可能在你的數(shù)據(jù)庫(kù)中有開(kāi)銷很大的查詢,這個(gè)查詢?cè)谑状螆?zhí)行時(shí)會(huì)花費(fèi)一些時(shí)間。通過(guò)使用sp_procoption,你可以在服務(wù)器啟動(dòng)時(shí)運(yùn)行這個(gè)查詢以此來(lái)預(yù)先編譯執(zhí)行計(jì)劃,由此,你的某個(gè)用戶就不會(huì)成為第一個(gè)運(yùn)行這個(gè)特殊查詢的不幸的人。我曾經(jīng)用這個(gè)功能建立了一個(gè)我自己寫的概要分析器服務(wù)器端跟蹤的自動(dòng)執(zhí)行功能,這個(gè)跟蹤功能成為服務(wù)器啟動(dòng)時(shí)被設(shè)置成自動(dòng)執(zhí)行的存儲(chǔ)過(guò)程的一部分。
sp_procoption Parameters
exec sp_procoption @ProcName = ['stored procedure name'],
@OptionName = 'STARTUP',
@OptionValue = [on|off]
以下是sp_procoption存儲(chǔ)過(guò)程參數(shù)的解釋:
l 參數(shù)@ProcName的意思是明顯的,它是被標(biāo)記成自動(dòng)執(zhí)行的過(guò)程的名稱。
l 參數(shù)@OptionName是可選用項(xiàng),唯一有效的選項(xiàng)是STARTUP。
l 參數(shù)@OptionValue切換自動(dòng)執(zhí)行的開(kāi)與關(guān)。
使用有特定限制的sp_procoption:
l 你必須以系統(tǒng)管理員的身份登錄服務(wù)器并使用sp_procoption。
l 你只能指派標(biāo)準(zhǔn)存儲(chǔ)過(guò)程、擴(kuò)展存儲(chǔ)過(guò)程或者CLR存儲(chǔ)過(guò)程來(lái)啟動(dòng)。
l 存儲(chǔ)過(guò)程必須在主從數(shù)據(jù)庫(kù)上。
l 存儲(chǔ)過(guò)程不能要求任何輸入?yún)?shù)或者返回任何輸出參數(shù)。
在下面的例子中,我創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,每次啟動(dòng)我的SQL Server實(shí)例時(shí),這個(gè)存儲(chǔ)過(guò)程就自動(dòng)執(zhí)行。這個(gè)存儲(chǔ)過(guò)程的目的是在記錄服務(wù)啟動(dòng)時(shí)間的數(shù)據(jù)庫(kù)表中寫一行。通過(guò)這張數(shù)據(jù)庫(kù)表,我產(chǎn)生一個(gè)獲得服務(wù)器正常運(yùn)行時(shí)間的想法。以下的腳本創(chuàng)建了一個(gè)新的數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)了一張叫做SERVER_STARTUP_LOG的公制表。這張表保留了上次服務(wù)器啟動(dòng)的日期和時(shí)間。一旦建立了這個(gè)基本的架構(gòu),我就創(chuàng)建存儲(chǔ)過(guò)程,在服務(wù)器啟動(dòng)時(shí),這個(gè)存儲(chǔ)過(guò)程將用于把日期和時(shí)間插入到表中。注意,存儲(chǔ)過(guò)程是在主從數(shù)據(jù)庫(kù)上創(chuàng)建的。
復(fù)制代碼 代碼如下:
sp_procoption Parameters
exec sp_procoption @ProcName = ['stored procedure name'],
@OptionName = 'STARTUP',
@OptionValue = [on|off]
以下是sp_procoption存儲(chǔ)過(guò)程參數(shù)的解釋:
l 參數(shù)@ProcName的意思是明顯的,它是被標(biāo)記成自動(dòng)執(zhí)行的過(guò)程的名稱。
l 參數(shù)@OptionName是可選用項(xiàng),唯一有效的選項(xiàng)是STARTUP。
l 參數(shù)@OptionValue切換自動(dòng)執(zhí)行的開(kāi)與關(guān)。
使用有特定限制的sp_procoption:
l 你必須以系統(tǒng)管理員的身份登錄服務(wù)器并使用sp_procoption。
l 你只能指派標(biāo)準(zhǔn)存儲(chǔ)過(guò)程、擴(kuò)展存儲(chǔ)過(guò)程或者CLR存儲(chǔ)過(guò)程來(lái)啟動(dòng)。
l 存儲(chǔ)過(guò)程必須在主從數(shù)據(jù)庫(kù)上。
l 存儲(chǔ)過(guò)程不能要求任何輸入?yún)?shù)或者返回任何輸出參數(shù)。
在下面的例子中,我創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,每次啟動(dòng)我的SQL Server實(shí)例時(shí),這個(gè)存儲(chǔ)過(guò)程就自動(dòng)執(zhí)行。這個(gè)存儲(chǔ)過(guò)程的目的是在記錄服務(wù)啟動(dòng)時(shí)間的數(shù)據(jù)庫(kù)表中寫一行。通過(guò)這張數(shù)據(jù)庫(kù)表,我產(chǎn)生一個(gè)獲得服務(wù)器正常運(yùn)行時(shí)間的想法。以下的腳本創(chuàng)建了一個(gè)新的數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)了一張叫做SERVER_STARTUP_LOG的公制表。這張表保留了上次服務(wù)器啟動(dòng)的日期和時(shí)間。一旦建立了這個(gè)基本的架構(gòu),我就創(chuàng)建存儲(chǔ)過(guò)程,在服務(wù)器啟動(dòng)時(shí),這個(gè)存儲(chǔ)過(guò)程將用于把日期和時(shí)間插入到表中。注意,存儲(chǔ)過(guò)程是在主從數(shù)據(jù)庫(kù)上創(chuàng)建的。
您可能感興趣的文章:
- 批量執(zhí)行sql語(yǔ)句的方法
- 提高SQL的執(zhí)行效率的ASP的五種做法
- asp在線執(zhí)行sql語(yǔ)句的函數(shù)
- 為什么ASP中執(zhí)行動(dòng)態(tài)SQL總報(bào)錯(cuò)誤信息?提示語(yǔ)句語(yǔ)法錯(cuò)誤
- mysql 顯示SQL語(yǔ)句執(zhí)行時(shí)間的代碼
- php執(zhí)行sql語(yǔ)句的寫法
- 高級(jí)MySQL數(shù)據(jù)庫(kù)面試問(wèn)題 附答案
- sql面試題(查看數(shù)據(jù)中指定幾行記錄)
- 一道sql面試題附答案
- 騰訊面試:一條SQL語(yǔ)句執(zhí)行得很慢的原因有哪些?---不看后悔系列(推薦)
相關(guān)文章
分享一下SQL Server執(zhí)行動(dòng)態(tài)SQL的正確方式
這篇文章主要介紹了SQL Server執(zhí)行動(dòng)態(tài)SQL正確方式,需要的朋友可以參考下2017-06-06
Mybatis4 之Mybatis動(dòng)態(tài)sql的實(shí)現(xiàn)代碼
這篇文章主要介紹了Mybatis4 之Mybatis動(dòng)態(tài)sql的實(shí)現(xiàn)代碼,本文給大家提到了靜態(tài)sql與動(dòng)態(tài)sql有什么區(qū)別,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
SqlServer中查看當(dāng)前Open的Cursor方法
這篇文章主要介紹了SqlServer中查看當(dāng)前Open的Cursor方法,本文為了解決A cursor with thename ' ' already exists總結(jié)的幾個(gè)方法,需要的朋友可以參考下2015-07-07
SQL?server修改表錯(cuò)誤提示:阻止保存需要重新創(chuàng)建表的更改解決辦法
這篇文章主要給大家介紹了關(guān)于SQL?server修改表錯(cuò)誤提示:阻止保存需要重新創(chuàng)建表的更改的解決辦法,文中將解決的辦法介紹的非常詳細(xì),對(duì)同樣遇到的朋友具有一定的參考解決價(jià)值,需要的朋友可以參考下2024-06-06
關(guān)于SQL Server加密與解密的問(wèn)題
這篇文章主要介紹了SQL Server加密與解密的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
通過(guò)T-SQL語(yǔ)句創(chuàng)建游標(biāo)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)加解密功能
這篇文章介紹了通過(guò)T-SQL語(yǔ)句創(chuàng)建游標(biāo)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)加解密功能的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
sql?server如何去除數(shù)據(jù)中的一些無(wú)用的空格
這篇文章主要介紹了sql?server去除數(shù)據(jù)中的一些無(wú)用的空格,本文給大家提到了一些常用的函數(shù),結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05

