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