亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQL SERVER數據庫的作業的腳本及存儲過程

2024-08-31 01:03:17
字體:
來源:轉載
供稿:網友

本站文章旨在為該問題提供解決思路及關鍵性代碼,并不能完成應該由網友自己完成的所有工作,請網友在仔細看文章并理解思路的基礎上舉一反三、靈活運用

 

 
  1. IF EXISTS (SELECT name 
  2. FROM sysobjects  
  3. WHERE name = N'cg_DoBackupJob' 
  4. AND type = 'P'
  5. DROP PROCEDURE cg_DoBackupJob 
  6. GO  
  7.  
  8.  
  9. CREATE PROCEDURE [cg_DoBackupJob] 
  10. @DataBaseName varchar(100), 
  11. @FileHead varchar(50), 
  12. @isFullBackup bit, -- 0 差量備份 1 完整備份 
  13. @FolderPath varchar(50) = 'f:/db_backup/'
  14. @BackName varchar(100) = 'unknown', -- 描述字串 
  15. @isAppendMedia bit = 1 -- 0 覆蓋媒體 1 追加到媒體  
  16.  
  17. AS 
  18. declare @filePath varchar(150) 
  19. declare @sql varchar(1000) 
  20.  
  21.  
  22. select @filePath=@FolderPath + @FileHead + '_' + case @isFullBackup when 1 then 'FullBackup' when 0 then 'DifferBackup' end + '_' + convert ( nvarchar(11) ,getdate() , 112 )  
  23. case @isFullBackup when 1 then '' when 0 then replace(convert(nvarchar(15),getdate(),114),':','') end 
  24. --print(@filePath) 
  25.  
  26. select @sql ='BACKUP DATABASE [' + @DataBaseName + '] TO DISK = '''  
  27. + @filePath + ''' WITH ' 
  28. case @isAppendMedia when 0 then 'INIT' when 1 then 'NOINIT' end  
  29. ' , NOUNLOAD , ' 
  30. case @isFullBackup when 0 then 'DIFFERENTIAL , ' when 1 then '' end  
  31. ' NAME = N''' + @BackName + '備份'', NOSKIP , STATS = 10, NOFORMAT' 
  32.  
  33. execute(@sql) 
  34. --print(@sql) 
  35. GO 
  36.  
  37. -- ============================================= 
  38. -- example to execute the store procedure 
  39. -- ============================================= 
  40. EXECUTE cg_DoBackupJob 'cg_access911','access911',1 
  41. GO 

用系統存儲過程去創建作業,代碼如下:

 

 
  1. BEGIN TRANSACTION 
  2. DECLARE @JobID BINARY(16)  
  3. DECLARE @ReturnCode INT 
  4. SELECT @ReturnCode = 0  
  5. IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1  
  6. EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]' 
  7.  
  8.  
  9. -- 刪除同名的警報(如果有的話)。 
  10. SELECT @JobID = job_id  
  11. FROM msdb.dbo.sysjobs  
  12. WHERE (name = N'access911_每2周備份一次')  
  13. IF (@JobID IS NOT NULL)  
  14. BEGIN 
  15. -- 檢查此作業是否為多重服務器作業  
  16. IF (EXISTS (SELECT *  
  17. FROM msdb.dbo.sysjobservers  
  18. WHERE (job_id = @JobID) AND (server_id <> 0)))  
  19. BEGIN 
  20. -- 已經存在,因而終止腳本  
  21. RAISERROR (N'無法導入作業“access911_每2周備份一次”,因為已經有相同名稱的多重服務器作業。', 16, 1)  
  22. GOTO QuitWithRollback  
  23. END 
  24. ELSE 
  25. -- 刪除[本地]作業  
  26. EXECUTE msdb.dbo.sp_delete_job @job_name = N'access911_每2周備份一次' 
  27. SELECT @JobID = NULL 
  28. END 
  29.  
  30. BEGIN 
  31.  
  32. -- 添加作業 
  33. EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'access911_每2周備份一次', @owner_login_name = N'Access911/access911', @description = N'沒有可用的描述。', @category_name = N'[Uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0 
  34. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback  
  35.  
  36. -- 添加作業步驟 
  37. EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'2周備份', @command = N'EXECUTE cg_DoBackupJob ''a9SupperDatabase'',''a9SupperDatabase'',1 
  38. ', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2 
  39. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback  
  40. EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1  
  41.  
  42. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback  
  43.  
  44. -- 添加作業調度 
  45. EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'diaodu', @enabled = 1, @freq_type = 8, @active_start_date = 20061009, @active_start_time = 0, @freq_interval = 64, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 2, @active_end_date = 99991231, @active_end_time = 235959 
  46. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback  
  47.  
  48. -- 添加目標服務器 
  49. EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)' 
  50. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback  
  51.  
  52. END 
  53. COMMIT TRANSACTION 
  54. GOTO EndSave  
  55. QuitWithRollback: 
  56. IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION 
  57. EndSave:  

Transact-SQL 參考

 

 
  1. sp_add_jobschedule 
  2. 創建作業調度。 
  3.  
  4. 語法 
  5. sp_add_jobschedule [ @job_id = ] job_id, | [ @job_name = ] 'job_name'
  6. [ @name = ] 'name' 
  7. [ , [ @enabled = ] enabled ] 
  8. [ , [ @freq_type = ] freq_type ] 
  9. [ , [ @freq_interval = ] freq_interval ] 
  10. [ , [ @freq_subday_type = ] freq_subday_type ] 
  11. [ , [ @freq_subday_interval = ] freq_subday_interval ] 
  12. [ , [ @freq_relative_interval = ] freq_relative_interval ] 
  13. [ , [ @freq_recurrence_factor = ] freq_recurrence_factor ] 
  14. [ , [ @active_start_date = ] active_start_date ] 
  15. [ , [ @active_end_date = ] active_end_date ] 
  16. [ , [ @active_start_time = ] active_start_time ] 
  17. [ , [ @active_end_time = ] active_end_time ] 
  18.  
  19. 參數 
  20. [ @jobid = ] job_id 
  21.  
  22. 將向其中添加調度的作業的作業標識號。job_id 的數據類型為 uniqueidentifier,默認設置為 NULL。 
  23.  
  24. [ @job_name = ] 'job_name' 
  25.  
  26. 作業的名稱,調度即添加到該作業中。job_name 的數據類型為 sysname,默認設置為 NULL。 
  27.  
  28.  
  29.  
  30. 說明 必須指定 job_id 或 job_name,但不能兩個都指定。 
  31.  
  32.  
  33. [ @name = ] 'name' 
  34.  
  35. 調度的名稱。name 的數據類型為 sysname,沒有默認設置。 
  36.  
  37. [ @enabled = ] enabled 
  38.  
  39. 指明調度的當前狀態。enabled 的數據類型為 tinyint,默認設置為 1(啟用)。如果為 0,則不啟用調度。禁用該調度時,不運行作業。 
  40.  
  41. [ @freq_type = ] freq_type 
  42.  
  43. 用于指明何時將執行作業的值。freq_type 的數據類型為 int,默認設置為 0,可以是下列值之一。 
  44.  
  45. 值 描述  
  46. 1 一次  
  47. 4 每天  
  48. 8 每周  
  49. 16 每月  
  50. 32 每月,與 freq interval 相關  
  51. 64 當 SQLServerAgent 服務啟動時運行  
  52. 128 計算機空閑時運行  
  53.  
  54.  
  55. [ @freq_interval = ] freq_interval 
  56.  
  57. 作業執行的天數。freq_interval 的數據類型為 int,默認設置為 0,依賴于 freq_type 的值。 
  58.  
  59. freq_type 的值 對 freq_interval 的影響  
  60. 1(一次) 未使用 freq_interval。  
  61. 4(每天) 每個 freq_interval 日。  
  62. 8(每周) freq_interval 為下面的一個或多個值(與 OR 邏輯運算符結合使用):  
  63. 1 = 星期日 
  64. 2 = 星期一 
  65. 4 = 星期二 
  66. 8 = 星期三 
  67. 16 = 星期四 
  68. 32 = 星期五 
  69. 64 = 星期六 
  70.  
  71. 16(每月) 每月的 freq_interval 日。  
  72. 32(每月相對) freq_interval 為下列值之一:  
  73. 1 = 星期日  
  74. 2 = 星期一  
  75. 3 = 星期二  
  76. 4 = 星期三  
  77. 5 = 星期四  
  78. 6 = 星期五  
  79. 7 = 星期六  
  80. 8 = 日  
  81. 9 = 工作日 
  82. 10 = 周末 
  83.  
  84. 64(當 SQLServerAgent 服務啟動時) 未使用 freq_interval。  
  85. 128 未使用 freq_interval。  
  86.  
  87.  
  88. [ @freq_subday_type = ] freq_subday_type 
  89.  
  90. 指定 freq_subday_interval 的單位。freq_subday_type 為 int 類型,其默認值為 0,且可以取下列值之一。 
  91.  
  92. 值 描述(單位)  
  93. 0x1 在指定的時間  
  94. 0x4 分鐘  
  95. 0x8 小時  
  96.  
  97.  
  98. [ @freq_subday_interval = ] freq_subday_interval 
  99.  
  100. 作業每次執行之間要出現的 freq_subday_type 周期數。freq_subday_interval 的數據類型為 int,默認設置為 0。 
  101.  
  102. [ @freq_relative_interval = ] freq_relative_interval 
  103.  
  104. 如果 freq_interval 是 32(每月相對),則為每月中已調度作業的 freq_interval 的發生情況。freq_relative_interval 的數據類型為 int,默認設置為 0,可以是下列值之一。 
  105.  
  106. 值 描述(單位)  
  107. 1 第一頁  
  108. 2 秒  
  109. 4 第三個  
  110. 8 第四個  
  111. 16 最后一頁  
  112.  
  113.  
  114. [ @freq_recurrence_factor = ] freq_recurrence_factor 
  115.  
  116. 作業的已調度執行之間的周數或月數。只有當 freq_type 是 8、16 或 32 時,才使用 freq_recurrence_factor。freq_recurrence_factor 的數據類型為 int,默認設置為 0。 
  117.  
  118. [ @active_start_date = ] active_start_date 
  119.  
  120. 作業可開始執行的日期。active_start_date 的數據類型為 int,默認設置為 NULL,該值表示當天的日期。日期的格式為 YYYYMMDD。如果 active_start_date 不為 NULL,則日期必須大于或等于 19900101。 
  121.  
  122. [ @active_end_date = ] active_end_date 
  123.  
  124. 作業可停止執行的日期。active_end_date 的數據類型為 int,默認設置為 99991231,該值表示 9999 年 12 月 31 日。格式為 YYYYMMDD。 
  125.  
  126. [ @active_start_time = ] active_start_time 
  127.  
  128. 在 active_start_date 和 active_end_date 之間的任何一天開始執行作業的時間。active_start_time 的數據類型為 int,默認設置為 000000,該值表示 24 小時制的上午 12:00:00,并且必須使用格式 HHMMSS 進行輸入。 
  129.  
  130. [ @active_end_time = ] active_end_time 
  131.  
  132. 在 active_start_date 和 active_end_date 之間的任何一天停止執行作業的時間。active_end_time 的數據類型為 int,默認設置為 235959,該值表示 24 小時制的下午 11:59:59,并且必須使用格式 HHMMSS 進行輸入。 
  133.  
  134. 返回代碼值 
  135. 0(成功)或 1(失?。?nbsp;
  136.  
  137. 結果集 
  138. 無 
  139.  
  140. 注釋 
  141. SQL Server 企業管理器提供易于使用的圖形方法來管理作業,建議使用該方法創建和管理作業基本結構。 
  142.  
  143. 權限 
  144. 執行權限默認授予 public 角色。 
  145.  
  146. 示例 
  147. 此示例假設已經創建用來備份數據庫的 NightlyBackup 作業。它將作業添加到名為 ScheduledBackup 的調度中,并且在每天上午 1:00 執行。 
  148.  
  149. USE msdb 
  150. EXEC sp_add_jobschedule @job_name = 'NightlyBackup',  
  151. @name = 'ScheduledBackup'
  152. @freq_type = 4, -- daily 
  153. @freq_interval = 1, 
  154. @active_start_time = 10000 
  155.  
  156.  
  157. 請參見 
  158.  
  159. 修改和查看作業 
  160.  
  161. sp_delete_jobschedule 
  162.  
  163. sp_help_jobschedule 
  164.  
  165. sp_update_jobschedule 
  166.  
  167. 系統存儲過程 

本站文章旨在為該問題提供解決思路及關鍵性代碼,并不能完成應該由網友自己完成的所有工作,請網友在仔細看文章并理解思路的基礎上舉一反三、靈活運用。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久成人精品| 福利一区视频在线观看| 欧美日韩一区二区在线播放| 国产91色在线|免| 欧美国产日韩一区二区在线观看| 亚洲国产精品专区久久| 久久久伊人日本| 欧美日韩性视频在线| 久久免费视频这里只有精品| 亚洲高清一二三区| 久久男人资源视频| 久久久噜噜噜久久中文字免| 欧美亚洲午夜视频在线观看| 久久精品国产69国产精品亚洲| 97超碰色婷婷| 国产91免费观看| 国产中文字幕日韩| 91视频免费在线| 俺去亚洲欧洲欧美日韩| 精品欧美一区二区三区| 午夜精品久久久久久久白皮肤| 69视频在线免费观看| 亚洲欧美一区二区三区四区| 8090理伦午夜在线电影| 日韩电影在线观看免费| 成人网址在线观看| 91免费电影网站| 夜夜狂射影院欧美极品| 国产美女精彩久久| 亚洲乱码一区av黑人高潮| 欧美日韩加勒比精品一区| 欧美午夜无遮挡| 日韩av观看网址| 91av在线精品| 国产丝袜一区二区三区免费视频| 日韩成人在线视频| 日韩美女在线播放| 97国产在线观看| 国产一级揄自揄精品视频| 成人国内精品久久久久一区| 亚洲欧美国产另类| 亚洲美腿欧美激情另类| 日韩欧美亚洲国产一区| 亚洲福利在线视频| 国产免费观看久久黄| 日韩av在线一区二区| 国产成人精品久久| 亚洲欧美中文字幕在线一区| 91美女高潮出水| 欧美午夜视频一区二区| 亚洲国产高清福利视频| 一区二区国产精品视频| 欧美成人午夜激情| 日本精品免费观看| 欧美黑人又粗大| 亚洲精品自拍视频| 亚洲成人免费网站| 欧美孕妇与黑人孕交| 欧美最猛性xxxxx亚洲精品| 国产精品9999| 亚洲第一色中文字幕| 日韩在线免费视频观看| 操人视频在线观看欧美| 欧美一级片免费在线| 成人久久18免费网站图片| 性欧美办公室18xxxxhd| 黄色一区二区在线观看| 久久久久亚洲精品成人网小说| 国产91精品网站| 久久精品国产成人精品| 日韩美女免费观看| 国产精品自拍偷拍视频| 按摩亚洲人久久| 国产欧美精品在线播放| 亚洲最大的网站| 日日骚久久av| 91九色单男在线观看| 日韩欧美综合在线视频| 久久亚洲精品毛片| 久久青草精品视频免费观看| 日韩av免费观影| 另类色图亚洲色图| 91高清视频免费| 国产亚洲免费的视频看| 国产精品99免视看9| 高清亚洲成在人网站天堂| 亚洲成色777777在线观看影院| 亚洲а∨天堂久久精品喷水| 欧美国产日本在线| 久久久久久12| 国产欧美中文字幕| 国产成人一区二区三区小说| 日韩av片电影专区| 91精品国产精品| 91免费综合在线| 午夜精品久久久久久久99热浪潮| 2019国产精品自在线拍国产不卡| 久久久久久久久电影| 成人自拍性视频| 91精品国产综合久久香蕉最新版| 在线播放日韩专区| 久久久久国产精品免费网站| 免费不卡欧美自拍视频| 国产日韩欧美视频在线| 国产在线一区二区三区| 俺去了亚洲欧美日韩| 精品亚洲一区二区| 91成人在线观看国产| 亚洲夜晚福利在线观看| 久久精品国产视频| 最好看的2019的中文字幕视频| 日本精品一区二区三区在线播放视频| 亚洲精品久久久久久久久久久| 色综合久综合久久综合久鬼88| 欧美一级免费看| 国产精品免费看久久久香蕉| 97久久精品人人澡人人爽缅北| 亚洲精品99999| 91av视频在线播放| 欧美成人黑人xx视频免费观看| 国产日产亚洲精品| 精品国产福利视频| 国产做受69高潮| 亚洲精品一区二区在线| 在线亚洲欧美视频| 亚洲国产黄色片| 亚洲free嫩bbb| 国产亚洲精品久久久久动| 久热精品视频在线观看一区| 国产精品美女午夜av| 午夜精品久久久久久99热软件| 成人精品在线视频| 亚洲精美色品网站| 国产一区二区日韩精品欧美精品| 欧美黑人国产人伦爽爽爽| 国产成人拍精品视频午夜网站| 久久综合久久美利坚合众国| 色诱女教师一区二区三区| 亚洲精品久久久久中文字幕欢迎你| 国外成人免费在线播放| 久久久久久久影院| 欧美怡春院一区二区三区| 美日韩在线视频| 欧美在线观看网站| 欧美精品videossex性护士| 91香蕉亚洲精品| 亚洲高清久久网| 亚洲成人xxx| 国产精品男女猛烈高潮激情| 久久久久国产一区二区三区| 欧美另类极品videosbestfree| 国产精品最新在线观看| 日韩最新中文字幕电影免费看| 3344国产精品免费看| 成人黄色免费片| 亚洲伊人一本大道中文字幕| 久久久99免费视频| 国产精品久久久久国产a级| 欧美国产日韩二区| 国产精自产拍久久久久久蜜| 亚洲国产精彩中文乱码av| 亚洲视频视频在线| 韩国福利视频一区| 精品一区精品二区|