最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL SERVER數(shù)據(jù)庫(kù)的作業(yè)的腳本及存儲(chǔ)過程

 更新時(shí)間:2015年10月17日 18:35:12   投稿:mdxy-dxy  
本站文章旨在為該問題提供解決思路及關(guān)鍵性代碼,并不能完成應(yīng)該由網(wǎng)友自己完成的所有工作,請(qǐng)網(wǎng)友在仔細(xì)看文章并理解思路的基礎(chǔ)上舉一反三、靈活運(yùn)用
IF EXISTS (SELECT name 
  FROM sysobjects 
  WHERE name = N'cg_DoBackupJob' 
  AND  type = 'P')
  DROP PROCEDURE cg_DoBackupJob
 GO 
 

CREATE PROCEDURE [cg_DoBackupJob]
  @DataBaseName varchar(100),
  @FileHead  varchar(50),
  @isFullBackup bit,     -- 0 差量備份 1 完整備份
 @FolderPath  varchar(50)  = 'f:\db_backup\',
  @BackName varchar(100) = 'unknown',  -- 描述字串
 @isAppendMedia bit  = 1   -- 0 覆蓋媒體 1 追加到媒體 

AS
  declare @filePath varchar(150)
  declare @sql varchar(1000)
  
  
  select @filePath=@FolderPath + @FileHead + '_' + case @isFullBackup when 1 then 'FullBackup' when 0 then 'DifferBackup' end + '_' + convert ( nvarchar(11) ,getdate() , 112 ) 
   + case @isFullBackup when 1 then '' when 0 then replace(convert(nvarchar(15),getdate(),114),':','') end
  --print(@filePath)

 select @sql ='BACKUP DATABASE [' + @DataBaseName + '] TO DISK = ''' 
   + @filePath + ''' WITH '
   + case @isAppendMedia when 0 then 'INIT' when 1 then 'NOINIT' end 
   + ' , NOUNLOAD , '
   + case @isFullBackup when 0 then 'DIFFERENTIAL , ' when 1 then '' end 
   + ' NAME = N''' + @BackName + '備份'', NOSKIP , STATS = 10, NOFORMAT'

 execute(@sql)
  --print(@sql)
 GO

-- =============================================
 -- example to execute the store procedure
 -- =============================================
 EXECUTE cg_DoBackupJob 'cg_access911','access911',1
 GO

用系統(tǒng)存儲(chǔ)過程去創(chuàng)建作業(yè),代碼如下:

BEGIN TRANSACTION   
 DECLARE @JobID BINARY(16) 
 DECLARE @ReturnCode INT 
 SELECT @ReturnCode = 0  
 IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1 
 EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]' 
 

 -- 刪除同名的警報(bào)(如果有的話)。
 SELECT @JobID = job_id  
 FROM msdb.dbo.sysjobs 
 WHERE (name = N'access911_每2周備份一次')  
 IF (@JobID IS NOT NULL) 
 BEGIN 
 -- 檢查此作業(yè)是否為多重服務(wù)器作業(yè) 
 IF (EXISTS (SELECT * 
    FROM msdb.dbo.sysjobservers 
    WHERE (job_id = @JobID) AND (server_id <> 0))) 
 BEGIN 
  -- 已經(jīng)存在,因而終止腳本 
  RAISERROR (N'無法導(dǎo)入作業(yè)“access911_每2周備份一次”,因?yàn)橐呀?jīng)有相同名稱的多重服務(wù)器作業(yè)。', 16, 1) 
  GOTO QuitWithRollback 
 END 
 ELSE 
  -- 刪除[本地]作業(yè) 
  EXECUTE msdb.dbo.sp_delete_job @job_name = N'access911_每2周備份一次' 
  SELECT @JobID = NULL
 END 

BEGIN 

 -- 添加作業(yè)
 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
 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 

 -- 添加作業(yè)步驟
 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
 ', @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
 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 
 EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1 

 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 

 -- 添加作業(yè)調(diào)度
 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
 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 

 -- 添加目標(biāo)服務(wù)器
 EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)' 
 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 

END
 COMMIT TRANSACTION   
 GOTO EndSave    
 QuitWithRollback:
 IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION 
 EndSave: 

Transact-SQL 參考

sp_add_jobschedule
創(chuàng)建作業(yè)調(diào)度。

語法
sp_add_jobschedule [ @job_id = ] job_id, | [ @job_name = ] 'job_name',
  [ @name = ] 'name'
  [ , [ @enabled = ] enabled ]
  [ , [ @freq_type = ] freq_type ]
  [ , [ @freq_interval = ] freq_interval ]
  [ , [ @freq_subday_type = ] freq_subday_type ]
  [ , [ @freq_subday_interval = ] freq_subday_interval ]
  [ , [ @freq_relative_interval = ] freq_relative_interval ]
  [ , [ @freq_recurrence_factor = ] freq_recurrence_factor ]
  [ , [ @active_start_date = ] active_start_date ]
  [ , [ @active_end_date = ] active_end_date ]
  [ , [ @active_start_time = ] active_start_time ]
  [ , [ @active_end_time = ] active_end_time ]

參數(shù)
[ @jobid = ] job_id

將向其中添加調(diào)度的作業(yè)的作業(yè)標(biāo)識(shí)號(hào)。job_id 的數(shù)據(jù)類型為 uniqueidentifier,默認(rèn)設(shè)置為 NULL。

[ @job_name = ] 'job_name'

作業(yè)的名稱,調(diào)度即添加到該作業(yè)中。job_name 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。

 

說明 必須指定 job_id 或 job_name,但不能兩個(gè)都指定。


[ @name = ] 'name'

調(diào)度的名稱。name 的數(shù)據(jù)類型為 sysname,沒有默認(rèn)設(shè)置。

[ @enabled = ] enabled

指明調(diào)度的當(dāng)前狀態(tài)。enabled 的數(shù)據(jù)類型為 tinyint,默認(rèn)設(shè)置為 1(啟用)。如果為 0,則不啟用調(diào)度。禁用該調(diào)度時(shí),不運(yùn)行作業(yè)。

[ @freq_type = ] freq_type

用于指明何時(shí)將執(zhí)行作業(yè)的值。freq_type 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 0,可以是下列值之一。

值 描述 
1 一次 
4 每天 
8 每周 
16 每月 
32 每月,與 freq interval 相關(guān) 
64 當(dāng) SQLServerAgent 服務(wù)啟動(dòng)時(shí)運(yùn)行 
128 計(jì)算機(jī)空閑時(shí)運(yùn)行 


 [ @freq_interval = ] freq_interval

作業(yè)執(zhí)行的天數(shù)。freq_interval 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 0,依賴于 freq_type 的值。

 freq_type 的值 對(duì) freq_interval 的影響 
1(一次) 未使用 freq_interval。 
4(每天) 每個(gè) freq_interval 日。 
8(每周) freq_interval 為下面的一個(gè)或多個(gè)值(與 OR 邏輯運(yùn)算符結(jié)合使用): 
1 = 星期日
2 = 星期一
4 = 星期二
8 = 星期三
16 = 星期四
32 = 星期五
64 = 星期六
 
16(每月) 每月的 freq_interval 日。 
32(每月相對(duì)) freq_interval 為下列值之一: 
1 = 星期日 
2 = 星期一 
3 = 星期二 
4 = 星期三 
5 = 星期四 
6 = 星期五 
7 = 星期六 
8 = 日 
9 = 工作日
10 = 周末
 
64(當(dāng) SQLServerAgent 服務(wù)啟動(dòng)時(shí)) 未使用 freq_interval。 
128 未使用 freq_interval。 


 [ @freq_subday_type = ] freq_subday_type

指定 freq_subday_interval 的單位。freq_subday_type 為 int 類型,其默認(rèn)值為 0,且可以取下列值之一。

值 描述(單位) 
0x1 在指定的時(shí)間 
0x4 分鐘 
0x8 小時(shí) 


 [ @freq_subday_interval = ] freq_subday_interval

作業(yè)每次執(zhí)行之間要出現(xiàn)的 freq_subday_type 周期數(shù)。freq_subday_interval 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 0。

[ @freq_relative_interval = ] freq_relative_interval

如果 freq_interval 是 32(每月相對(duì)),則為每月中已調(diào)度作業(yè)的 freq_interval 的發(fā)生情況。freq_relative_interval 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 0,可以是下列值之一。

值 描述(單位) 
1 第一頁 
2 秒 
4 第三個(gè) 
8 第四個(gè) 
16 最后一頁 


 [ @freq_recurrence_factor = ] freq_recurrence_factor

作業(yè)的已調(diào)度執(zhí)行之間的周數(shù)或月數(shù)。只有當(dāng) freq_type 是 8、16 或 32 時(shí),才使用 freq_recurrence_factor。freq_recurrence_factor 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 0。

[ @active_start_date = ] active_start_date

作業(yè)可開始執(zhí)行的日期。active_start_date 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 NULL,該值表示當(dāng)天的日期。日期的格式為 YYYYMMDD。如果 active_start_date 不為 NULL,則日期必須大于或等于 19900101。

[ @active_end_date = ] active_end_date

作業(yè)可停止執(zhí)行的日期。active_end_date 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 99991231,該值表示 9999 年 12 月 31 日。格式為 YYYYMMDD。

[ @active_start_time = ] active_start_time

在 active_start_date 和 active_end_date 之間的任何一天開始執(zhí)行作業(yè)的時(shí)間。active_start_time 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 000000,該值表示 24 小時(shí)制的上午 12:00:00,并且必須使用格式 HHMMSS 進(jìn)行輸入。

[ @active_end_time = ] active_end_time

在 active_start_date 和 active_end_date 之間的任何一天停止執(zhí)行作業(yè)的時(shí)間。active_end_time 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 235959,該值表示 24 小時(shí)制的下午 11:59:59,并且必須使用格式 HHMMSS 進(jìn)行輸入。

返回代碼值
0(成功)或 1(失?。?

結(jié)果集
 無

注釋
SQL Server 企業(yè)管理器提供易于使用的圖形方法來管理作業(yè),建議使用該方法創(chuàng)建和管理作業(yè)基本結(jié)構(gòu)。

權(quán)限
 執(zhí)行權(quán)限默認(rèn)授予 public 角色。

示例
 此示例假設(shè)已經(jīng)創(chuàng)建用來備份數(shù)據(jù)庫(kù)的 NightlyBackup 作業(yè)。它將作業(yè)添加到名為 ScheduledBackup 的調(diào)度中,并且在每天上午 1:00 執(zhí)行。

USE msdb
 EXEC sp_add_jobschedule @job_name = 'NightlyBackup', 
 @name = 'ScheduledBackup',
 @freq_type = 4, -- daily
 @freq_interval = 1,
 @active_start_time = 10000


請(qǐng)參見

修改和查看作業(yè)

sp_delete_jobschedule

sp_help_jobschedule

sp_update_jobschedule

系統(tǒng)存儲(chǔ)過程

本站文章旨在為該問題提供解決思路及關(guān)鍵性代碼,并不能完成應(yīng)該由網(wǎng)友自己完成的所有工作,請(qǐng)網(wǎng)友在仔細(xì)看文章并理解思路的基礎(chǔ)上舉一反三、靈活運(yùn)用。

相關(guān)文章

  • SQL Server的復(fù)制功能

    SQL Server的復(fù)制功能

    SQL Server的復(fù)制功能微軟本身主要是用來發(fā)布及共享報(bào)表的。
    2009-05-05
  • SqlServer索引的原理與應(yīng)用詳解

    SqlServer索引的原理與應(yīng)用詳解

    這篇文章主要為大家詳細(xì)介紹了SqlServer索引的原理與應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • SQL中SYSDATE函數(shù)的具體使用

    SQL中SYSDATE函數(shù)的具體使用

    本文主要介紹了SQL中SYSDATE函數(shù)的具體使用,它主要用來獲取服務(wù)器當(dāng)前的日期和時(shí)間,這對(duì)于進(jìn)行實(shí)時(shí)數(shù)據(jù)記錄,具有一定的參考價(jià)值,感興趣的可以了
    2024-06-06
  • SQL SERVER 刪除重復(fù)內(nèi)容行

    SQL SERVER 刪除重復(fù)內(nèi)容行

    剛解決的小問題,之前也解決過類似的問題,但這次還設(shè)計(jì)到用SQL語句加一列,平時(shí)不常用這種命令,還是記錄一下吧。
    2009-08-08
  • sql server中查找特定類別的列的寫法

    sql server中查找特定類別的列的寫法

    要對(duì)特定類別的列進(jìn)行一些操作,寫了以下的一段代碼,比較方便檢查數(shù)據(jù)庫(kù)內(nèi)同一類別的所有列,示例用來查所有nvarchar的列
    2013-02-02
  • SQL Server誤區(qū)30日談 第12天 TempDB的文件數(shù)和需要和CPU數(shù)目保持一致

    SQL Server誤區(qū)30日談 第12天 TempDB的文件數(shù)和需要和CPU數(shù)目保持一致

    TempDB的文件沒有必要分布在多個(gè)存儲(chǔ)器之間。如果你看到PAGELATCH類型的等待,即使你進(jìn)行了分布也不會(huì)改善性能,而如果PAGEIOLATCH型的等待,或許你需要多個(gè)存儲(chǔ)器,但這也不是必然-有可能你需要講整個(gè)TempDB遷移到另一個(gè)存儲(chǔ)系統(tǒng),而不是僅僅為TempDB增加一個(gè)文件
    2013-01-01
  • 親自教你使用?ChatGPT?編寫?SQL?JOIN?查詢示例

    親自教你使用?ChatGPT?編寫?SQL?JOIN?查詢示例

    這篇文章主要介紹了使用ChatGPT編寫SQL?JOIN查詢,作為一種語言模型,ChatGPT 可以就如何構(gòu)建復(fù)雜的 SQL 查詢和 JOIN 提供指導(dǎo)和建議,但它不能直接訪問 SQL 數(shù)據(jù)庫(kù),它可以幫助您了解語法、最佳實(shí)踐和有關(guān)如何構(gòu)建查詢以高效執(zhí)行的一般指導(dǎo),需要的朋友可以參考下
    2023-02-02
  • 基于存儲(chǔ)過程的詳細(xì)介紹

    基于存儲(chǔ)過程的詳細(xì)介紹

    本篇文章小編將為大家介紹,基于存儲(chǔ)過程的詳細(xì)介紹,有需要的朋友可以參考一下
    2013-04-04
  • SQL Server Alwayson創(chuàng)建代理作業(yè)的注意事項(xiàng)詳解

    SQL Server Alwayson創(chuàng)建代理作業(yè)的注意事項(xiàng)詳解

    在工作中有時(shí)為了避免數(shù)據(jù)庫(kù)增長(zhǎng)太大所以需要定時(shí)來刪除某段時(shí)間前的數(shù)據(jù),所以使用代理作業(yè)的方式來實(shí)現(xiàn)定時(shí)刪除的功能,下面這篇文章主要給大家介紹了關(guān)于SQL Server Alwayson創(chuàng)建代理作業(yè)的注意事項(xiàng),需要的朋友可以參考下。
    2017-09-09
  • SQLserver 實(shí)現(xiàn)分組統(tǒng)計(jì)查詢(按月、小時(shí)分組)

    SQLserver 實(shí)現(xiàn)分組統(tǒng)計(jì)查詢(按月、小時(shí)分組)

    首先創(chuàng)建數(shù)據(jù)表IP地址,訪問時(shí)間和訪問次數(shù)。如果每訪問一次就插入一條記錄,那么AccessCount可以不要,查詢時(shí)使用count就可以了,這樣當(dāng)訪問量很大的時(shí)候會(huì)對(duì)數(shù)據(jù)庫(kù)造成很大壓力。
    2009-06-06

最新評(píng)論

遂川县| 望奎县| 甘孜县| 民县| 桓仁| 都匀市| 桦甸市| 儋州市| 长白| 定结县| 凤台县| 兴文县| 麻阳| 陇川县| 英吉沙县| 西吉县| 镇巴县| 万州区| 清新县| 宝清县| 九龙县| 清远市| 铜梁县| 海丰县| 南溪县| 葫芦岛市| 九寨沟县| 灵寿县| 余姚市| 卓资县| 新化县| 石台县| 保山市| 呼伦贝尔市| 新竹市| 义马市| 社旗县| 广昌县| 化州市| 永嘉县| 南靖县|