--方法1:作業里定時執行存儲過程定時作業的制定 企業管理器 --管理 --SQL Server代理 --右鍵作業 --新建作業 --"常規"項中輸入作業名稱 --"步驟"項 --新建 --"步驟名"中輸入步驟名 --"類型"中選擇"Transact-SQL 腳本(TSQL)" --"資料庫"選擇執行命令的資料庫 --"命令"中輸入要執行的語句: EXEC 存儲過程名 ... --該存儲過程用於創建表 --確定 --"調度"項 --新建調度 --"名稱"中輸入調度名稱 --"調度類型"中選擇你的作業執行安排 --如果選擇"反復出現" --點"更改"來設置你的時間安排 然後將SQL Agent服務啟動,並設置為自動啟動,否則你的作業不會被執行 設置方法: 我的電腦--控制面板--管理工具--服務--右鍵 SQLSERVERAGENT--屬性--啟動類型--選擇"自動啟動"--確定. --方法2:將存儲過程創建在master資料庫中,然後企業管理器中找到這個存儲過程--右鍵--屬性--勾選"每當sql server啟動時執行"。 或在master中創建存儲過程後,執行語句配置為自動啟動 use master exec sp_procoption '存儲過程名','startup','on' 自動執行存儲過程 SQL Server 啟動時能夠自動執行一個或多個存儲過程。這些存儲過程必須由系統管理員創建,並在 sysadmin 固定伺服器角色下作為後台過程執行。這些過程不能有任何輸入參數。 對啟動過程的數目沒有限制,但是要注意,每個啟動過程在執行時都會佔用一個連接。假如必須在啟動時執行多個過程,但無需並行執行,則能夠指定一個過程作為啟動過程,讓該過程調用其他過程。這樣就只佔用一個連接。 在啟動時恢復了最後一個資料庫後,即開始執行存儲過程。若要跳過這些存儲過程的執行,請將啟動參數指定為跟蹤標記 4022。假如以最低配置啟動 SQL Server(使用 -f 標記),則啟動存儲過程也不會執行。有關更多信息,請參見跟蹤標記。 若要創建啟動存儲過程,必須作為 sysadmin 固定伺服器角色的成員登錄,並在 master 資料庫中創建存儲過程。 使用 sp_procoption 能夠: 將現有存儲過程指定為啟動過程。
㈡ SQL修改存儲過程創建日期
你的方法是正確的。相信自己,沒錯的。
我用sp_who試了下,時間改過來了
已將配置選項 'allow updates' 從 0 改為 1。請運行 RECONFIGURE 語句以安裝。
(所影響的行數為 1 行)
已將配置選項 'allow updates' 從 1 改為 0。請運行 RECONFIGURE 語句以安裝。
㈢ SQL Server 里需要定時執行某個存儲過程,存儲過程怎麼寫
1、管理->SQL Server代理->作業(按滑鼠右鍵)->新建作業->
2、新建作業屬性(常規)->名稱[自定義本次作業的名稱]->啟用的方框內是勾號->
分類處可選擇也可用默認的[未分類(本地)]->所有者默認為登錄SQL Server用戶[也可選其它的登錄]->描述[填寫本次工作詳細描述內容];[ 創建作業分類的步驟:SQL Server代理->作業->右鍵選所有任務->添加、修改、刪除 ]
3、新建作業屬性(步驟)->新建->步驟名[自定義第一步驟名稱]->類型[Transact-SQL(TSQL)腳本]->資料庫[要操作的資料庫]->命令[ 如果是簡單的SQL直接寫進去即可,也可用打開按鈕輸入一個已寫好的*.sql文件如果要執行存儲過程,填exec p_procere_name v_parameter1,[ v_parameter2…v_parameterN]]->確定(如果有多個步驟,可以再次調用下面的新建按鈕;也可以對已有的多個步驟插入、編輯、刪除);
4、建作業屬性(調度)->新建調度->名稱[自定義調度名稱]->啟用的方框內是勾號->調度->反復出現->更改[調度時間表]->確定(如果只要保存此作業,不要定時做可以把啟用的方框內是勾號去掉);
5、建作業屬性(通知)->用默認的通知方法就好[當作業失敗時,寫入Windows應用程序系統日誌] ->確定。
㈣ sql中如何設置存儲過程的默認值為當前日期
存儲過程參數的默認值只允許常量和null. 可以做如下修改:
create proc proc_borrow
@willdate datetime=null,@retumdate datetime=null
as
select * from Borrow where WillDate between isnull(@willdate,dateadd(yy,-1,GETDATE())) and isnull(@retumdate,GETDATE())
go
㈤ sqlserver怎麼限制一個存儲過程或一條語句的執行時間
我覺得超時對於連接來說,也是一種異常,正常情況下,連接異常就回滾操作,關閉連接就好了
至於資料庫連接的建立,那是資料庫連接池做的工作呀,不影響的
㈥ 在sql存儲過程中Print如何來設置時間
如果是判斷存儲過程的運行時間,那麼你@BeginTime2應該是在運行開始時,賦為當前日期值,在存儲過程最後列印,實際基本可以判斷出運行的分鍾數了吧。
日期類型需要轉換為字元串才能和字元串拼接
Convert(varchar(20),getdate(),20) 是日期轉換字元串的轉換函數其中最後的20是字元串格式化參數,比如Convert(varchar(20),getdate(),113),Convert(varchar(20),getdate(),120)都可以轉換為不同格式的日期顯示格式
Cast是強制類型轉換,在這里是將int類型轉換為字元串,使用方式舉例:cast (123 as varchar) ,cast('2434' as int) 具體可以看看SQL幫助(查詢分析器按F1)
Datediff是日期比較函數, 其中mi指兩個時間的分鍾差額,返回的是int類型,如果要拼到字元串中,也需要轉換為字元串.datediff還可以判斷相差的天數:
datediff(dd,'2010-12-25',getdate()) 年數、秒數等等,具體可以參考幫助和自己動手實驗了。
㈦ SQL存儲過程我想設定一個時間,過三個小時後再執行這個存儲過程
存儲過程內不能直接使用create或alter,需要使用EXECUTE執行動態語句才可以
還有執行存儲過程,必須在命令窗口內執行
㈧ MSSQL資料庫中定時存儲的存儲過程
您好!要實現你要的功能;操作如下:
一、可以先寫好存儲過程的內容;放在目標資料庫中
二、在MSSQL的SQL server代理——〉作業——〉新建一個作業 在[常規]選項卡中 設置 名稱AUTOZY——〉在[步驟]選項卡中 點擊[新建作業]
三、在彈出的作業步驟窗口中;填寫步聚名稱(自己取一個)--運行身份選擇SA或者WINDOWS運行都可以---在資料庫處選擇 目標資料庫(這步很關鍵)---
在命令 處 寫 exec 存儲過程的名稱(這個不要寫錯)---點擊[確定] 返回上級窗口
四、選擇[計劃]選項卡 --在計劃窗口中可以具體設置怎麼樣定時運行的方案
五、設置好後 [確定]返回上級窗口---再點擊[確定]保存了這個作業
如有不明之處;歡迎CALL 我
㈨ SQL資料庫裡面存儲過程裡面的創建時間怎麼修改
抱歉,我沒有體溫過這樣的問題。但是,我依然可以回答你的問題,你編輯存儲過程的,裡面有注釋,以SQL SERVER 2005和SQL SERVER 2008 R2為例,修改存儲過程:你會看到裡面有這樣的時間戳,如果你深入了解一下,你會發現,它這個時間的來歷,是調用了.NET FRAMEWORK 種的DateTime類中的方法獲取的。每次編輯,都獲取當前時間,僅此而已。
㈩ sql server中的存儲過程的日期參數怎麼賦當前日期
執行下面的存儲過程即可:
SELECT [name], [create_date], [modify_date]
FROM [sys].[objects]
WHERE [type] = 'P'
ORDER BY [modify_date] DESC
如果想找到更多的被修改過的存儲過程、用戶表、自定義函數,觸發器,可以執行下面的SQL語句:
SELECT [name],[create_date] , [modify_date]
FROM [sys].[objects]
WHERE [type] IN('P','U','IF','TR') --存儲過程,用戶表,自定義函數,觸發器
ORDER BY [modify_date] DESC