專利名稱:數(shù)據(jù)層應用程序組件結構管理的制作方法
數(shù)據(jù)層應用程序組件結構管理背景在應用程序的生命周期(包括應用程序的創(chuàng)作、安裝,以及運行時環(huán)境)內(nèi),通常創(chuàng)建許多不同的對象,或以其他方式將它們與應用程序相關聯(lián)。例如,可以將編程代碼、可執(zhí)行代碼、軟件資源,以及硬件資源與應用程序相關聯(lián),并可以為每一個項指派各種文件名和文件類型。除與編程代碼、可執(zhí)行代碼、以及資源相關聯(lián)之外,數(shù)據(jù)庫應用程序可以變得與諸如策略、表、存儲的過程,以及數(shù)據(jù)庫策略之類的附加項目相關聯(lián)。在有許多對象要跟蹤和維護的情況下,數(shù)據(jù)庫管理員在數(shù)據(jù)庫應用程序的生命周期內(nèi)有效地管理與數(shù)據(jù)庫應用程序相關聯(lián)的所有項常常是困難的,并且是費時的。例如, 當數(shù)據(jù)庫管理員希望對數(shù)據(jù)庫應用程序所使用的硬件或其他項目作出改變或者添加或改變其中安裝了數(shù)據(jù)庫應用程序的數(shù)據(jù)庫服務器實例時,作出所希望的改變的過程會是費時的,且昂貴的。對象可以被編碼或以其他方式直接地鏈接到它們所駐留的硬件資源或它們在其上面操作的硬件資源,且修改項目和硬件資源之間的關聯(lián)可能涉及顯著的重新編程。 在應用程序?qū)ο蟠鎯υ诙鄠€位置的情況下或當單個數(shù)據(jù)庫存儲由多個應用程序使用的對象時,修改項目所涉及的工作量增大。概述為了在數(shù)據(jù)庫應用程序的生命周期階段期間實現(xiàn)高管理生產(chǎn)力,具有將構成數(shù)據(jù)庫應用程序或由數(shù)據(jù)庫應用程序使用的項目進行關聯(lián)的分組抽象是有幫助的。在沒有軟件分組抽象的情況下,很難標識、概念化、移動或再現(xiàn)、或者以其他方式管理數(shù)據(jù)庫應用程序。 此處所公開的實施例將同數(shù)據(jù)庫對象的元數(shù)據(jù)相關聯(lián)的容器中的數(shù)據(jù)庫應用程序的元素進行關聯(lián),這允許數(shù)據(jù)庫應用程序例如被移動或作為整體再現(xiàn)。容器將運行時資源標識符與數(shù)據(jù)庫元素相關聯(lián),這些標識符允許改變硬件或其他運行時資源或者選擇數(shù)據(jù)庫應用程序的元素以使用不同的資源,而無需重新編碼元素。另外,多個數(shù)據(jù)庫應用程序容器可以與單個分組或結構相關聯(lián),該單個分組或結構允許數(shù)據(jù)庫應用程序容器被移動、再現(xiàn),或以其他方式作為整體被管理。結構引用數(shù)據(jù)庫應用程序的元素所使用的資源標識符,以允許管理多個數(shù)據(jù)庫應用程序。根據(jù)一具體實施例,一種系統(tǒng)包括標識數(shù)據(jù)層應用程序組件(DAC)的集合的結構。每一個數(shù)據(jù)層應用程序組件都包括數(shù)據(jù)庫元素集合的邏輯表示、主存該組數(shù)據(jù)層應用程序組件的數(shù)據(jù)庫運行時資源集合、以及由該組數(shù)據(jù)庫運行時資源用來主存該組數(shù)據(jù)層應用程序組件的計算資源。該系統(tǒng)還包括用于接收結構策略的管理點。該結構策略的一個或多個動作自動地應用于由該結構標識的受影響的實體,以使結構元素符合結構策略。提供本概述是為了以講話的形式介紹將在以下詳細描述中進一步描述的一些概念。本概述并不旨在標識出所要求保護的主題的關鍵特征或必要特征,也不旨在用于限定所要求保護的主題的范圍。附圖簡述
圖1是示出使用數(shù)據(jù)層應用程序組件(DAC)的數(shù)據(jù)庫開發(fā)工具的框圖;圖2是示出使用DAC和DAC包來安裝DAC實例的方法的流程圖3是示出DAC的具體實施例的一般示圖;圖4是示出具有相關聯(lián)的DAC名稱的DAC的第二實施例的框圖;圖5是示出包括DAC集合的服務器結構的具體實施例的框圖;圖6是示出包括DAC集合的服務器結構的第二實施例的框圖;圖7是示出在服務器結構的實體處應用數(shù)據(jù)庫管理動作和策略的方法的流程圖;圖8是示出服務器結構的實體關系的流程圖;圖9是管理數(shù)據(jù)庫應用程序的系統(tǒng)的實施例的框圖;圖10是示出處理服務器結構元素的方法的流程圖;圖11是示出用于管理SQL實例的系統(tǒng)的第一具體實施例的框圖;圖12是示出用于管理SQL實例的系統(tǒng)的第二具體實施例的框圖;圖13是示出用于管理SQL實例的系統(tǒng)的第三具體實施例的框圖;圖14是示出用于管理SQL實例的系統(tǒng)的第四具體實施例的框圖;圖15是示出用于管理SQL實例的系統(tǒng)的第五具體實施例的框圖;以及圖16是示出用于管理SQL實例的系統(tǒng)的第六具體實施例的框圖。詳細描述各具體實施例描述了對數(shù)據(jù)層應用程序組件(DAC)的使用,該DAC標識數(shù)據(jù)庫應用程序的元素并為數(shù)據(jù)庫應用程序提供單個管理單元。由DAC標識的數(shù)據(jù)庫應用程序與數(shù)據(jù)庫對象標識符和/或數(shù)據(jù)庫對象的元數(shù)據(jù)相關聯(lián),通過數(shù)據(jù)庫對象可以操縱數(shù)據(jù)庫應用程序。另外,數(shù)據(jù)庫運行時標識符與數(shù)據(jù)庫應用程序的元素所使用的運行時資源中的一個或多個相關聯(lián)。與數(shù)據(jù)庫運行時資源的執(zhí)行有關的一個或多個策略還通過DAC來標識。結果,DAC可以通過數(shù)據(jù)庫對象標識符來引用,以改變、移動或復制數(shù)據(jù)庫應用程序。類似地, 可以改變運行時資源,或者,可以通過改變與相應的元素相關聯(lián)的數(shù)據(jù)庫運行時標識符來復制數(shù)據(jù)庫應用程序。結果,數(shù)據(jù)庫管理員能夠?qū)W⒂诠芾頂?shù)據(jù)庫應用程序的內(nèi)容以及如由策略指定的這些數(shù)據(jù)庫應用程序的意圖,而不是將時間和注意力投入于管理數(shù)據(jù)庫應用程序的實例的組織方面。根據(jù)一具體實施例,公開了一種包括標識數(shù)據(jù)層應用程序組件集合的結構的系統(tǒng)。數(shù)據(jù)層應用程序組件中的每一個都包括數(shù)據(jù)庫元素集合的邏輯表示。該結構還標識主存該組數(shù)據(jù)層應用程序組件的數(shù)據(jù)庫運行時資源集合。該結構標識由該組數(shù)據(jù)庫運行時資源使用的、主存該組數(shù)據(jù)層應用程序組件的計算資源。該系統(tǒng)還包括用于接收結構策略的管理點。該結構策略的一個或多個動作自動地應用于由該結構標識的受影響的實體,以使結構元素符合結構策略。在另一具體實施例中,公開了一種自動應用結構策略的方法。該方法包括在服務器結構的管理點處接收結構策略。該服務器結構標識一個或多個數(shù)據(jù)層應用程序組件。數(shù)據(jù)層應用程序組件中的每一個都包括數(shù)據(jù)庫元素集合的邏輯表示。該服務器結構標識主存該組數(shù)據(jù)層應用程序組件的數(shù)據(jù)庫運行時資源。該服務器結構標識由該組數(shù)據(jù)庫運行時資源使用的、主存數(shù)據(jù)層應用程序組件的計算資源。該方法包括監(jiān)視服務器結構的實體并且自動將該結構策略的一個或多個動作應用于由服務器結構標識的受影響的實體,以使得與服務器結構相關聯(lián)的元素復合結構策略。例如,自動應用結構策略的一個或多個動作包括檢索結構策略,針對目標集合評估結構策略,生成一個或多個對應動作以強制實施結構策略,以及對該組目標執(zhí)行對應動作。該組目標可包括計算系統(tǒng)的一個或多個物理計算資源或者該計算系統(tǒng)的所有計算資源。所公開的主題包括將構成數(shù)據(jù)庫應用程序的項目進行關聯(lián)的軟件分組抽象。軟件分組抽象實現(xiàn)對數(shù)據(jù)庫應用程序的標識、概念化、和管理。本發(fā)明包括有效地對與數(shù)據(jù)庫應用程序相關聯(lián)的數(shù)據(jù)庫對象、策略,以及運行時資源進行建模的被稱為數(shù)據(jù)層應用程序組件(DAC)的抽象。DAC形成單個管理單元用于應用程序的完整生命周期,包括版本化(versioning)。 例如,可以結合所支持的人力資源(HR)應用程序代碼來開發(fā)HR DAC。隨著HR應用程序可執(zhí)行程序被部署到應用程序服務器,HR DAC被部署到Microsoft SQL Server的實例。然后, 可以監(jiān)視和管理HR DAC0例如,當HR DAC上的預測負載可能導致HR DAC超出其上維護有 HR DAC的當前計算機或數(shù)據(jù)庫實例的容量時,可以將HR DAC移動到新數(shù)據(jù)庫實例。該移動可以這樣來實現(xiàn)通過按照與DAC相關聯(lián)的數(shù)據(jù)庫對象標識符來引用數(shù)據(jù)庫應用程序,并通過改變與數(shù)據(jù)庫元素相關聯(lián)的數(shù)據(jù)庫運行時標識符來引用新數(shù)據(jù)庫實例的運行時資源。 一般而言,DAC可以橫跨多種類型的數(shù)據(jù)庫運行時環(huán)境,和/或具體而言的Microsoft SQL Server 運行時環(huán)境,包括Microsoft SQL Server 數(shù)據(jù)庫實例、Microsoft SQL Server 數(shù)據(jù)庫引擎、Microsoft SQL Server分析服務實例、Microsoft SQL Server報告服務實例,以及不同廠商和類型的數(shù)據(jù)庫服務器和/或數(shù)據(jù)庫。另外,本發(fā)明可以提供作為整體管理數(shù)據(jù)庫環(huán)境的好處,從而允許更專注于管理 DAC,而不太專注于管理個體計算機、數(shù)據(jù)庫實例和數(shù)據(jù)庫。本發(fā)明通過“結構”的概念(也被稱為“Microsoft SQL Server結構”)來解決此問題,該結構對組織的DAC、數(shù)據(jù)庫實例 (例如,Microsoft SQL Server)運行時環(huán)境、以及硬件資源中的全部進行建模。該結構提供DAC、運行時環(huán)境,以及資源層中的實體和容器的統(tǒng)一視圖,并實現(xiàn)實體之間的更動態(tài)的映射。該結構還包括用于聲明和啟動管理動作的中央管理點,中央策略管理員,以及包含用于諸如影響、假設分析或部署分析之類的分析的模型和數(shù)據(jù)的中央推理點。這些聲明性的、 模型驅(qū)動的特征允許數(shù)據(jù)庫管理員和開發(fā)者定義實施組織規(guī)則的全局管理動作,確保DAC 被部署在具有DAC所需的所有特征的運行時環(huán)境上,并允許服務器結構中的實體在最小的手動干預下對環(huán)境變化作出響應。由關于結構中的實體的狀態(tài)的更多知識驅(qū)動的這些自管理功能,是使開發(fā)、部署, 以及管理數(shù)據(jù)層應用程序組件對于數(shù)據(jù)庫管理員和開發(fā)者來說更加容易所需要的。本發(fā)明可以允許數(shù)據(jù)庫管理員和開發(fā)者在他們的應用程序的生命周期內(nèi)管理他們的應用程序時更有成果,給予他們更多時間來將附加數(shù)據(jù)和存儲平臺技術結合到他們的系統(tǒng)中。本發(fā)明將焦點移向數(shù)據(jù)庫應用程序并從對數(shù)據(jù)庫實例(例如,Microsoft SQL Server實例)、數(shù)據(jù)庫、計算機、存儲和網(wǎng)絡資源的常規(guī)焦點移開。DAC是位于數(shù)據(jù)庫實例和數(shù)據(jù)庫兩者之上的新的更高級抽象。DAC包括為傳統(tǒng)的三層應用程序形成數(shù)據(jù)層支持的數(shù)據(jù)庫實例實體集。在現(xiàn)代系統(tǒng)中,數(shù)據(jù)庫應用程序和系統(tǒng)級應用程序信息通常跨越多個數(shù)據(jù)庫和數(shù)據(jù)庫實例。例如,Microsoft SQL Server系統(tǒng)級應用程序信息可被存儲在諸如 "master"和“msdb”等系統(tǒng)數(shù)據(jù)庫中。更具體而言,本發(fā)明在被稱為DAC的容器中對數(shù)據(jù)庫應用程序進行建模。DAC是將數(shù)據(jù)庫應用程序偽像、相關聯(lián)的策略,以及應用程序的被引用的運行時資源中的全部拉到一起的邏輯表示。每一個DAC都充當單個管理單元??梢詫AC應用策略,且DAC可以作為整體管理。策略可以被用來表明所需或首選的結果或考慮的開發(fā)者或部署意圖。例如, 開發(fā)者可以通過指定DAC只能部署在64位運行時環(huán)境上的策略來聲明所需的意圖。該結構對DAC集合進行建模,并將它們映射到底層數(shù)據(jù)庫實例運行時環(huán)境(例如, Microsoft SQL Server運行時環(huán)境、Microsoft SQL Server實例)和運行時環(huán)境所使用的硬件資源。服務器結構提供DAC集合運轉所需的所有運行時環(huán)境和硬件資源的模型。該結構還提供集中式管理特征,這些特征簡化在使用其他技術的情況下非常復雜的動作。例如, 每一個DAC都具有由該結構管理的一個或多個已知名稱(“端點名稱”)。端點名稱獨立于 DAC所使用的硬件資源或?qū)嵗?。結果,應用程序使用端點名稱而并非計算機和實例名稱來連接,以使得能夠在實例之間移動DAC,而不要求應用程序變化。將所有可用的DAC、運行時環(huán)境,以及資源的模型與結構內(nèi)的集中式管理和推理功能相組合實現(xiàn)若干情景。例如,可以監(jiān)視服務器結構中的所有DAC的資源使用。作為另一個示例,中央推理引擎可以對照分配給它們的主機運行時環(huán)境的資源來預測DAC的未來工作負載。作為另一個示例,可以響應預測的資源不足,采取動作。例如,一種系統(tǒng)可以動態(tài)地管控對運行時環(huán)境可用的資源,并發(fā)現(xiàn)具有多余容量的運行時環(huán)境,并且以最小化或至少減少對正在運行的應用程序的影響的方式將DAC移動到該運行時環(huán)境。描述一組工具和功能,用于在結構中在DAC的生命周期中(開發(fā)、部署,以及管理)管理DAC。在一特定實施例中,DAC是打包數(shù)據(jù)庫對象的元數(shù)據(jù)、可用于操縱數(shù)據(jù)庫對象的數(shù)據(jù)庫運行時資源的數(shù)據(jù)庫運行時資源標識符,以及與數(shù)據(jù)庫運行時資源的執(zhí)行有關的策略的單個管理單元。如圖1所示,取決于DAC在生命周期中的狀態(tài),可以將不同的動作應用于 DAC。例如,參考圖1,用戶100(例如,開發(fā)者)可以創(chuàng)建DAC模型102。DAC模型102包括數(shù)據(jù)層應用程序組件(DAC) 104。DAC 104可以被包括在DAC容器106中。DAC 104包括數(shù)據(jù)庫元素集合。如圖1所示,DAC 104包括第一元素108、第二元素110,以及第三元素112。 第一元素108可包括數(shù)據(jù)庫對象的元數(shù)據(jù),其中包括數(shù)據(jù)庫對象標識符。第二元素110可包括可用于操縱數(shù)據(jù)庫對象的數(shù)據(jù)庫運行時資源。第三元素112可包括與數(shù)據(jù)庫運行時資源的執(zhí)行有關的策略。在DAC模型102中表示的數(shù)據(jù)庫應用程序的開發(fā)期間,用戶100可以創(chuàng)建、編輯,以及確認DAC模型102,并將DAC模型102的表示保存為DAC項目114。DAC 項目114可包括一個或多個文件118。然后,當數(shù)據(jù)庫應用程序處于開發(fā)過程中時,可以將 DAC項目114登入(check into)并登出(check out)源控制系統(tǒng)或源控制數(shù)據(jù)庫116。一旦用戶100(例如,開發(fā)者)已完成了 DAC模型102中表示的數(shù)據(jù)庫應用程序的開發(fā),基于DAC模型102,DAC模型102被編譯或內(nèi)置到完整的DAC包120中??梢詫AC 包120作為DAC類型122導入到結構126中,該DAC類型122表示可以根據(jù)需要再現(xiàn)和部署的DAC模型102的概念化版本??梢圆渴餌AC類型122,以創(chuàng)建部署的DAC實例124,該部署的DAC實例IM表示作為DAC模型102開發(fā)的數(shù)據(jù)庫應用程序的操作安裝。因此,通過開發(fā)DAC模型102,開發(fā)者已經(jīng)創(chuàng)建了可移植數(shù)據(jù)庫應用程序,該可移植數(shù)據(jù)庫應用程序可在無需重新編碼數(shù)據(jù)庫應用程序的情況下被復制。開發(fā)者也可以在部署DAC實例IM之前配置DAC類型122。此外,DAC實例124可以針對物理計算資源的特定集合來安裝。參考圖2,示出了部署數(shù)據(jù)層應用程序組件的具體方法的流程圖。方法在202包括創(chuàng)建包含數(shù)據(jù)庫元素集合的DAC模型,數(shù)據(jù)庫元素集合包括一個或多個數(shù)據(jù)庫對象的元數(shù)據(jù)。DAC模型還包括可用于操縱數(shù)據(jù)庫對象的數(shù)據(jù)庫運行時資源的數(shù)據(jù)庫運行時資源標識符。DAC模型還包括與數(shù)據(jù)庫運行時資源的執(zhí)行有關的策略。在一具體實施例中,在204, 該方法包括保存DAC模型的表示作為DAC項目,并且任選地將DAC項目登入源控制系統(tǒng)或源控制數(shù)據(jù)庫以存儲DAC項目。在另一具體實施例中,在206,該方法包括在構建DAC包之前,編輯DAC模型并確認DAC模型,在部署DAC實例之前配置DAC類型,以及針對物理計算資源的特定集合安裝DAC實例。移動到208,該方法包括基于DAC模型來構建DAC包。移動到210,該方法將DAC類型從DAC包導入到服務器結構中。移動到212,該方法包括部署 DAC類型,以創(chuàng)建部署的DAC實例。應該強調(diào)的是,DAC在服務器結構中具有在DAC類型和DAC實例之間的兩個主要子部分。當將DAC導入到服務器結構中時,構建DAC類型。DAC類型定義DAC中的對象的邏輯實現(xiàn),諸如表和多維數(shù)據(jù)集(cube),并包括定義開發(fā)者希望DAC如何被使用的策略。當將DAC類型部署到服務器結構中的一個或多個數(shù)據(jù)庫服務器運行時環(huán)境(例如,Microsoft SQL Server運行時環(huán)境)時,構建DAC實例。DAC實例記錄DAC類型中的實體如何映射到服務器運行時環(huán)境層中的他們的主機。DAC實例包括定義管理員希望DAC如何在結構中操作的策略。參考圖3,示出了數(shù)據(jù)層應用程序組件(DAC)的內(nèi)容的高級視圖。此圖示出了開發(fā)者意圖(DAC類型)與部署意圖(DAC實例)的概念分隔。如圖3所示,可以在概念上將DAC 分成DAC類型304和DAC實例306。DAC類型304包含結構、邏輯、策略,及包括DAC定義的其他實體。DAC類型304還提供供開發(fā)者在形式上定義DAC 302的不變量、要求,以及預期使用和解釋的機制。包括DAC類型304的實體旨在作為一個單元來管理。信息對于DAC302的特定版本的所有部署而言是全局的。如此,DAC類型304可以表達開發(fā)者意圖、可以被版本化,并可以對于特定版本而言不可改變,并具有保證是唯一的標識符。DAC類型304的三個主要部分是,用于組織目的,被標示為屬性308、應用程序架構310,以及開發(fā)者意圖和策略312。DAC類型304的屬性308是DAC類型304所特有的特征或?qū)傩浴@?,屬?08可包括人類可讀名稱和描述。作為再一個示例,屬性308可包括諸如主要和次要版本號之類的一個或多個版本標識符。作為又一個示例,屬性308可包括被保證對DAC類型304唯一的標識符。作為又一個示例,屬性308可包括公知端點名稱。作為又一個示例,屬性308可包括對其他DAC類型的依賴關系。DAC類型304的應用程序架構310定義包括DAC 302的數(shù)據(jù)庫實例和數(shù)據(jù)庫對象。 DAC類型304的此部分中的對象定義是DAC 302所固有的,且任何更改都可以生成DAC類型的新版本。應用程序架構310基本上定義DAC 302包括“什么”。例如,應用程序架構310 可包括諸如表、多維數(shù)據(jù)集,以及數(shù)據(jù)挖掘模型之類的應用程序結構。作為再一個示例,應用程序架構310可包括諸如存儲過程、用戶定義的函數(shù),以及觸發(fā)器之類的應用程序邏輯。 作為再一個示例,應用程序架構310可包括被視為應用程序定義的一部分的引用數(shù)據(jù)。例如,可以引用諸如郵區(qū)編碼和其他郵政編碼、或州和省代碼之類的查找數(shù)據(jù)。DAC類型304的開發(fā)者意圖和策略312提供關于DAC 302旨在如何被使用或解釋的附加信息。例如,開發(fā)者意圖和策略312可包括必須可用于部署DAC 302的結構資源要求。例如,DAC 302可能要求Microsoft SQL Server 2008,從而實現(xiàn)對空間數(shù)據(jù)類型和CLR 集成、以及80GB的磁盤空間的支持。作為再一個示例,開發(fā)者意圖和策略312可包括定義被內(nèi)置到DAC 302中的可置配性的配置意圖(參數(shù)化)。與策略相關的另一示例是對可用性要求的指定,例如,DAC要求部署在其中啟用群集的SQL krver實例。這可以允許不影響 DAC版本的部署專用配置,包括在部署時可以或必須提供的信息。例如,配置參數(shù)可以指示, 部署過程必須提供到諸如Microsoft SQL krver的文件組和實例的名稱之類的特定類型的結構資源的映射。作為再一個示例,開發(fā)者意圖和策略312可包括指定DAC 302的哪個部分向外部暴露的接口定義。這實現(xiàn)公共接口與DAC 302內(nèi)部的實現(xiàn)細節(jié)的分離。例如, 接口定義將指定哪些實體可以被客戶端應用程序或另一 DAC引用。作為再一個示例,開發(fā)者意圖和策略312可包括諸如針對此DAC 302執(zhí)行的查詢之類的工作負載配置概況信息。如圖3所示,DAC實例306捕捉實際實例或部署特定信息。此信息是對特定部署唯一的。DAC實例306表達部署意圖。DAC實例306與DAC類型304相關聯(lián)。對于每一個 DAC類型304,可以存在多個DAC實例。DAC實例306具有被保證在服務器結構內(nèi)是唯一的標識符。DAC實例306包含服務器結構映射。DAC實例306的屬性314是特定于DAC 302的部署的實例的特征或?qū)傩浴傩?14 包括諸如DAC實例306標識符和部署名稱之類的項目。DAC實例306的部署架構316是DAC實例306中定義為特定部署所特有的SQL對象的部分。部署架構316包括諸如授權主體和索引之類的對象。DAC實例306的部署意圖和策略318提供有關DAC 302旨在“如何”被部署或解釋的信息。部署意圖和策略318包括諸如為特定部署所特有的預期結構映射和預期策略之類的項。結構映射320是DAC實例306中定義DAC實例306和低層資源之間的映射的部分。結構映射320的內(nèi)容的示例包括諸如關系型數(shù)據(jù)庫實例或分析服務器實例之類的 Microsoft SQL krver運行時映射,以及諸如磁盤存儲器和計算機之類的硬件資源。數(shù)據(jù)322是DAC實例306中表示與特定DAC實例相關聯(lián)的數(shù)據(jù)的部分。數(shù)據(jù)322 包括由應用程序的用戶創(chuàng)建的應用程序數(shù)據(jù)和操作數(shù)據(jù),如為DAC實例306或應用程序所特有的性能數(shù)據(jù)。參考圖4,在400示出了數(shù)據(jù)層應用程序組件(DAC)的具體實施例。DAC 402包括數(shù)據(jù)庫元素集合404。數(shù)據(jù)庫元素集合404包括數(shù)據(jù)庫對象406的數(shù)據(jù)庫對象標識符。數(shù)據(jù)庫元素集合404還包括可用于操縱數(shù)據(jù)庫對象408的數(shù)據(jù)庫運行時資源的數(shù)據(jù)庫運行時資源標識符。數(shù)據(jù)庫元素集合404還包括與數(shù)據(jù)庫運行時資源的執(zhí)行有關的策略410。 DAC402還包括與數(shù)據(jù)庫元素集合404相關聯(lián)的DAC名稱412。DAC名稱412可被訪問以供數(shù)據(jù)庫應用程序414使用。數(shù)據(jù)庫元素集合404通過程序與用戶可選支持計算機資源集合 418相關聯(lián),如416所示。DAC名稱412(例如,端點名稱)有點象域名服務(DNQ名稱。應用程序可執(zhí)行程序連接到DAC名稱,而不連接到主存DAC 402的特定計算機或?qū)嵗Mㄟ^將DAC 402映射到計算機和數(shù)據(jù)庫實例,在結構中建立DAC 402與特定計算機或?qū)嵗年P聯(lián)??梢岳缤ㄟ^簡單地將DAC 402重新映射到Microsoft SQL krver的新實例來將DAC 402移動到新實例, 而不影響應用程序連接到數(shù)據(jù)庫的方式(例如,不影響連接串)。沒有一個應用程序必須更改;它們?nèi)匀窟B接到相同DAC端點名稱。例如,可以將帶有DAC端點名稱為Payroll (工資單)的DAC從Computerl (計算機1)上的默認數(shù)據(jù)庫實例移到Computed (計算機2)上的另一實例。因為所有應用程序都引用已知的DAC端點名稱Payroll,因此它們?nèi)赃B接到同一個 DAC 402。在一具體實施例中,用戶可選擇支持計算機資源集合418是可使用自動工具改變的(例如,軟件應用程序、用戶控制的應用程序,諸如Microsoft SQL Server Management Studio、Microsoft Visual Studio、命令行、powershell 等等)。在另一具體實施例中,與集合相關聯(lián)的DAC名稱412是可從多個數(shù)據(jù)庫應用程序訪問的。在另一具體實施例中,在修改用戶可選擇支持計算機資源集合418時,DAC名稱 412是不變的。在另一特定實施例中,在修改數(shù)據(jù)庫元素集合404中的數(shù)據(jù)庫元素時,DAC名稱 412是不變的。在另一特定實施例中,數(shù)據(jù)庫運行時資源是Microsoft SQL Server的實例,且當將Microsoft SQL Server 的實例從第一Microsoft SQL Server 實例修改到第二Microsoft SQL Server實例時,DAC名稱412不變。在另一特定實施例中,數(shù)據(jù)庫元素集合404可以改變,或者用戶可選擇支持計算機資源集合418可以改變,而DAC端點名稱412不變,以使得當數(shù)據(jù)庫元素集合404被改變或者當用戶可選擇支持計算機資源集合418被改變時,一個或多個數(shù)據(jù)庫應用程序(例如, 數(shù)據(jù)庫應用程序414)的應用程序連接串不需要被重新編碼(例如,改變、更新、要求重新編譯應用程序,要求重新創(chuàng)建應用程序二進制文件和/或可執(zhí)行程序)。在另一特定實施例中,使用DAC名稱412的數(shù)據(jù)庫應用程序位于不同的聯(lián)網(wǎng)計算機上。在另一特定實施例中,與數(shù)據(jù)庫運行時資源的執(zhí)行有關的策略410被應用于DAC 名稱412,并且,當數(shù)據(jù)庫元素集合404改變時,或當用戶可選擇支持計算機資源集合418改變時,策略410繼續(xù)被應用。在另一特定實施例中,DAC 402還包括與數(shù)據(jù)庫元素集合404接口的應用程序編程接口(API)。例如,API可以實現(xiàn)對數(shù)據(jù)庫元素集合的元素的利用的測量。例如,API可以允許開發(fā)者與數(shù)據(jù)庫元素集合404接口,如圖1所示。在一特定實施例中,DAC 402被存儲在計算機可讀介質(zhì)中。計算機可讀介質(zhì)可包括打包數(shù)據(jù)庫對象的元數(shù)據(jù)、可用于操縱數(shù)據(jù)庫對象的數(shù)據(jù)庫運行時資源的數(shù)據(jù)庫運行時資源標識符,以及與數(shù)據(jù)庫運行時資源的執(zhí)行有關的策略的單個管理單元。雖然一次只描述了一個,但是,應該理解,單個管理單元可以打包多個數(shù)據(jù)庫對象的元數(shù)據(jù)、可用于操縱數(shù)據(jù)庫對象的數(shù)據(jù)庫運行時資源的多個數(shù)據(jù)庫運行時資源標識符,以及與數(shù)據(jù)庫運行時資源的執(zhí)行有關的多個策略。另外,多個數(shù)據(jù)庫對象包括架構、表、視圖、存儲過程、函數(shù)、觸發(fā)器、數(shù)據(jù)類型、索引、登錄、用戶、許可、策略、統(tǒng)計數(shù)據(jù)、主鍵、外鍵、默認值,以及檢查約束, 和/或可以在數(shù)據(jù)庫實例或數(shù)據(jù)庫中創(chuàng)建的任何其他對象。可以將單個管理單元映射到第一物理計算資源。可以將單個管理單元從第一物理計算資源重新映射到第二物理計算資源。第一物理計算資源的示例是處理器、網(wǎng)絡設備或存儲器存儲設備。在一特定實施例中,單個管理單元由相關聯(lián)的DAC名稱來標識,其中,DAC名稱可被訪問以供數(shù)據(jù)庫應用程序使用。數(shù)據(jù)庫運行時資源可用于操縱可以是數(shù)據(jù)庫實例的數(shù)據(jù)庫對象。數(shù)據(jù)庫實例可包括Microsoft SQL Server數(shù)據(jù)庫引擎的實例、Microsoft SQL Server分析服務的實例,或 SQL報告服務的實例,或其他數(shù)據(jù)庫類型和廠商的實例。策略可以與數(shù)據(jù)庫運行時資源的執(zhí)行相關,包括資源限制策略或與軟件或硬件資源要求有關的過程。參考圖5,在500示出了系統(tǒng)的特定實施例。系統(tǒng)500包括DAC集合502。對于數(shù)據(jù)庫對DAC的主存,多個DAC可以駐留在單個數(shù)據(jù)庫中或者單個DAC可以跨越多個數(shù)據(jù)庫。 在圖5所示出的實施例中,第一 DAC 504、第二 DAC 506,以及第三DAC 508被包括在DAC集合502中。替換地,DAC集合502可包括任何數(shù)量的DAC。DAC 504、506,以及508中的每一個包括數(shù)據(jù)庫元素集合510、512,以及514的邏輯表示。系統(tǒng)500還包括主存DAC集合502的數(shù)據(jù)庫運行時資源集合516。在圖5所示出的實施例中,數(shù)據(jù)庫運行時資源集合516包括第一數(shù)據(jù)庫運行時資源518、第二數(shù)據(jù)庫運行時資源520,以及第三數(shù)據(jù)庫運行時資源522?;蛘?,數(shù)據(jù)庫運行時資源集合516可包括任何數(shù)量的數(shù)據(jù)庫運行時資源。系統(tǒng)500還包括數(shù)據(jù)庫運行時資源集合516用來主存DAC集合502的計算資源 524。在圖5所示出的實施例中,計算資源524包括第一計算資源526、第二計算資源528, 以及第三計算資源530?;蛘?,計算資源524可包括任何數(shù)量的計算資源。計算資源524可包括一個或多個計算機服務器資源、一個或多個計算機數(shù)據(jù)存儲資源,或者一個或多個虛擬機資源。一個或多個計算機服務器資源中的每一個都可包括處理器、存儲器,或網(wǎng)絡元件。一個或多個計算機數(shù)據(jù)存儲資源中的至少一個可以是包括多個文件的操作系統(tǒng)存儲卷。最初可以將一個或多個計算機服務器資源中的至少一個映射到第一存儲區(qū)域網(wǎng)絡(SAN),且隨后將它們映射到第二 SAN。在一個實施例中,DAC集合502中的DAC 504,506,以及508中的每一個包括DAC
容器。每一個DAC容器可包括打包數(shù)據(jù)庫對象的元數(shù)據(jù)、可用于操縱數(shù)據(jù)庫對象的數(shù)據(jù)庫運行時資源的數(shù)據(jù)庫運行時資源標識符,以及與數(shù)據(jù)庫運行時資源的執(zhí)行有關的策略的單
個管理單元。DAC集合502中的第一 DAC 504可以取決于DAC集合502中的第二 DAC 506。DAC集合502中的DAC 504、506,以及508中的每一個可以由結構501的DAC層來表示。包括計算資源526、528,以及530的計算資源524可以由結構501的硬件資源層來表示。數(shù)據(jù)庫運行時資源集合516中的數(shù)據(jù)庫運行時資源518、520以及522中的每一個可以由結構501的結構化查詢語言(SQL)服務器運行時環(huán)境層來表示。數(shù)據(jù)庫運行時資源集合516可包括提供Microsoft SQL Server服務的一個或多個運行時實例。一個或多個運行時實例可包括Microsoft SQL Server、Microsoft SQL Server分析服務,以及Microsoft SQL Server報告服務中的一個或多個實例。此外,一個或多個Microsoft SQL Server運行時實例可包括架構和視圖??梢詫AC 504,506和508中的每一個映射到數(shù)據(jù)庫運行時資源518、520和522 中的一個或多個,且可以將每一個數(shù)據(jù)庫運行時資源518、520和522映射到一個或多個物理計算資源526、528和530。可以將數(shù)據(jù)庫運行時資源從第一計算機重新映射到第二計算機。DAC 504,506和508中的每一個可包括相關聯(lián)的DAC端點名稱。DAC端點名稱可被訪問以供數(shù)據(jù)庫應用程序使用。參考圖6,在600示出了包括DAC集合的結構的第二實施例的框圖。結構608是 DAC集合、主存這些DAC的Microsoft SQL Server運行時環(huán)境,以及那些運行時用來主存這些DAC的資源的基于模型的表示。該結構模型具有如圖6所示的三層DAC層610、服務器運行時環(huán)境層612,以及主機資源層614。模型內(nèi)的所有對象通過使用一組一般建模概念 (名詞)來描述,且具有可以對那些對象執(zhí)行的一系列動作(動詞)。例如,動作可包括在文件系統(tǒng)正在快速增長或者被預測達到資源限制時將該文件系統(tǒng)上的一個或多個文件移至另一操作系統(tǒng)卷上的第二文件系統(tǒng)。作為另一示例,動作可包括在正在執(zhí)行軟件應用程序的處理器正在經(jīng)歷高負載時自動將軟件應用程序移至具有較低處理器負載的另一計算機。作為又一示例,動作可包括自動執(zhí)行根據(jù)測得的服務質(zhì)量度量(例如,所承諾的性能服務質(zhì)量(QoQ水平)來維護性能(例如,應用程序性能)的一個或多個動作。DAC層610主存DAC的結構定義。在所示出的實施例中,DAC層610包括第一 DAC 622、第二 DAC 624,以及第三DAC 626?;蛘?,DAC層610可包括任何數(shù)量的DAC。服務器運行時環(huán)境層612提供結構608內(nèi)的數(shù)據(jù)庫運行時資源(例如,Microsoft SQL krver服務)的視圖。在所示出的實施例中,運行時環(huán)境層612包括第一數(shù)據(jù)庫運行時資源616、第二數(shù)據(jù)庫運行時資源618,以及第三數(shù)據(jù)庫運行時資源620?;蛘?,服務器運行時環(huán)境層612 可包括任何數(shù)量的數(shù)據(jù)庫運行時資源。主機資源層614表示結構608中的元素所使用的計算和存儲容量。在所示出的實施例中,主機資源層614包括計算機資源630,包括第一計算機636和計算機服務器638。此外,主機資源層614包括數(shù)據(jù)資源632,包括第一存儲資源 640和第二存儲資源642。此外,主機資源層614包括虛擬資源634,包括第一虛擬資源644 和第二虛擬資源646。或者,主機資源層614可包括任何數(shù)量的計算機資源、數(shù)據(jù)資源或虛擬資源。結構608標識DAC、主存DAC集合的數(shù)據(jù)庫運行時資源,以及數(shù)據(jù)庫運行時資源用來主存DAC的計算資源。DAC 610中的每一個包括數(shù)據(jù)庫元素集合的邏輯表示。推理點(例如,中央推理點604)監(jiān)視結構608的實體。使用一個或多個策略(例如,中央策略606)來在由結構608標識的受影響的實體處自動地應用接收到的數(shù)據(jù)庫管理動作和策略。結構608中的每一層都包含四種類型的實體容器、元素、資源和映射。容器是結構608的給定層內(nèi)的頂層實體,并提供直觀的管理單元和身份。容器的示例包括DAC、計算機、虛擬機、存儲設備、Microsoft SQL Server、Microsoft SQL Server分析服務,以及 Microsoft SQL krver報告服務的實例。元素是結構608中駐留在容器中的單元。例如, 表和存儲過程是駐留在DAC中的元素。資源是具有有限容量,并且具有確定其容量的屬性的一種特殊類型的元素。處理器設備是細粒度資源的示例,且其時鐘速度是涉及其容量的屬性的示例。存儲設備是包含諸如物理磁盤之類的更細粒度資源的資源的示例。存儲設備的容量不僅由它包含的物理磁盤的屬性來決定而且還由諸如RAID級別之類的其配置屬性來決定。映射表示結構608的兩個部分之間的關系。映射是使結構608成為Microsoft SQL krver環(huán)境的實際模型的名詞。映射可以是容器到容器、容器到元素、容器到資源、元素到元素、元素到資源,以及資源到資源。結構608中的每一層610、612和614的構成可以通過應用上文所描述的一般建模概念來定義。每一層都包括一個或多個容器,那些容器內(nèi)的元素和資源,以及服結構608的相鄰層中的容器或元素之間的映射。DAC層610主存DAC的結構定義。每一個DAC都可以使用DAC容器來定義。每一個DAC容器由諸如結構、代碼、版本,以及策略之類的表示應用程序?qū)嶓w的很多元素構成。DAC層610上的映射描述DAC和Microsoft SQL Server運行時環(huán)境(例如, Microsoft SQL Server的實例)之間的關系。例如,可以將DAC層610中的DAC映射到服務器運行時環(huán)境層612中的Microsoft SQL Server的實例。然后,可以通過在多個實例之間重新映射DAC來將DAC從一個實例移到另一實例。作為示例,第一 DAC 622可被映射到第一數(shù)據(jù)庫運行時資源616 (例如,Microsoft SQL Server的第一實例),然后,可以通過將第一 DAC 622重新映射到第二數(shù)據(jù)庫運行時資源618來將第一 DAC 622移動到第二數(shù)據(jù)庫運行時資源618 (例如,Microsoft SQL Server的第二實例)。映射還可以描述多個DAC之間的關系。DAC可以表達對另一 DAC的依賴,以便允許重新使用共同元素。例如,可以定義具有由諸如實施用于訂購供應的公司策略的一組存儲過程之類的由多個應用程序共享的元素的“基礎”DAC。需要那些元素的任何其他DAC可以通過映射到“基礎”DAC來引用它們。例如,第一 DAC 622可以依賴于第二 DAC 624。運行時環(huán)境層612提供服務器結構內(nèi)的Microsoft SQL Server服務的視圖。 Microsoft SQL ServerjsifWW^^SMicrosoft SQL Server>Microsoft SQL Server^v 析服務,以及Microsoft SQL Server報告服務的實例。每一個運行時容器都具有一個或多個數(shù)據(jù)庫元素。數(shù)據(jù)庫元素可包括架構、表、視圖、存儲過程、函數(shù)、數(shù)據(jù)類型、索引、登錄、用戶、策略、統(tǒng)計數(shù)據(jù)、主鍵、外鍵、默認值,檢查約束,和/或可以在數(shù)據(jù)庫實例或數(shù)據(jù)庫中創(chuàng)建的任何其他元素。運行時環(huán)境層612處的映射描述特定數(shù)據(jù)庫實例運行時環(huán)境(例如,Microsoft SQL Server的實例)和分配給它的物理資源之間的關系。例如,將駐留服務器運行時環(huán)境層612中的數(shù)據(jù)庫實例映射到硬件資源層614中的物理計算機。可以通過在計算機之間重新映射數(shù)據(jù)庫實例來在物理計算機之間移動實例。作為示例,可以將第一數(shù)據(jù)庫資源616 映射到第一服務器636,且可以通過將第一數(shù)據(jù)庫資源616從第一服務器636重新映射到第二服務器638來將第一數(shù)據(jù)庫資源616移動到第二服務器638。主機資源層614表示服務器結構608中的元素所使用的計算和存儲容量。主機資源層614上的容器包括物理計算機、虛擬機,以及操作系統(tǒng)存儲卷。資源容器還可以包含子元素。例如,物理服務器包含處理器、存儲器,以及網(wǎng)絡元素。操作系統(tǒng)存儲卷可以包含文件元素以及與存儲所提及的偽像有關的其他元素。主機資源層614上的映射描述物理資源之間的關系。例如,主機資源層映射表達哪些SAN邏輯單元號(LUN)可從每一個物理計算機訪問。SAN LUN可以通過改變物理計算機和SAN LUN之間的映射來在物理計算機之間移動。結構608支持管理動作的中央聲明和可應用于結構608中的實體的策略。結構 608的管理點(例如,中央管理點602)可以接收數(shù)據(jù)庫管理動作和策略。結構608還提供可以監(jiān)視結構實體和自動地應用管理動作和策略的推理引擎。圖6示出了結構608的中央管理機制。中央管理機制都引用記錄了結構608中的容器的相關細節(jié)、關系,以及約束的模型。結構608中的Microsoft SQL Server實例之一可以被命名為中央管理點602,并為所有結構層提供集中式管理功能(如發(fā)現(xiàn)、策略定義,以及監(jiān)視)。中央管理點602是所有容器動作被觸發(fā)(例如,導入、移動、創(chuàng)建,以及部署)的地方。中央管理點602可以被主存在由結構608所標識的數(shù)據(jù)庫運行時資源中的一個上。例如,中央管理點602可被主存在第一數(shù)據(jù)庫運行時資源616上、第二數(shù)據(jù)庫運行時資源618,或第三數(shù)據(jù)庫運行時資源 620上。中央管理點602可以為服務器結構層610、612,以及614提供發(fā)現(xiàn)、策略定義,以及監(jiān)視。中央推理點604提供結構608中的元素的數(shù)據(jù)模型。該模型被分析引擎用來預測資源使用趨勢,以及結構608上的可能的動作的影響。中央推理點604可以被用來對由結構608標識的實體采取中央推理動作。中央推理動作可包括第一動作,該第一動作,例如, 估計卸載第一 DAC的預期影響,其中其他DAC可以具有對第一 DAC的依賴。中央推理動作也可以包括第二動作,該第二動作,例如,估計修改一個或多個計算資源對一個或多個DAC 的預期影響。中央推理動作也可以包括第三動作,該第三動作,例如,呈現(xiàn)結構608中的被配置成主存要部署的DAC的Microsoft SQL Server實例的列表。因此,結構608可用于確定推薦動作以及對推薦動作的預期影響。一用戶界面可基于對執(zhí)行推薦動作的預期影響來顯示相關硬件資源和結構608的軟件應用程序的預期利用圖。在預期利用圖中顯示對執(zhí)行推薦動作的預期影響可允許管理員決定是否執(zhí)行推薦動作。如果管理員認為對相關硬件資源和軟件應用程序的預期影響是不可接受的,則管理員可選擇不執(zhí)行推薦動作。如果管理員確定預期影響是可接受的,則管理員可選擇執(zhí)行推薦動作。中央策略606可包括作為被定義為引導行為或動作的權威性原理的策略,且其中,策略指定可以應用于由結構608標識的實體集的條件集。例如,該組實體可包括一個或多個Microsoft SQL Server運行時實例,且策略可以基于Microsoft SQL Server實例的軟件版本來對將一個或多個Microsoft SQL Server運行時實例結合到結構608進行限制。 作為示例,可以只將Microsoft SQL Server 2008實例結合到運行時環(huán)境層612中。作為另一個示例,該組實體可包括一個或多個計算資源,且策略可以基于操作系統(tǒng)的版本或存儲器量來對將一個或多個計算資源結合到結構608進行限制。作為示例,只有包含Windows Server 2008的64位版本和至少4千兆字節(jié)(4GB)存儲器的計算機可以被結合到主機資源層614。所述策略是限制將運行時實例和硬件資源包括到結構608中的策略的示例。或者,策略可限制將DAC結合到結構608中。例如,策略只可準許DAC進入其查詢符合最佳實踐的結構608中。最佳實踐可以在結構模型中被表示為可通過程序驗證的規(guī)則集。最佳實踐的示例是避免在數(shù)據(jù)庫查詢中使用“SELECT*”語句。另一示例是要求所有存儲的過程都符合特定命名約定。中央管理點602可以觸發(fā)結構動作。例如,結構動作可包括導入動作、導出動作、 部署動作、復制動作、確認動作、安裝動作、卸載動作、添加動作、移除動作、獲取動作、設置動作、枚舉動作、移動動作、創(chuàng)建動作、保存動作、升級動作、開始動作、停止活動、刪除動作、 重啟動作、運行動作、掛起動作、恢復動作、禁用動作、啟用動作、測量動作、監(jiān)視動作、預測動作、管控動作、映射動作、解除映射動作、發(fā)現(xiàn)動作、比較動作、合并動作、阻塞動作、解除阻塞動作、授權動作,或撤消動作。服務器結構動作還可包括優(yōu)化動作??紤]資源利用率何時太高的緩解動作是優(yōu)化數(shù)據(jù)庫配置。數(shù)據(jù)庫優(yōu)化示例包括添加索引或數(shù)據(jù)壓縮。生命周期動詞描述用于從創(chuàng)建或?qū)氲浇Y構608的時間到從結構608移除的時間管理實體的動作組。例如,生命周期動詞覆蓋諸如創(chuàng)建、修改,以及刪除給定實體等動作。一些生命周期動詞可以應用于層610、612和614中的一個或多個。生命周期動詞包括導入動作、導出動作、部署動作、復制動作、確認動作、安裝動作、卸載動作、添加動作、移除動作、獲取動作、設置動作、枚舉動作、移動動作、創(chuàng)建動作、保存動作,以及升級動作。導入動作從外部永久數(shù)據(jù)存儲創(chuàng)建新容器以及相關聯(lián)的元素。導入動作可以應用于DAC層610。例如,導入動作可以將DAC從DAC包文件導入到結構608。導出動作從容器及其包含的元素創(chuàng)建永久外部數(shù)據(jù)存儲(例如,文件)。導出動作可以應用于DAC層610。 例如,導出動作可以將DAC導出到文件。部署動作將容器以及其對象放在預期位置。部署動作可以應用于DAC層610。例如,部署動作可以將第一 DAC 622部署到運行時環(huán)境層612中的一個實例(例如,第一實例 616)。復制動作將一組元素從一個容器復制到另一容器。復制動作可以應用于DAC層 610和運行時環(huán)境層612。例如,復制動作可以將DAC從一個Microsoft SQL Server實例復制到運行時環(huán)境層612中的另一實例(例如,從第一實例616到第二實例618)。確認動作檢查目標容器、元素、資源或映射是否符合指定準則。確認動作可以應用于DAC層610,服務器運行時環(huán)境層612,以及主機資源層614。例如,確認動作可以確認 Microsoft SQL Server的實例是否已啟用CLR集成。安裝動作將DAC配置成可在結構608中操作。該安裝動作可以應用于DAC層610 和運行時環(huán)境層612。例如,安裝動作可以在第一數(shù)據(jù)庫實例616上安裝DAC。卸載動作從指定位置移除容器以及其元素。該卸載動作可以應用于DAC層610和運行時環(huán)境層612。 例如,卸載動作可以從第一數(shù)據(jù)庫實例616卸載DAC。添加動作將在外部創(chuàng)建的容器、元素或資源的表示結合到結構中。添加動作可以應用于運行時環(huán)境層612,以及主機資源層614。例如,添加動作可以將第一Microsoft SQL Server實例616添加到運行時環(huán)境層612中。移除動作將外部創(chuàng)建的容器、元素或資源與結構608解除關聯(lián)。移除動作可以應用于運行時環(huán)境層612,以及主機資源層614。例如, 移除動作可以從運行時環(huán)境層612移除Microsoft SQL Server實例616。獲取動作檢索容器、元素、資源或映射的當前配置。獲取動作可以應用于DAC層 610,運行時環(huán)境層612,以及主機資源層614。例如,獲取動作可以獲取在第一 Microsoft SQL Server實例616上安裝的DAC的版本號。設置動作更新容器、元素、資源或映射的當前配置。設置動作可以應用于DAC層 610,運行時環(huán)境層612,以及主機資源層614。例如,設置動作可以設置在第一 Microsoft SQL Server實例616上安裝的DAC的版本號。枚舉動作獲取容器內(nèi)的一組元素或資源。枚舉動作可以應用于DAC層610,運行時環(huán)境層612,以及主機資源層614。例如,枚舉動作可以枚舉第一服務器636上的資源。移動動作將一組元素或資源從一個容器、元素或資源移動到另一個。移動動作可以應用于DAC層610,運行時環(huán)境層612,以及主機資源層614。例如,移動動作可以將數(shù)據(jù)庫從Microsoft SQL Server的一個實例移動到運行時環(huán)境層612中的另一實例。作為又一示例,移動動作可移動數(shù)據(jù)庫實例(例如,SQL Server實例)或者可將數(shù)據(jù)庫文件從一個計算機系統(tǒng)移至另一計算機系統(tǒng)。創(chuàng)建動作創(chuàng)建新容器或元素。創(chuàng)建動作可以應用于DAC層610和運行時環(huán)境層 612。例如,創(chuàng)建動作可以創(chuàng)建指定DAC要求部署在Microsoft SQL Server 2008上的新策略約束。保存動作保持容器、元素、資源或映射的當前配置。保存動作可以應用于DAC層 610,運行時環(huán)境層612,以及主機資源層614。例如,保存動作可以保存在第一 Microsoft SQL Server實例616上安裝的DAC的版本號。升級動作將容器或元素的現(xiàn)有配置轉換為新定義。升級動作可以應用于DAC層 610和運行時環(huán)境層612。例如,升級動作可以將在第一 Microsoft SQL Server實例616 上安裝的訂單表定義從第一版本升級到第二版本。結構608具有若干個進程,這些進程執(zhí)行諸如監(jiān)視性能、協(xié)調(diào)變化,以及確認是否符合策略之類的動作。下面動詞組可以被用來管理進程。所有其余的動詞適用于結構608 的所有層(例如,DAC層610、運行時環(huán)境層612,以及主機資源層614)。進程控制動詞包括開始動作、停止動作、重啟動作、運行動作、掛起動作、恢復動作、禁用動作,以及啟用動作。開始動作啟動持續(xù)運行直到停止的進程。例如,開始動作啟動第一Microsoft SQL Server實例616上的協(xié)調(diào)。停止動作停止運行中的進程。例如,停止動作可以停止第一 Microsoft SQL Server實例616上的協(xié)調(diào)。重啟動作停止運行中的進程,然后,再次啟動它。例如,重啟動作可以重啟第一 Microsoft SQL Server實例616上的協(xié)調(diào)。運行動作啟動執(zhí)行并在完成時自動地停止的進程。例如,運行動作可以在第一 Microsoft SQL Server 實例616上運行發(fā)現(xiàn)。掛起動作暫停一進程,該進程保持暫停,直到它被恢復。例如,掛起動作可掛起第一 Microsoft SQL Server實例616上的發(fā)現(xiàn)?;謴蛣幼骼^續(xù)掛起的進程。例如,恢復動作可以恢復第一 Microsoft SQL Server實例616上的發(fā)現(xiàn)。禁用動作將進程配置成不可用,以使得它無法被啟動。進程保持被禁用,直到它被啟用。例如,禁用動作可以禁用第一 Microsoft SQL Server實例616上的協(xié)調(diào)。啟用動作將被禁用的進程配置成能夠啟動。例如,啟用動作可以啟用第一 Microsoft SQL Server實例616上的協(xié)調(diào)。性能管理動詞被用來就結構資源的當前利用率分析結構608的當前或預測的健康狀態(tài)。例如,可以監(jiān)視測得的諸如查詢之類的DAC操作的等待時間統(tǒng)計數(shù)據(jù)以確定當前健康狀態(tài)并預測將來的健康狀態(tài)。這些動詞還提供用于管控由結構608內(nèi)的各種容器和元素對資源的使用的手段。性能管理動詞可包括測量動作、監(jiān)視動作、預測動作,以及管控動作。測量動作收集與資源、元素或容器有關的性能統(tǒng)計數(shù)據(jù)。例如,測量動作可以測量第一服務器636的卷E上被數(shù)據(jù)庫文件Finance.mdb (財政.mdb)所使用的空間。監(jiān)視動作相對于策略評估與資源、元素或容器相關的性能統(tǒng)計數(shù)據(jù)。例如,監(jiān)視動作可以監(jiān)視第一服務器636的卷E上被數(shù)據(jù)庫文件Finance, mdb所使用的空間,來查看利用超出容量的 80%的情況的出現(xiàn)。預測動作根據(jù)歷史數(shù)據(jù)、資源變化,或諸如部署或移動之類的結構動作來預測容器、元素或資源的性能統(tǒng)計數(shù)據(jù)。例如,預測動作可以預測何時將需要額外的存儲器以適應Finance DAC(財政DAC)的增長。作為再一個示例,預測動作預測何時將需要額外的資源以適應總體結構的增長。管控動作指定分配給容器或元素的最小或最大資源量。 例如,管控動作可以將第一 Microsoft SQL Server實例616的CPU使用限制到第二服務器 638的CPU容量的50%。資源管控還可應用于容器和/或元素的集合。映射動詞提供管理結構608內(nèi)的多層之間的關系的簡單手段。映射動詞主要被用來在兩個相鄰層之間建立關系。映射動詞可包括映射動作和解映射動作。在概念上,這些動詞還可以被視為可以對結構608采取的頂層動作,其導致一系列其他生命周期動作被執(zhí)行。例如,將DAC映射到Microsoft SQL Server的實例告訴系統(tǒng),DAC應該在該實例上可用。這將調(diào)用使該DAC在指定的實例上可用所需的諸如部署或安裝之類的所有動詞。映射動作在容器、元素或資源之間創(chuàng)建關系。例如,映射動作可以將第一 DAC 622 加入到第一 Microsoft SQL Server實例616。解除映射動作移除容器、元素或資源之間的映射。例如,解除映射動作可以將第一 DAC 622與第一 Microsoft SQL Server實例616分罔。協(xié)調(diào)是用于標識結構中已經(jīng)從它們的規(guī)定的定義漂移的實體的進程。例如,協(xié)調(diào)檢測生產(chǎn)服務器中的表的定義是否已與在DAC中的定義的變得不同。三個服務器結構動詞實現(xiàn)協(xié)調(diào)。協(xié)調(diào)動詞可包括發(fā)現(xiàn)動作、比較動作,以及合并動作。發(fā)現(xiàn)動作定義查找新項并給出有成果的洞察的操作。例如,發(fā)現(xiàn)動作可以發(fā)現(xiàn)第一 Microsoft SQL Server實例616中的Employee表中的新列。比較動作將容器、元素或資源的當前配置與預定義配置匹配,并報告任何差異。例如,比較動作可以將存在于第一 Microsoft SQL Server實例616上的Employee (雇員)表對照DAC中的表定義進行比較, 并發(fā)現(xiàn)第一 Microsoft SQL Server實例616中的表的版本具有DAC中未定義的列。合并動作從多個實例創(chuàng)建容器、元素或資源的單個配置。例如,合并動作可以將Employee表中的新列的定義合并到DAC定義。訪問動詞提供控制對結構模型的部分的訪問以支持長時間運行的進程的手段。例如,將文件從一個卷移動到另一卷的進程必須控制對目的地卷的訪問,以使得多個進程不會作出使空間沖突的分配。安全性動詞將對結構608內(nèi)的容器和元素的訪問限制到被授權的用戶。本發(fā)明不提供新的授權基礎結構,而是這些動詞表示跨結構608的授權配置的統(tǒng)一接口。訪問和安全性動詞可包括阻塞動作、解除阻塞動作,授權動作,以及撤消動作。阻塞動作給發(fā)布進程提供對容器、元素或資源的配置的排他性訪問,并防止其他進程訪問該配置。此動詞作用于服務器結構608的模型內(nèi)的數(shù)據(jù),而不是作用于實際實體本身。例如,阻塞動作可以阻止對第一服務器636的存儲卷E的訪問,以便可以預留空間以執(zhí)行文件遷移。解除阻塞動作釋放對容器、元素或資源的配置的排他性訪問。此動詞作用于服務器結構608的模型內(nèi)的數(shù)據(jù),而不是作用于實際實體本身。例如,在文件遷移完成之后,解除阻塞動作可以解除對第一服務器636的存儲卷E的訪問的阻擋。授權動作給予訪問容器、元素或資源的主體許可(principal permission) 0例如,授權動作可以授權主體 Janet對DAC進行寫訪問。撤消動作拒絕訪問容器或元素的主體許可。例如,撤消動作可以撤消主體Janet對DAC的寫訪問。參考圖7,示出了自動地應用數(shù)據(jù)庫管理動作和策略的方法的特定實施例。在 702,該方法包括在結構的中央管理點(例如,在圖6中的服務器結構608的中央管理點602)處接收結構策略。該結構標識DAC、主存DAC集合的數(shù)據(jù)庫運行時資源,以及數(shù)據(jù)庫運行時資源用來主存DAC的計算資源。DAC中的每一個包括數(shù)據(jù)庫元素集合的邏輯表示。移動到704,該方法還包括在中央推理點(例如,圖6中的服務器結構608的中央推理點604) 處監(jiān)視該結構的實體。移至706,該方法還包括自動將結構策略的一個或多個動作應用于由該結構標識的受影響的實體,以使得結構元素符合結構策略(例如,使用圖6中的中央策略 606)。參考圖8,實體關系圖(ERD)示出了結構如何表示描述了數(shù)據(jù)層的組件的模型以及它們?nèi)绾侮P聯(lián)。圖8中的實體關系圖(ERD)示出了此模型如何成形以支持結構的三層的結構和語義。每一層都表示成模型內(nèi)的正式實體,如容器、元素和資源。該模型還定義這些實體之間的關系語義,從而導致結構的定義的結構。此結構通過實現(xiàn)本公開的實施例來推理并對結構采取措施,來促進下一節(jié)中所描述的機制。參考圖9,在900示出了系統(tǒng)的具體說明性實施例。中央管理服務器(CMS)902向結構提供集中式管理點。CMS 902連接到中央管理儲存庫(CMR)904。結構中的數(shù)據(jù)庫實例 (例如,Microsoft SQL Server)的托管實例連接到CMS 902,并將信息上傳到CMR 904中。 CMS 902提供用于發(fā)現(xiàn)網(wǎng)絡上的SQL服務實例、預設DAC、將DAC元素放在所希望的位置、對照準則檢查DAC、以及協(xié)調(diào)結構中的元素之間的差異的動作。CMR 904包含結構的模型(例如,所有相關細節(jié)、關系,以及約束)。CMS 902是用于部署分析、影響分析,以及假設分析的中央推理點,并包含核心、詳細的,以及鏈接的數(shù)據(jù)類型。兩種類型基于從IMR(例如,IMR 910和914)復制到CMR 904的頻度來利用類別表示CMR 904中所包含的數(shù)據(jù)。頻繁被復制的數(shù)據(jù)被稱為核心數(shù)據(jù)。不太頻繁被復制的數(shù)據(jù)被稱為詳細數(shù)據(jù)。鏈接的數(shù)據(jù)類型充當指向不存儲在CMR 904中的數(shù)據(jù)的索引或指針。中央管理數(shù)據(jù)倉庫(CMDW)906實現(xiàn)跨一組物理計算機和實例集中式地報告歷史性能統(tǒng)計數(shù)據(jù)。收集駐留在每一個托管SQL Server運行時實例上的數(shù)據(jù),并將它們上傳到 CMDff 906數(shù)據(jù)庫的用于監(jiān)視和報告目的的位置。中央結構服務(CFS)908為核心CMS 902動作提供API。這些動作包括發(fā)現(xiàn)網(wǎng)絡上的SQL服務實例、預設DACjf DAC元素放在所希望的位置、對照準則檢查DAC、以及協(xié)調(diào)結構中的元素之間的差異。實例管理儲存庫(IMR)是存在于每一個數(shù)據(jù)庫實例內(nèi)的數(shù)據(jù)庫。例如,第一 IMR 910 存在于第一 Microsoft SQL Server 實例 912 內(nèi)。第二 IMR 914 存在于第二 Microsoft SQL Server實例916內(nèi)。IMR是結構的所有部署或修改的初始目標。被稱為“集合組”的機制復制IMR信息,并將它上傳到CMR 904,以提供結構的聚合層視圖。實例管理數(shù)據(jù)倉庫(IMDW)是存在于每一個數(shù)據(jù)庫實例內(nèi)的管理數(shù)據(jù)倉庫。例如, 第一 IMDW 918存在于第一 Microsoft SQL Server實例912內(nèi)。第二 IMDW 920存在于第二 Microsoft SQL Server實例916內(nèi)。IMDW是實例和主計算機的性能數(shù)據(jù)(例如,報告和 /或監(jiān)視)和配置數(shù)據(jù)的初始目標,其稍后被上傳到CMDW 906中以提供服務器結構的聚合視圖。實例結構服務器(IFS)為核心管理動作提供API。例如,第一 IFS 922存在于第一 Microsoft SQL Server 實例 912 內(nèi)。第二 IFS 924 存在于第二 Microsoft SQL Server 實例916內(nèi)。這些動作包括確認并在本地實例上安裝DAC實例,發(fā)現(xiàn)安裝漂移,并提供協(xié)調(diào)操作。IFS也可以測量實例和DAC的性能并執(zhí)行從CMS 902發(fā)送的動作。參考圖10,在1000,示出了端對端管理過程的說明性視圖。本發(fā)明提供用于在從開發(fā)至部署到操作的完整軟件生命周期中管理數(shù)據(jù)庫應用程序的工具和基礎結構。在本節(jié)中,對前一節(jié)中所描述的主要體系結構組件施加本發(fā)明的一些規(guī)范工作流,以便洞察核心設計原理。在1002,安裝系統(tǒng)并配置結構。在1004,從現(xiàn)有部署中創(chuàng)建DAC并將其導入到結構中。在1006,監(jiān)視并預測服務器結構利用率。基于監(jiān)視和預測,可以調(diào)整結構資源。例如,在1008,管控結構資源。在1010,移動結構元素。參考圖11,示出了安裝過程的說明性示例。安裝包由三個組件構成工具擴展、結構服務,以及管理儲存庫架構。工具擴展應用于Microsoft Visual Mudio或Microsoft SQL Server Management Mudio并且也可為附加工具擴展。結構服務和管理儲存庫架構被安裝在中央管理服務器和托管實例內(nèi)。在1102,獲取安裝包。在1104,安裝工具擴展(例如,針對Microsoft Visual Mudio 和 Microsoft SQL Server Management Studio)。在 1106,安裝和配置中央管理服務器(CMS)和中央結構服務(CFS)。在1108,安裝中央管理儲存庫(CMR)和中央管理數(shù)據(jù)倉庫(CMDW)架構。在1110,發(fā)現(xiàn)所有運行時實例,并發(fā)現(xiàn)將變?yōu)榻Y構中的托管實例的實例。 在1112,在每一個托管實例內(nèi)創(chuàng)建結構安裝作業(yè)。在1114,在每一個托管實例中安裝實例管理儲存庫(IMR)和實例管理數(shù)據(jù)倉庫(IMDW)架構。在1116安裝結構IMDW到CMDW數(shù)據(jù)上傳機制并在1118啟動該機制。參考圖12,示出了從現(xiàn)有部署創(chuàng)建DAC并將其導入到結構中的說明性示例。DAC 是結構內(nèi)的核心邏輯管理單元。結構管理DAC以確保最佳資源利用。通過創(chuàng)建新DAC項目來在 Microsoft Visual Studio 或者 Microsoft SQL Server Management studio 內(nèi)創(chuàng)作 DAC0另外,可通過選定應用程序數(shù)據(jù)庫對象來從先前的數(shù)據(jù)庫部署逆向工程設計出新的 DAC。在1202,創(chuàng)建DAC。在1204,將實例對象添加到DAC。在1206,將實例設置和策略添加到DAC。在1208,將部署設置和策略添加到DAC。在1210,對照IMR確認DAC設置和策略。在1212,將DAC保存到IMR。在1214,將DAC從IMR復制到CMR。可任選地,在1216,創(chuàng)建DAC包二進制文件以供以后在Visual Studio中開發(fā)使用。參考圖13,示出了監(jiān)視和預測服務器結構利用的一個說明性示例??梢钥绶掌鹘Y構和DAC設置和評估資源利用策略,以避免資源被過度利用和利用不足。在1302,在CMR中設置全局資源監(jiān)視策略。在1304,將統(tǒng)計信息添加到IMDW。在 1306,在IMR中設置數(shù)據(jù)庫資源監(jiān)視策略。在1308,在IMDW中監(jiān)視資源利用統(tǒng)計數(shù)據(jù)。或者,可以監(jiān)視和預測其他性能健康統(tǒng)計數(shù)據(jù)(例如,諸如查詢等DAC操作的等待時間統(tǒng)計數(shù)據(jù))。在1310,將IMDW資源利用統(tǒng)計數(shù)據(jù)導出到CMDW。在1312,在CMDW中監(jiān)視當前資源利用。在1314,在CMDW中監(jiān)視預測資源利用。參考圖14,示出了調(diào)整服務器結構資源的一個說明性示例。可以跨結構和DAC設置和評估資源分配策略,以平衡對DAC可用的資源??梢酝ㄟ^諸如就地資源管控之類的動作,以及諸如在卷之間移動文件或在服務器之間移動數(shù)據(jù)庫應用程序之類的移動結構元素,來實現(xiàn)對資源的調(diào)整。就地資源管控的示例包括基于一個或多個資源管控規(guī)則來將 CPU、存儲器或存儲空間資源重新分配給數(shù)據(jù)庫實例或DAC。可以通過實現(xiàn)新資源管控策略來調(diào)整結構資源。在1402,對于與目標DAC有關的DAC,預測資源平衡選項。在1404,在CMR中設置新資源策略。在1406,將新資源策略復制到每一個IMR。在1408,在每一個IMR中實現(xiàn)資源管控規(guī)則。參考圖15,示出了調(diào)整結構資源的另一說明性示例。在圖15中,示出了將DAC從一個文件移動到另一文件的過程。在1502,從CMR中獲取DAC。在1504,預測潛在目標卷。在1506,將DAC映射到另一卷(卷2)。在1508,將DAC從CMR復制到IMR。在1510,在IMR中確認DAC。在1512,安裝DAC (更改數(shù)據(jù)庫,復制文件……)。在1514,在CMR中確認DAC。參考圖16,示出了調(diào)整結構資源的另一說明性示例。在圖16中,示出了將DAC從一個Microsoft SQL Server實例移動到另一實例的過程。在1602,從CMR中獲取DAC。在1604,預測潛在目標實例。在1606,將DAC映射到運行時實例2。在1608,將DAC從CMR復制到實例2 IMR。在1610,在實例2 IMR中確認 DAC0在1612,將DAC安裝到實例2 IMR中。在1614,在CMR中移動DAC端點名稱。在1616, 在CMR中確認DAC。這里所描述的實施例的說明旨在提供對各實施例的結構的一般理解。說明不旨在作為利用這里所描述的結構或方法的裝置和系統(tǒng)的所有元件和特征的完整描述。許多其他實施例對本領域的技術人員在審閱本發(fā)明后是顯而易見的。也可以利用其他實施例,并從本發(fā)明派生出其他實施例,以便可以在不偏離本發(fā)明的范圍的情況下作出結構和邏輯上的替換和改變。相應地,本發(fā)明和附圖應被視為說明性的,而不是限制性的。本領域技術人員將進一步理解,結合這里所說明的實施例所描述的各種說明性邏輯塊、配置、模塊、電路、以及算法步驟,可以作為電子硬件、計算機軟件或兩者的組合來實現(xiàn)。為清楚地示出硬件或軟件的此互換性,上文已經(jīng)一般地在功能方面描述了各種說明性組件、塊、配置、模塊、電路,以及步驟。此類功能集是被實現(xiàn)為硬件還是軟件取決于具體應用和強加于整體系統(tǒng)的設計約束。技術人員可針對每種特定應用以不同方式來實現(xiàn)所描述的功能集,但此類設計決策不應被解釋為致使脫離本公開的范圍。結合此處所公開的各實施例所描述的方法的各個步驟可直接用硬件、由處理器執(zhí)行的軟件模塊、或兩者的組合來實現(xiàn)。軟件模塊可駐留在諸如隨機存取存儲器(RAM)、閃存、 只讀存儲器(ROM)、寄存器、硬盤、可移動盤、⑶-ROM、或本領域內(nèi)已知的任何其他形式的存儲介質(zhì)等計算機可讀介質(zhì)中。示例性存儲介質(zhì)耦合到處理器以使得該處理器能從/向該存儲介質(zhì)讀取/寫入信息。在替換方案中,存儲介質(zhì)可以集成到處理器中,或者處理器和存儲介質(zhì)可以作為分立的元件駐留在計算設備或計算機系統(tǒng)中。雖然這里顯示和描述了具體的實施例,但是,應該了解,被設計為實現(xiàn)相同或類似的目的的任何隨后的安排都可以代替所示出的具體實施例。本說明書計劃涵蓋各種實施例的任何隨后的修改或變化。提交本發(fā)明的摘要的同時要明白,將不用它來解釋或限制權利要求的范圍或含義。此外,在前面的具體實施方式
中,出于將本公開連成一個整體的目的,各種特征可以組合到一起,或在一個實施例中進行描述。本發(fā)明不應被解釋為反映帶權利要求的實施例需要比每一個權利要求中明確地記載的特征更多的特點的意圖。相反,如下面的權利要求所反映的,本發(fā)明的主題可以涉及少于所公開的實施例中的任一個的所有特征。
提供上文對所公開的實施例的描述,以使本領域技術人員能作出或使用所公開的實施例。對這些實施例的各種修改對于本領域技術人員將是顯而易見的,并且本文中定義的普適原理可被應用于其他實施例而不會脫離本公開的范圍。因此,本發(fā)明并不旨在限于此處所示出的各實施例,而是按照與所附權利要求書所定義的原理和新穎特征相一致的盡可能最寬的范圍。
權利要求
1.一種系統(tǒng),包括結構(501),其標識數(shù)據(jù)層應用程序組件(502)的集合,所述數(shù)據(jù)層應用程序組件中的每一個都包括數(shù)據(jù)庫元素(510、512、514)的集合的邏輯表示;主存所述數(shù)據(jù)層應用程序組件(502)的集合的數(shù)據(jù)庫運行時資源(516)的集合;以及所述數(shù)據(jù)庫運行時資源的集合用來主存所述數(shù)據(jù)層應用程序組件(502)的集合的計算資源(524);以及接收結構策略的管理點(602),其中所述結構策略中的一個或多個動作自動地應用于由所述結構(501)標識的受影響的實體,以使一個或多個結構元素符合所述結構策略。
2.如權利要求1所述的系統(tǒng),其特征在于,所述一個或多個動作包括當文件系統(tǒng)增長或被預測達到資源限制時,自動將所述文件系統(tǒng)上的一個或多個文件移至另一操作系統(tǒng)卷上的第二文件系統(tǒng);當處理器正在經(jīng)歷高負載時,自動將軟件應用程序自動地移至具有較低處理器負載的另一計算機;以及根據(jù)測得的服務質(zhì)量度量來自動地執(zhí)行一個或多個動作以維護性能。
3.如權利要求1所述的系統(tǒng),其特征在于,所述計算資源包括一個或多個計算機資源, 一個或多個計算機數(shù)據(jù)存儲資源,或一個或多個虛擬機資源。
4.如權利要求3所述的系統(tǒng),其特征在于,所述一個或多個計算機資源中的每一個都包括處理器、存儲器或網(wǎng)絡元件,并且其中所述一個或多個計算機數(shù)據(jù)存儲資源中的至少一個是包括多個文件的操作系統(tǒng)卷,并且其中所述一個或多個計算機服務器資源中的至少一個最初被映射到第一存儲區(qū)域網(wǎng)絡并且隨后被映射到第二存儲區(qū)域網(wǎng)絡。
5.如權利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)層應用程序組件中的每一個都通過結構的數(shù)據(jù)層應用程序組件層來表示,所述計算資源中的每一個都通過所述結構的硬件資源層來表示,所述數(shù)據(jù)庫運行時資源中的每一個都通過所述結構的運行時環(huán)境層來表示。
6.如權利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)層應用程序組件中的每一個都被映射到所述數(shù)據(jù)庫運行時資源中的一個,并且其中每一數(shù)據(jù)庫運行時資源都被映射到一個或多個物理計算資源。
7.如權利要求6所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫運行時資源中的一個從第一計算機重新映射到第二計算機。
8.如權利要求6所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫運行時資源中的一個從第一操作系統(tǒng)卷重新映射到第二操作系統(tǒng)卷。
9.如權利要求1所述的系統(tǒng),其特征在于,所述結構策略的所述一個或多個動作包括以下各項中的一個或多個根據(jù)第一資源管控規(guī)則來將一個或多個資源的子集分配給特定應用程序、根據(jù)第二資源管控規(guī)則來重新分配第一計算機系統(tǒng)的硬件資源、以及根據(jù)第三資源管控規(guī)則來將軟件應用程序以及與所述軟件應用程序相關聯(lián)的文件移動到第二計算機系統(tǒng)。
10.一種自動地應用結構策略的方法,所述方法包括在服務器結構(501)的管理點(602)處接收(702)結構策略,所述服務器結構(501)標識數(shù)據(jù)層應用程序組件(502),所述數(shù)據(jù)層應用程序組件(502)中的每一個都包括數(shù)據(jù)庫元素集合的邏輯表示;主存所述數(shù)據(jù)層應用程序組件(502)的集合的數(shù)據(jù)庫運行時資源(516);以及所述數(shù)據(jù)庫運行時資源(516)用來主存所述數(shù)據(jù)層應用程序組件(502)的計算資源 (524);監(jiān)視(704)所述服務器結構(501)的實體;以及自動將所述結構策略的一個或多個動作應用于由所述服務器結構(501)標識的受影響的實體,以使得與所述服務器結構(501)相關聯(lián)的元素符合所述結構策略。
11.如權利要求10所述的方法,其特征在于,自動地應用所述結構策略的所述一個或多個動作包括檢索所述結構策略,針對目標集合評估所述結構策略,生成一個或多個對應的動作以強制實施所述結構策略,以及對所述目標集合執(zhí)行所述對應的動作。
12.如權利要求10所述的方法,其特征在于,所述結構策略被用來確定所述結構元素中的每一個的健康狀態(tài)。
13.如權利要求10所述的方法,其特征在于,還包括提供策略定義、策略強制實施、服務器結構對象部署,以及對服務器結構層的監(jiān)視。
14.如權利要求10所述的方法,其特征在于,所述結構策略是被定義為引導行為或動作的權威性原理,并且其中所述結構策略指定可以應用于由所述服務器結構標識的實體集的條件集。
15.如權利要求14所述的方法,其特征在于,所述實體集包括一個或多個數(shù)據(jù)庫運行時實例,并且所述結構策略限制將所述一個或多個數(shù)據(jù)庫運行時實例結合到所述結構中。
全文摘要
公開了用于管理數(shù)據(jù)庫應用程序的系統(tǒng)和方法。一種系統(tǒng)包括標識數(shù)據(jù)層應用程序組件集合的結構。數(shù)據(jù)層應用程序組件中的每一個都包括數(shù)據(jù)庫元素集合的邏輯表示。該結構標識主存該數(shù)據(jù)層應用程序組件集合的數(shù)據(jù)庫運行時資源集合,并且該結構標識該數(shù)據(jù)庫運行時資源集合用來主存數(shù)據(jù)層應用程序組件集合的計算資源。該系統(tǒng)還包括用于接收結構策略的管理點。該結構策略的一個或多個動作自動地應用于由該結構標識的受影響的實體,以使結構元素符合結構策略。
文檔編號G06F17/00GK102171694SQ200980139746
公開日2011年8月31日 申請日期2009年9月15日 優(yōu)先權日2008年9月30日
發(fā)明者J·M·奧斯雷克, J·馮, K·范海寧, M·霍林斯沃思, P·瑟沙德瑞, S·比切 申請人:微軟公司