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




















