亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

初識SQL Server代理&作業(yè)

maoxiaoming
2025年9月9日 16:56 本文熱度 126

一、前言

別人寫的程序在數(shù)據(jù)庫中生成了一些表,并且會不停更新表中數(shù)據(jù)。

現(xiàn)在有個需求,定期根據(jù)表中的數(shù)據(jù)做一些運算,然后重新生成一張表。我將新表的表名、字段給第三方使用。

關(guān)鍵是,我無法修改別人的代碼,好在我可以登錄該系統(tǒng)所運行電腦的數(shù)據(jù)庫。

經(jīng)過一番搜索后,我發(fā)現(xiàn)了觸發(fā)器和SQL Server代理這兩種工具。進一步分析后,覺得SQL Server代理可能更符合我的需求。

?注意

本文不討論多SQL Server實例的情況。

由于使用場景較簡單,本文只簡述SQL Server代理及其組件,有關(guān)SQL Server代理安全性等拓展內(nèi)容不做介紹。

二、SQL Server代理

SQL Server代理是一種微軟Windows服務(wù),用于執(zhí)行一些預先安排好的任務(wù),這些任務(wù)在SQL Server中稱為jobs(作業(yè))。

1. SQL Server代理的好處

  • SQL Server代理使用了SQL Server來存儲作業(yè)信息。作業(yè)包含一個或多個job steps(作業(yè)步驟)。每個步驟都包含了自己的任務(wù),例如,備份數(shù)據(jù)庫。

  • SQL Server代理可以執(zhí)行計劃(就是指定執(zhí)行時間點)上或用于響應(yīng)特定事件的作業(yè)。例如,若你想在每個工作日的下班后備份公司服務(wù)器,你就可以使該任務(wù)自動化執(zhí)行。比如,將該備份任務(wù)安排在周一到周五的22:00之后運行。若備份過程遇到問題,SQL Server代理還能記錄事件并通知你。

  • 至此,SQL Server Agent(代理)的功能很清晰了。它可以代替數(shù)據(jù)庫操作員來處理一些和SQL Server相關(guān)的事情。

?注意
默認情況下,安裝SQL Server時,SQL Server代理服務(wù)是禁用的,除非用戶選擇自動啟動該服務(wù)。所以你要手動啟動它。

2. SQL Server代理組件

  • SQL Server代理使用以下組件來定義要執(zhí)行的任務(wù)、何時執(zhí)行任務(wù)以及如何報告任務(wù)是否成功執(zhí)行。

?2.1. 作業(yè) Jobs & 作業(yè)步驟 Job Steps

作業(yè)是SQL Server代理執(zhí)行的一系列指定操作(這個一系列很重要,作業(yè)有點類似操作的容器,里面放了許多操作,所以是管理單元,而不是真正的執(zhí)行單元。而這一個個操作,就是下文的作業(yè)步驟)。使用作業(yè)可以定義各種任務(wù),并配置它們的執(zhí)行次數(shù)以及監(jiān)視它們的執(zhí)行狀態(tài)與執(zhí)行結(jié)果。作業(yè)可以在本地服務(wù)器上運行,也可以在遠程服務(wù)器上運行。

可以用以下幾種方式來執(zhí)行作業(yè):

  • 按照計劃表配置執(zhí)行。

  • 響應(yīng)警報來執(zhí)行。

  • 通過執(zhí)行sp_start_job存儲過程。

作業(yè)中的每個操作都稱為 job step(作業(yè)步驟)。

作業(yè)步驟是作業(yè)在數(shù)據(jù)庫或服務(wù)器上執(zhí)行的操作。每個作業(yè)必須至少有一個作業(yè)步驟(不然,空有一個容器,啥也做不了)。

作業(yè)步驟可以是:

  • 可執(zhí)行程序和操作系統(tǒng)命令。

  • Transact-SQL(T-SQL)語句,包括存儲過程和擴展存儲過程。

  • PowerShell腳本。

  • Mircosoft ActiveX腳本。

  • 復制任務(wù)。

  • 分析服務(wù)任務(wù)。

  • 集成服務(wù)包。

每個作業(yè)步驟都運行在專門的安全上下文(環(huán)境)中。對于使用T-SQL的作業(yè)步驟,使用EXECUTE AS語句為作業(yè)步驟設(shè)置安全上下文。其他類型的作業(yè)步驟,使用代理賬戶為作業(yè)步驟設(shè)置安全上下文。

?2.2. 計劃 Schedules

計劃(表)(schedule,其實在計算機中,我更喜歡叫它調(diào)度)指定了作業(yè)何時運行。在一個計劃上可以運行多個作業(yè),一個作業(yè)也可以被多個計劃應(yīng)用。計劃可以定義作業(yè)運行的時間條件,如:

  • SQL Server代理啟動時運行。

  • 當計算機CPU空閑時運行(何為空閑由你定義)。

  • 在某個特定的日期和時間運行一次。

  • 在一個循環(huán)的計劃表上(比如,每天早上8:00)。

2.3. 警報 Alerts

警報(alert) 是對特定事件的自動響應(yīng)。事件可以是啟動的作業(yè)或達到閾值的系統(tǒng)資源。你可以定義警報發(fā)生的條件。

警報可以響應(yīng)以下條件:

  • SQL Server 事件。

  • SQL Server 性能條件。

  • 運行在SQL Server代理的計算機上的WMI事件。

警報可以執(zhí)行以下操作:

  • 通知一個或多個操作員(下節(jié)中介紹)。

  • 執(zhí)行一個作業(yè)。

2.4. 操作員 Operators

操作員(operator) 為負責維護SQL Server實例的個人定義了聯(lián)系方式。在一些企業(yè)中,操作員職責被分配到了個人(責任到人)。尤其在有多個服務(wù)器的企業(yè)中,許多人可以分擔操作員的責任。操作員不包含安全信息,也不定義安全主體。

SQL Server能通過以下方式通知操作員:

  • 電子郵件

  • 尋呼機(通過電子郵件)

  • 網(wǎng)絡(luò)發(fā)送

?注意

如要使用網(wǎng)絡(luò)發(fā)送通知,必須在SQL Server代理所在的計算機上啟動Windows Messenger服務(wù)。

如果發(fā)現(xiàn)尋呼機和網(wǎng)絡(luò)發(fā)送的功能無法使用,請不要驚訝。因為微軟早就計劃從SQL Server代理中刪除這兩個功能了。

若要使用電子郵件或傳呼機向操作員發(fā)送通知,必須將SQL Server代理配置為使用數(shù)據(jù)庫郵件。可以將操作員定義成一組個人的別名。這樣,該別名的所有成員就不會同時被驗證。

?3. 相關(guān)工作

要使SQL Server管理更加自動化,通常要做以下工作:

  1. 確定哪些管理任務(wù)或服務(wù)器事件會定期發(fā)生,以及這些任務(wù)或事件是否可以通過編程方式管理。若任務(wù)涉及一個可預測的步驟序列,并且發(fā)生在特定的時間或響應(yīng)特定事件,那么它是一個很好的自動化候選任務(wù)。

  2. 用SQL Server管理工具(SSMS)、Transact-SQL腳本或SQL Server管理對象(SMO)定義一系列作業(yè)、計劃表、警報和操作員。

  3. 運行定義的SQL Server代理作業(yè)。

?注意

對于SQL Server默認實例,SQL Server服務(wù)的名稱為SQLSERVERAGENT。

對于命名了的實例,SQL Server代理服務(wù)名為SQLAgent$instancename。

在對代理有了一定了解后,再介紹一個例子,在代理中創(chuàng)建一個作業(yè),并添加一些腳本代碼。

三、創(chuàng)建并執(zhí)行作業(yè)

本節(jié)講解如何在SQL Server Management Studio(SSMS)中創(chuàng)建一個SQL Server代理作業(yè),并在計劃中運行它。(創(chuàng)建作業(yè)(包括其他組件,計劃、警報等等)的方式有很多,可以用SSMS圖形化操作,可以用Transact-SQL腳本操作,也可以用SQL Server Management Objects操作,這邊介紹SSMS圖形化操作,該方式比較通用直觀)

1. 創(chuàng)建作業(yè)

在SSMS中創(chuàng)建一個作業(yè),通常經(jīng)過以下幾步:

  1. 在對象資源管理器中,單擊加號展開要在其中創(chuàng)建SQL Server代理作業(yè)的服務(wù)器。

  2. 點擊加號展開SQL Server代理。

  3. 右鍵單擊作業(yè)文件夾并選擇新建作業(yè)。

4.在新建作業(yè)對話框中的常規(guī)頁面,修改作業(yè)的常規(guī)屬性。(一般改個名稱即可)

5.在步驟頁面,組織作業(yè)步驟。

這邊著重介紹下T-SQL類型的作業(yè)步驟。創(chuàng)建T-SQL作業(yè)步驟時,你必須:

  • 指定運行該作業(yè)的數(shù)據(jù)庫。

  • 鍵入執(zhí)行的T-SQL語句。語句可以調(diào)用存儲過程或擴展存儲過程。

你也可以選一個現(xiàn)有的T-SQL文件作為作業(yè)步驟的命令。

T-SQL作業(yè)步驟不使用SQL Server代理作為代理人。取而代之,作業(yè)步驟作為作業(yè)步驟的所有者運行(?)。

6.在計劃頁面,組織作業(yè)計劃。

你可以選取一個已有的計劃或新建一個計劃。當與計劃綁定后,該作業(yè)就會按計劃的時間執(zhí)行??梢?,作業(yè)和計劃是獨立的,作業(yè)定義了任務(wù)內(nèi)容,計劃定義了執(zhí)行時間。

7.在警報頁面,組織作業(yè)警報。

8.在通知頁面,設(shè)置代理在作業(yè)完成時執(zhí)行的操作。

9.在目標頁面,管理作業(yè)目標服務(wù)器。

10.配置完成, 點擊確定。

2. 執(zhí)行作業(yè)

在作業(yè)的常規(guī)頁面中,有個啟用選項:

勾選啟用后,給作業(yè)綁定計劃或警報,達到條件后(達到計劃指定時間或觸發(fā)警報),作業(yè)就會執(zhí)行。

四、結(jié)語

SQL Server代理在實際開發(fā)中作用很大,許多操作都可以放到SQL Server代理中執(zhí)行,很多時候能事半功倍。

本文對SQL Server代理的基本組件和創(chuàng)建作業(yè)綁定計劃的簡單使用場景進行介紹。實際使用中的重頭戲應(yīng)該是腳本的編寫。

原文鏈接:https://blog.csdn.net/BadAyase/article/details/127241129


該文章在 2025/9/9 16:56:05 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved