利用SQL Server 2008進(jìn)行自動(dòng)化管理
Microsoft SQL Server 的每個(gè)版本都會(huì)帶來(lái)創(chuàng)新的可管理性功能,通過(guò)自動(dòng)化管理任務(wù)、集中管理及使管理員專(zhuān)注于具有更高價(jià)值的戰(zhàn)略活動(dòng)上,降低了數(shù)據(jù)服務(wù)解決方案的總體擁有成本。Microsoft SQL Server 2008 是以早期發(fā)布的企業(yè)級(jí)版本的可管理性功能為基礎(chǔ)創(chuàng)建的,而且引進(jìn)了全面的性能數(shù)據(jù)收集器、倉(cāng)庫(kù)、報(bào)表以及基于策略的管理解決方案,使用戶(hù)能夠?qū)?SQL Server 的企業(yè)數(shù)據(jù)服務(wù)解決方案進(jìn)行前所未有的控制。
本文介紹了 SQL Server 2008 的可管理性功能,并描述了它們的用途:
◆自動(dòng)化維護(hù)、最佳實(shí)踐以及配置管理,以減少管理開(kāi)銷(xiāo)。
◆分析及優(yōu)化企業(yè)范圍內(nèi)的數(shù)據(jù)服務(wù)性能。
◆方便地伸縮管理操作并管理遍及組織各處的各類(lèi)數(shù)據(jù)服務(wù)。
利用 SQL Server 2008 自動(dòng)化管理
SQL Server 2008 通過(guò)豐富的、基于策略的配置管理以及維護(hù)任務(wù)的自動(dòng)化,縮短了數(shù)據(jù)庫(kù)管理員和操作員執(zhí)行管理功能所需的時(shí)間。
利用基于策略的管理配置 SQL Server
“基于策略的框架”能夠定義策略,并將其應(yīng)用于數(shù)據(jù)環(huán)境中的服務(wù)器、數(shù)據(jù)庫(kù)及其他對(duì)象。定義良好的策略有助于管理員在數(shù)據(jù)服務(wù)環(huán)境中主動(dòng)控制及管理更改。該框架具有以下優(yōu)勢(shì):
◆意向管理。該框架提供了系統(tǒng)配置的邏輯視圖,使管理員能夠主動(dòng)定義所需的數(shù)據(jù)服務(wù)配置,而不是在出現(xiàn)問(wèn)題時(shí)才執(zhí)行更改。
◆智能監(jiān)視。“基于策略的框架”策略可以監(jiān)視并阻止對(duì)系統(tǒng)進(jìn)行偏離所需配置的更改。
◆虛擬管理。有了該框架,可以跨越多臺(tái)服務(wù)器進(jìn)行管理,這使整個(gè)企業(yè)執(zhí)行一致的配置策略更加容易。
在配置策略管理時(shí),“基于策略的框架”使用下列對(duì)象:
Facet(方面)。包含一些屬性,用于揭示與策略管理某領(lǐng)域相關(guān)的選項(xiàng)。例如,Surface Area(外圍應(yīng)用)包含與某些特定的 SQL Server 功能有關(guān)的屬性,如 Database Mail Enabled 和 CLR Integration Enabled。
Condition(條件)。表示 facet 狀態(tài),基于單個(gè) facet,可用于一個(gè)或多個(gè)策略中。例如,可以創(chuàng)建名為Minimal Surface Area 的條件,其中 Surface Area facet 中的所有屬性都將被賦予False 值。
Policy(策略)。包含針對(duì)一個(gè)或多個(gè)目標(biāo)強(qiáng)制實(shí)施的單個(gè)條件。例如,可以創(chuàng)建名為 Locked Down Server 的策略,它將 Minimal Surface Area 條件賦予該服務(wù)器。
Category(類(lèi)別)。包含一個(gè)或多個(gè)策略。數(shù)據(jù)庫(kù)擁有者可將數(shù)據(jù)庫(kù)訂閱到一個(gè)或多個(gè)類(lèi)別中。例如,可以創(chuàng)建名為 Corporate DB Policies 的類(lèi)別,其中的一個(gè)策略可以強(qiáng)制實(shí)施數(shù)據(jù)庫(kù)對(duì)象命名約定,另一個(gè)策略可以強(qiáng)制實(shí)施特定的數(shù)據(jù)庫(kù)兼容級(jí)別,并將業(yè)務(wù)數(shù)據(jù)庫(kù)線訂閱到該類(lèi)別中。在默認(rèn)情況下,所有數(shù)據(jù)庫(kù)都將隱式訂閱到默認(rèn)的類(lèi)別中。此外,在服務(wù)器或數(shù)據(jù)庫(kù)級(jí)別上,類(lèi)別可被標(biāo)記為“活動(dòng)”或“不活動(dòng)”,這樣管理員就能夠控制對(duì)策略的強(qiáng)制實(shí)施。
Target(目標(biāo))。即實(shí)體,如服務(wù)器、數(shù)據(jù)庫(kù)、登錄、表或指定策略的其他數(shù)據(jù)庫(kù)對(duì)象。SQL Server 實(shí)例中的所有目標(biāo)構(gòu)成了目標(biāo)層次結(jié)構(gòu)。在策略中,當(dāng)將一組篩選器應(yīng)用于目標(biāo)層次結(jié)構(gòu)時(shí),將會(huì)定義目標(biāo)集。例如,一個(gè)目標(biāo)集可能包含 Production 架構(gòu)所擁有的所有索引。
基于策略的框架 Facet
每個(gè)框架 facet 都代表 SQL Server 管理的一個(gè)方面,其中定義了一個(gè)或多個(gè)相關(guān)的配置選項(xiàng)。SQL Server 2008 提供大量預(yù)定義的 facet,它們可用于定義強(qiáng)制實(shí)施特定配置選項(xiàng)值的策略。例如,SQL Server 2008 提供 Surface Area facet,如圖1所示。
可以創(chuàng)建條件以定義所需的配置,且該配置以 facet 中的設(shè)置為基礎(chǔ)。
最后,要定義策略,只需指定想要強(qiáng)制實(shí)施的條件即可。
SQL Server 2008 提供了全面的 facet 集,它們可用于為 SQL Server 2008 實(shí)現(xiàn)指定配置設(shè)置和規(guī)則。下面是一些利用預(yù)先提供的 facet 定義策略的例子:
◆利用 Server facet 強(qiáng)制實(shí)施特定的服務(wù)器配置設(shè)置,如登錄身份驗(yàn)證模式。
◆利用 Surface Area facet 控制要啟用的功能,并減少服務(wù)器的外圍應(yīng)用。
◆利用 Database facet 強(qiáng)制實(shí)施特定的數(shù)據(jù)庫(kù)設(shè)置,如兼容級(jí)別。
◆利用 Multipart Name facet 強(qiáng)制實(shí)施表視圖和其他架構(gòu)已綁定的數(shù)據(jù)庫(kù)對(duì)象的命名約定。
◆利用各種 facet 為數(shù)據(jù)庫(kù)解決方案強(qiáng)制實(shí)施已知的最佳實(shí)踐,例如確保數(shù)據(jù)文件存儲(chǔ)在單獨(dú)的驅(qū)動(dòng)器上,以與日志文件分開(kāi)存儲(chǔ)
在整個(gè)企業(yè)范圍內(nèi)分布策略
該框架能夠?qū)⒉呗灶?lèi)別發(fā)布到環(huán)境中附加的 SQL Server 上。可以在 SQL Server 實(shí)例(稱(chēng)為“配置服務(wù)器”)上定義策略,然后將這些策略復(fù)制到其他服務(wù)器上(稱(chēng)為“配置目標(biāo)”)。對(duì)配置服務(wù)器上的策略或類(lèi)別所做的任何更改(如將特定類(lèi)別標(biāo)記為“不活動(dòng)”)都會(huì)自動(dòng)傳播到所有的配置目標(biāo)上,這將極大地降低與強(qiáng)制實(shí)施企業(yè)范圍配置策略遵從有關(guān)的開(kāi)銷(xiāo)。除了分布策略外,還可利用 Query Editor 在一組配置目標(biāo)中執(zhí)行查詢(xún)。
應(yīng)用策略
定義策略時(shí),可選擇策略的執(zhí)行模式,這將確定該策略是否為主動(dòng)強(qiáng)制實(shí)施的、是否按計(jì)劃執(zhí)行以及是否通過(guò)管理干預(yù)手動(dòng)執(zhí)行。下面是策略屬性中的四種執(zhí)行模式選項(xiàng):
◆On Demand。管理員手動(dòng)調(diào)用策略檢查。
◆On Schedule,log out-of-compliance。SQL Server Agent作業(yè)定期執(zhí)行策略,并記錄與活動(dòng)的策略不符的任何配置設(shè)置。
◆Changes are attempted, prevent out-of-compliance。DDL 觸發(fā)與活動(dòng)的策略不符的回滾事務(wù)。
◆Changes are attempted, log out-of-compliance。當(dāng)相關(guān)更改發(fā)生并記錄與活動(dòng)的策略不符的任何配置設(shè)置時(shí),事件通知將評(píng)估策略。
自動(dòng)維護(hù)
通過(guò) SQL Server Agent 服務(wù),SQL Server 2008 使管理員能夠靈活地為數(shù)據(jù)庫(kù)環(huán)境提供自動(dòng)的和主動(dòng)的管理和維護(hù)策略。SQL Server Agent 提供了以下用于配置自動(dòng)環(huán)境的組件:
Jobs(作業(yè))。要完成的一系列單個(gè)或多個(gè)步驟。這些步驟可能包含 Transact SQL 語(yǔ)句、SQL Server Integration Services 包或命令行語(yǔ)句。
Alerts(警報(bào))。當(dāng) SQL Server 中發(fā)生特殊事件時(shí),將自動(dòng)生成這些預(yù)配置消息。
Operators(操作員)。利用附加聯(lián)系人信息定義的用戶(hù),可能包含電子郵件地址、傳呼機(jī)號(hào)碼或 net send 地址。當(dāng)預(yù)配置的事件發(fā)生時(shí),這些操作員將會(huì)收到警報(bào),要么通知他們執(zhí)行成功或失敗,要么表示作業(yè)或作業(yè)步驟已完成。
Schedules(計(jì)劃)。當(dāng)作業(yè)運(yùn)行時(shí)才指定。作業(yè)可與多個(gè)計(jì)劃相關(guān)。
多服務(wù)器作業(yè)可在集中式服務(wù)器上進(jìn)行維護(hù),并可用于管理遍及組織各處的 SQL Server 實(shí)例。
維護(hù)計(jì)劃
“維護(hù)計(jì)劃”使管理員能夠快速配置標(biāo)準(zhǔn)維護(hù)策略,如常規(guī)數(shù)據(jù)庫(kù)和事務(wù)日志備份以及SQL Server 實(shí)例上要實(shí)施的索引維護(hù)。Maintenance Plan Wizard(維護(hù)計(jì)劃向?qū)В┨峁┝艘环N快速且用戶(hù)友好的方式,可為一個(gè)或多個(gè)數(shù)據(jù)庫(kù)定義維護(hù)計(jì)劃。與作業(yè)類(lèi)似,在主服務(wù)器/目標(biāo)服務(wù)器配置下,多服務(wù)器維護(hù)計(jì)劃可在集中式服務(wù)器上進(jìn)行管理。除了 Maintenance Plan Wizard 之外,SQL Server Management Studio 還提供了豐富的設(shè)計(jì)接口,利用這些接口可為維護(hù)計(jì)劃任務(wù)定義增強(qiáng)的工作流。
編程管理接口
通過(guò)創(chuàng)建應(yīng)用程序和腳本以執(zhí)行常見(jiàn)的管理任務(wù),就可以定制及擴(kuò)展管理功能。此方法可以極大地簡(jiǎn)化數(shù)據(jù)服務(wù)的操作和管理,它將管理任務(wù)委托給經(jīng)驗(yàn)較少的管理員,并提供只包含這些任務(wù)所需功能的簡(jiǎn)單實(shí)用工具。
SQLCMD
為便于對(duì)批處理文件使用多腳本自動(dòng)化,SQL Server 2008 提供了 SQLCMD。SQLCMD 是一種全面的命令行工具,可用于運(yùn)行執(zhí)行管理任務(wù)的參數(shù)化和多服務(wù)器腳本。通過(guò)在批處理文件或腳本中結(jié)合使用 SQLCMD 操作,可以獲得高水平的管理自動(dòng)化,而且操作員不必使用復(fù)雜的管理接口。
服務(wù)器管理對(duì)象
Server Management Objects(服務(wù)器管理對(duì)象,SMO)是一種增強(qiáng)的Application Programming Interface(應(yīng)用程序編程接口,API),可為開(kāi)發(fā)人員呈現(xiàn)完整的 SQL Server 管理環(huán)境??梢岳?SMO 創(chuàng)建強(qiáng)大的定制應(yīng)用程序,以管理基于 SQL Server 的解決方案。
【編輯推薦】