SQL-Server-2005數(shù)據(jù)維護(hù)計(jì)劃_第1頁
SQL-Server-2005數(shù)據(jù)維護(hù)計(jì)劃_第2頁
SQL-Server-2005數(shù)據(jù)維護(hù)計(jì)劃_第3頁
SQL-Server-2005數(shù)據(jù)維護(hù)計(jì)劃_第4頁
SQL-Server-2005數(shù)據(jù)維護(hù)計(jì)劃_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1.關(guān)于SQLServer2005數(shù)據(jù)維護(hù)計(jì)劃為了使SQLServer數(shù)據(jù)庫的性能保持在最佳的狀態(tài),數(shù)據(jù)庫管理員應(yīng)該對每一個(gè)數(shù)據(jù)庫進(jìn)行定期的常規(guī)維護(hù)。這些常規(guī)任務(wù)包括重建數(shù)據(jù)庫索引、檢查數(shù)據(jù)庫完整性,更新索引統(tǒng)計(jì)信息,數(shù)據(jù)庫內(nèi)部一致性檢查和備份等。這些常規(guī)的數(shù)據(jù)庫維護(hù)任務(wù)需要經(jīng)常重復(fù),而且繁瑣耗時(shí),所以往往被管理員忽略。而且,現(xiàn)在的數(shù)據(jù)庫管理員一天到晚都被很多其他的任務(wù)壓得喘不過氣來,根本沒有時(shí)間去進(jìn)行日常維護(hù)工作。認(rèn)識到這些問題的存在,SQLServer通過制定維護(hù)計(jì)劃,提供了一個(gè)可以自動(dòng)或手動(dòng)執(zhí)行這些日常維護(hù)事務(wù)的方法。當(dāng)確定并創(chuàng)建了維護(hù)任務(wù)后,日常維護(hù)就會(huì)根據(jù)設(shè)定的時(shí)間段啟動(dòng),最終會(huì)為企業(yè)提供更優(yōu)質(zhì)更穩(wěn)定更值得信賴的數(shù)據(jù)庫。2.SQLServerServicePack2數(shù)據(jù)維護(hù)方面的新特性SQLServerServicePack2有許多改進(jìn)的新功能和修復(fù)設(shè)置已經(jīng)能夠支持維護(hù)計(jì)劃的創(chuàng)建功能。其中改進(jìn)的特性包括:維護(hù)計(jì)劃設(shè)計(jì)器支持在一個(gè)維護(hù)計(jì)劃里設(shè)置多個(gè)子計(jì)劃,而且每個(gè)子計(jì)劃可以具有創(chuàng)建獨(dú)立任務(wù)計(jì)劃書的功能。多重計(jì)劃書是備受期待的特性,能夠?yàn)椴煌娜粘>S護(hù)事務(wù)設(shè)置獨(dú)立的計(jì)劃表,例如備份、更新統(tǒng)計(jì)信息和執(zhí)行SQLServer作業(yè)等。在SQLServer2005推出的初期,如果企業(yè)想要運(yùn)行維護(hù)計(jì)劃,需要安裝SQLServer集成服務(wù)(SQLServerIntegrationServices,SSIS)。不過現(xiàn)在維護(hù)計(jì)劃已經(jīng)作為一項(xiàng)完全支持的特性整合到了數(shù)據(jù)庫引擎中,所以不再需要啟動(dòng)集成服務(wù)了。支持多服務(wù)器管理環(huán)境,并把維護(hù)計(jì)劃信息記錄到遠(yuǎn)程服務(wù)器,以適應(yīng)不斷增加的管理維護(hù)計(jì)劃。可以從一臺(tái)中央主服務(wù)器為所有的目標(biāo)服務(wù)器設(shè)置維護(hù)計(jì)劃。最早出現(xiàn)在SQLServer2000備受歡迎的“清除維護(hù)任務(wù)”(MaintenanceCleanupTask)重新回到了維護(hù)計(jì)劃里。這個(gè)任務(wù)可以刪除維護(hù)計(jì)劃執(zhí)行以后任何殘留下來的文件。下面列舉幾個(gè)人們預(yù)想不到的修復(fù)設(shè)置,用以改善相關(guān)的具體任務(wù):SQLServer2005ServicePack2為數(shù)據(jù)庫備份維護(hù)計(jì)劃任務(wù)增加了新的備份過期選項(xiàng)。如果您想讓備份設(shè)置在某個(gè)特定日期之后失效,就可以通過設(shè)置備份過期選項(xiàng)來實(shí)現(xiàn)。SQLServer2000具有這個(gè)特性,不過在SQLServer2005發(fā)布之初被刪除了。您可以另外指定備份文件夾的位置,數(shù)據(jù)庫備份維護(hù)計(jì)劃任務(wù)不會(huì)再重新設(shè)置這個(gè)選項(xiàng)為默認(rèn)位置。過去當(dāng)您運(yùn)行備份數(shù)據(jù)庫維護(hù)計(jì)劃任務(wù)時(shí),系統(tǒng)可能會(huì)錯(cuò)認(rèn)為您要利用簡單恢復(fù)模式為系統(tǒng)數(shù)據(jù)庫創(chuàng)建差異和事務(wù)日志備份?,F(xiàn)在這個(gè)缺陷已經(jīng)修復(fù)了。歷史清除維護(hù)計(jì)劃任務(wù)能夠?qū)h除文件的時(shí)間選項(xiàng)設(shè)置成以小時(shí)為單位,大大減少了人工操作時(shí)間。更新統(tǒng)計(jì)信息任務(wù)提供原先在SQLServer2000維護(hù)計(jì)劃中包含的完全掃描或根據(jù)樣本大小掃描的選項(xiàng)。3.SQLServer維護(hù)計(jì)劃的任務(wù)一個(gè)維護(hù)計(jì)劃可以在設(shè)定的時(shí)間段里運(yùn)行全套的SQLServer維護(hù)任務(wù),以確保數(shù)據(jù)庫引擎里的關(guān)系數(shù)據(jù)庫能夠優(yōu)化運(yùn)行、執(zhí)行日常備份和檢查異常數(shù)據(jù)。作為SQLServer數(shù)據(jù)庫引擎的一個(gè)特性,可以自動(dòng)創(chuàng)建數(shù)據(jù)庫維護(hù)計(jì)劃并為這些日常維護(hù)設(shè)置計(jì)劃書。一個(gè)全面的維護(hù)計(jì)劃包括一下幾個(gè)主要的任務(wù):檢查數(shù)據(jù)庫完整性更新數(shù)據(jù)庫統(tǒng)計(jì)信息重新組織數(shù)據(jù)庫索引進(jìn)行數(shù)據(jù)庫備份清洗數(shù)據(jù)庫歷史操作數(shù)據(jù)收縮數(shù)據(jù)庫清除維護(hù)計(jì)劃殘留文件執(zhí)行SQLServer作業(yè)清除維護(hù)任務(wù)注意,和SQLServer2000不同,日志傳送不再包括在維護(hù)計(jì)劃的范疇里??梢栽赟QLServerManagementStudio的數(shù)據(jù)庫水平上或者通過TSQL腳本設(shè)置日志傳送任務(wù)。3.1檢查數(shù)據(jù)庫完整性任務(wù)檢查數(shù)據(jù)庫完整性任務(wù)(CheckDatabaseIntegrityTask)檢驗(yàn)選定的關(guān)系數(shù)據(jù)庫中用戶和系統(tǒng)表的性能和結(jié)構(gòu)完整性,同時(shí)也可以選擇檢查所有索引頁的完整性,檢查對象可以是所有的系統(tǒng)和用戶數(shù)據(jù)庫,也可以是單個(gè)指定數(shù)據(jù)庫。通過維護(hù)計(jì)劃向?qū)?MaintenancePlanWizard)或使用TSQL語句能夠手動(dòng)創(chuàng)建該任務(wù)。下面的語法雖然簡單,但提供了在AdventureWorks數(shù)據(jù)庫中創(chuàng)建檢查數(shù)據(jù)庫完整性任務(wù)所需要的所有信息。3.2收縮數(shù)據(jù)庫任務(wù)收縮數(shù)據(jù)庫任務(wù)可以把數(shù)據(jù)庫的物理空間和日志文件所占的空間減小到特定值,類似于SSMS中使用的自動(dòng)收縮任務(wù)(AutomaticShrinkTask)。收縮對象可以是所有數(shù)據(jù)庫、所有系統(tǒng)數(shù)據(jù)庫、所有用戶數(shù)據(jù)庫或單個(gè)任務(wù)中指定的數(shù)據(jù)庫。該任務(wù)會(huì)根據(jù)您輸入的百分比值消除多余的空間。此外,還可以設(shè)定各種表示大小(MB)的閾值,包括當(dāng)數(shù)據(jù)庫大小達(dá)到某特定值時(shí)的收縮量以及收縮后必須保留的可用空間大小等??捎每臻g可以保留在數(shù)據(jù)庫里,也可以釋放到操作系統(tǒng)中。以下的TSQL語法可以用來收縮AdventureWorks數(shù)據(jù)庫,并把所釋放的空間返回操作系統(tǒng),且允許在收縮后保留15%的可用空間。USE[AdventureWorks]GODBCCSHRINKDATABASE(N'AdventureWorks',15,TRUNCATEONLY)GO

但是,如果您要?jiǎng)?chuàng)建維護(hù)計(jì)劃,最好不要選擇收縮數(shù)據(jù)庫的選項(xiàng)。首先,數(shù)據(jù)庫收縮操作總是反向進(jìn)行的,即從文件末端開始釋放空間,把分配頁移動(dòng)到文件起始端的未分配頁。由于所有的轉(zhuǎn)移操作都會(huì)被記錄到日志中,所以這個(gè)過程會(huì)增加事務(wù)日志文件的大小。其次,如果數(shù)據(jù)庫的使用頻率很高就會(huì)產(chǎn)生插入碎片,數(shù)據(jù)庫文件又會(huì)不斷增加。SQLServer2005啟用即時(shí)文件初始化來解決數(shù)據(jù)庫自動(dòng)增長緩慢的問題,因此增長過程會(huì)比過去快。不過,有時(shí)候會(huì)出現(xiàn)自動(dòng)增長需要的空間不足的情況,這將造成數(shù)據(jù)庫性能衰退。最后,數(shù)據(jù)庫收縮和增長過于頻繁會(huì)產(chǎn)生很多文件碎片。如果您想要收縮數(shù)據(jù)庫空間,最好在數(shù)據(jù)庫運(yùn)行非高峰時(shí)段手動(dòng)進(jìn)行。3.3重新組織索引任務(wù)重新組織索引任務(wù)(ReorganizeIndexTask)可以整理索引碎片,并壓縮與所有表和視圖相關(guān)聯(lián)的或者與特定表和視圖關(guān)聯(lián)的聚集和非聚集索引,以此來來改善索引掃描性能。受此任務(wù)影響的數(shù)據(jù)庫可以是所有的數(shù)據(jù)庫、所有系統(tǒng)數(shù)據(jù)庫、所有用戶數(shù)據(jù)庫或單個(gè)目標(biāo)數(shù)據(jù)庫。任務(wù)設(shè)置了可以用來選擇壓縮圖像或文本等大型對象(LOB)數(shù)據(jù)的額外選項(xiàng)。為了更深入了解這個(gè)任務(wù),下面舉一個(gè)用來重新組織與AdventureWorks數(shù)據(jù)庫中的[Sales].[SalesOrderDetail]表關(guān)聯(lián)的索引的TSQL語法實(shí)例,本例中還包含了壓縮大型對象數(shù)據(jù)的選項(xiàng):USE[AdventureWorks]GOALTERINDEX[IX_SalesOrderDetail_ProductID]ON[Sales].[SalesOrderDetail]REORGANIZEWITH(LOB_COMPACTION=ON)GOUSE[AdventureWorks]GOALTERINDEX[PK_SalesOrderDetail_SalesOrderID_SalesOrderDetailID]ON[Sales].[SalesOrderDetail]REORGANIZEWITH(LOB_COMPACTION=ON)3.4重新生成索引任務(wù)重新生成索引任務(wù)(RebuildIndexTask)旨在通過重新組織數(shù)據(jù)庫中所有的表索引而清除碎片。此任務(wù)對于確保查詢性能和應(yīng)用程序響應(yīng)不會(huì)退化非常有用。因此,當(dāng)需要對SQL執(zhí)行索引掃描和查找的時(shí)候,系統(tǒng)運(yùn)行會(huì)非常順暢。另外,此任務(wù)能夠優(yōu)化數(shù)據(jù)和可用空間的再索引頁的分配,使數(shù)據(jù)庫增長更加快速。對于可用空間,重新生成索引任務(wù)包含以下兩個(gè)選項(xiàng):采用默認(rèn)可用空間大小來重新組織索引頁——?jiǎng)h除數(shù)據(jù)庫里的表索引,并重新生成索引,生成索引的同時(shí)就指定填充因子(fillfactor)的值。改變每個(gè)索引頁的可用空間比例——?jiǎng)h除數(shù)據(jù)庫里的表索引,并指定一個(gè)自動(dòng)計(jì)算得到的新填充因子值來重新生成索引,因此能夠保留索引頁上指定的有用空間大小。填充因子的有效值范圍從0到100,數(shù)值越大,索引頁上保留的有用空間就越多,索引就可以增長得越大。重新生成索引的高級選項(xiàng)包括:指定是否在tempdb中存儲(chǔ)排序結(jié)果——這是重新生成索引的第一個(gè)高級選項(xiàng),相當(dāng)于索引中的SORT_IN_TEMPDB選項(xiàng),如果激活這個(gè)選項(xiàng),那么中間排序結(jié)果將會(huì)在重新生成索引的過程中存儲(chǔ)到tempdb中。指定重新生成索引操作中是否保持索引聯(lián)機(jī)——如果設(shè)置值為ON,那么這個(gè)選項(xiàng)允許用戶在重新生成索引操作過程中對基礎(chǔ)表、聚集索引數(shù)據(jù)和相關(guān)聯(lián)的索引進(jìn)行查詢和數(shù)據(jù)修改操作。為了更深入了解這個(gè)任務(wù),下面舉一個(gè)TSQL語法實(shí)例用來重新生成與AdventureWorks數(shù)據(jù)庫中的[Sales].[SalesOrderDetail]表關(guān)聯(lián)的索引,例子中采用默認(rèn)可用空間大小選項(xiàng),同時(shí)將排序結(jié)果存儲(chǔ)在tempdb中,并在操作過程中保持索引聯(lián)機(jī):USE[AdventureWorks]GOALTERINDEX[AK_SalesOrderDetail_rowguid]ON[Sales].[SalesOrderDetail]REBUILDWITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON,SORT_IN_TEMPDB=ON,IGNORE_DUP_KEY=OFF,ONLINE=ON)GOUSE[AdventureWorks]GOALTERINDEX[IX_SalesOrderDetail_ProductID]ON[Sales].[SalesOrderDetail]REBUILDWITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON,SORT_IN_TEMPDB=ON,ONLINE=ON)GOUSE[AdventureWorks]GOALTERINDEX[PK_SalesOrderDetail_SalesOrderID_SalesOrderDetailID]ON[Sales].[SalesOrderDetail]REBUILDWITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON,SORT_IN_TEMPDB=ON,ONLINE=ON)3.5更新統(tǒng)計(jì)信息任務(wù)更新統(tǒng)計(jì)信息任務(wù)(pdateStatisticsTask)通過對用戶表創(chuàng)建的每個(gè)索引統(tǒng)計(jì)信息分布進(jìn)行重新抽樣,以確保在一個(gè)或多個(gè)SQLServer數(shù)據(jù)庫內(nèi)表和索引中的數(shù)據(jù)都是最新的。此任務(wù)的選項(xiàng)有很多,下面為您一一介紹:數(shù)據(jù)庫——首先選擇受此任務(wù)影響的數(shù)據(jù)庫。這個(gè)選項(xiàng)范圍包括所有數(shù)據(jù)庫、所有系統(tǒng)數(shù)據(jù)庫、所有用戶數(shù)據(jù)庫或指定數(shù)據(jù)庫。對象——選擇完數(shù)據(jù)庫后,就該在對象框中選擇限定顯示表、顯示視圖還是兩者同時(shí)顯示。選擇——選擇受此任務(wù)影響的表或索引。如果在對象框中選擇了同時(shí)顯示表和視圖選項(xiàng)的話,此選項(xiàng)不可用。更新——“更新”框提供了三個(gè)選項(xiàng)。如果需要更新列和索引的統(tǒng)計(jì)信息那就選擇全部現(xiàn)有統(tǒng)計(jì)信息,如果只需要更新列統(tǒng)計(jì)信息那就選擇僅限列統(tǒng)計(jì)信息,如果只更新索引統(tǒng)計(jì)信息那就選擇僅限索引統(tǒng)計(jì)信息。掃描類型——此選項(xiàng)使用戶可以對收集已更新統(tǒng)計(jì)信息進(jìn)行完全掃描或通過在抽樣選項(xiàng)鍵入特定值進(jìn)行掃描。抽樣選項(xiàng)的值可以是要抽樣的表或索引視圖的百分比,也可以是指定的行數(shù)。下面是用來更新AdventureWorks數(shù)據(jù)庫中的[Sales].[SalesOrderDetail]表的索引統(tǒng)計(jì)信息的TSQL語法,例子中選擇更新全部現(xiàn)有信息,并執(zhí)行完全掃描:3.6清除歷史記錄任務(wù)清除歷史記錄任務(wù)(HistoryCleanupTask)用幾個(gè)簡單的步驟就可以完全清除數(shù)據(jù)庫表中舊的歷史信息。任務(wù)支持刪除多種類型的數(shù)據(jù)。下面介紹與此任務(wù)相關(guān)的幾個(gè)選項(xiàng):即將刪除的歷史數(shù)據(jù)——使用維護(hù)計(jì)劃向?qū)砬宄齻浞莺瓦€原歷史記錄,SQLServer代理作業(yè)歷史記錄和維護(hù)計(jì)劃歷史記錄。移除歷史數(shù)據(jù),如果其保留時(shí)間超過——同樣是通過維護(hù)計(jì)劃向?qū)?shí)現(xiàn),用于指定需要?jiǎng)h除的數(shù)據(jù)所保留的最早日期。例如您可以選擇以天數(shù)、周數(shù)、月數(shù)或年數(shù)為單位作為間隔周期來刪除舊數(shù)據(jù),系統(tǒng)將自動(dòng)將該間隔單位轉(zhuǎn)換為日期。當(dāng)清除歷史記錄任務(wù)完成后,點(diǎn)擊“下一步”,調(diào)用“選擇報(bào)告選項(xiàng)”界面,激活檢查框中的將報(bào)告寫入文本文檔選項(xiàng),然后選擇保存路徑就可以選擇將結(jié)果報(bào)告保存到一個(gè)文本文檔或用電子郵件發(fā)送這份報(bào)告給操作人員。下面的TSQL實(shí)例顯示如何清除保留了超過四星期的備份和還原歷史、SQLServer代理作業(yè)歷史以及維護(hù)計(jì)劃歷史等數(shù)據(jù):declare@dtdatetimeselect@dt=cast(N'2007-10-21T09:26:24'asdatetime)execmsdb.dbo.sp_delete_backuphistory@dtGOEXECmsdb.dbo.sp_purge_jobhistory@oldest_date='2007-10-21T09:26:24'GOEXECUTEmsdb..sp_maintplan_delete_lognull,null,'2007-10-21T09:26:24'3.7執(zhí)行SQLServer代理作業(yè)任務(wù)執(zhí)行SQLServer代理作業(yè)任務(wù)(ExecuteSQLServerAgentJobtask)可以讓您把運(yùn)行已有的SQLServer代理作業(yè)和SSIS程序包作為維護(hù)計(jì)劃的一部分。通過在“定義執(zhí)行SQLServer代理作業(yè)任務(wù)”界面的可用SQLServer代理作業(yè)選項(xiàng)卡選擇完成這項(xiàng)任務(wù)。同樣,也可以通過TSQL語法來通過輸入與已有的作業(yè)相應(yīng)的作業(yè)ID來執(zhí)行這項(xiàng)任務(wù)。執(zhí)行此任務(wù)的語法如下:EXECmsdb.dbo.sp_start_job@job_id=N'35eca119-28a6-4a29-994b-0680ce73f1f3'3.8備份數(shù)據(jù)庫任務(wù)備份數(shù)據(jù)庫任務(wù)(BackUpDatabaseTask)是自動(dòng)和按計(jì)劃執(zhí)行完全備份、差異備份和事務(wù)日志備份的最佳途徑。當(dāng)在備份計(jì)劃中創(chuàng)建以上備份任務(wù)時(shí),會(huì)有一個(gè)包含多個(gè)選項(xiàng)的擴(kuò)張選項(xiàng)集。通過設(shè)置這些擴(kuò)張選項(xiàng),您可以選擇備份一個(gè)數(shù)據(jù)庫或單個(gè)的組件,設(shè)置備份過期時(shí)間,驗(yàn)證備份完整性,設(shè)置還可以選擇是否使用硬盤或磁帶備份。下面將對這些備份選項(xiàng)進(jìn)行詳細(xì)介紹:指定備份數(shù)據(jù)庫——指定受此任務(wù)影響的數(shù)據(jù)庫,下拉菜單提供以下選項(xiàng):所有數(shù)據(jù)庫、所有系統(tǒng)數(shù)據(jù)庫、所有用戶數(shù)據(jù)庫和以下數(shù)據(jù)庫。備份組件——提供備份整個(gè)數(shù)據(jù)庫和指定文件和文件組選項(xiàng)。備份集過期時(shí)間——只需要輸入特定的天數(shù)或者輸入某個(gè)具體日期(如2007年12月30日),即可指定備份集過期并可被其他備份集覆蓋的時(shí)間,。備份到——此選項(xiàng)可用于指定將數(shù)據(jù)庫備份到一個(gè)文件或磁帶,只有系統(tǒng)中存在磁帶設(shè)備時(shí)才可以將數(shù)據(jù)庫備份到磁帶,否則可選擇備份到網(wǎng)絡(luò)共享的文件中??鐔蝹€(gè)或多個(gè)文件備份數(shù)據(jù)庫——單擊添加可打開選擇備份目標(biāo)對話框,選擇添加或去除一個(gè)或多個(gè)磁盤或磁帶路徑。此外,您可以查看文件內(nèi)容,如果備份文件已存在,可選擇追加把備份添加到已存在的備份文件當(dāng)中。為每個(gè)數(shù)據(jù)庫創(chuàng)建備份文件——可以跳過上述的跨單個(gè)或多個(gè)文件備份數(shù)據(jù)庫選項(xiàng),選擇讓SQLSever自動(dòng)為每個(gè)已選擇的數(shù)據(jù)庫創(chuàng)建備份文件。此外,還可以為每個(gè)已選擇數(shù)據(jù)庫創(chuàng)建一個(gè)子目錄。注意,如果選擇自動(dòng)創(chuàng)建子目錄選項(xiàng),此子目錄將會(huì)沿襲上級目錄的權(quán)限。應(yīng)當(dāng)限制相關(guān)的NTFS權(quán)限,以保護(hù)根目錄防止未經(jīng)授權(quán)訪問。驗(yàn)證備份完整性——當(dāng)備份操作執(zhí)行完畢,可使用TSQL語句檢查備份是否成功,以及所有卷是否都可讀。當(dāng)您創(chuàng)建維護(hù)計(jì)劃時(shí),可以通過以下三個(gè)途徑中的任意一個(gè)來備份數(shù)據(jù)庫。當(dāng)需要獲得整個(gè)數(shù)據(jù)庫時(shí),選擇指定備份數(shù)據(jù)庫選項(xiàng)卡中的完全備份;如果只需要記錄自最近一次完全備份以來所改變的數(shù)據(jù),請選擇差異備份;如果只想要備份日志中的訪問記錄時(shí),請選擇事務(wù)日志備份。執(zhí)行完全備份和差異備份任務(wù)的備份文件擴(kuò)展名為.bak,而事務(wù)日志備份的為.trn。除了這些不同之處以外,每個(gè)途徑的選項(xiàng)都相同。很明顯,數(shù)據(jù)庫管理員會(huì)經(jīng)常使用維護(hù)計(jì)劃來備份數(shù)據(jù)庫以及事務(wù)日志。但是,如果使用已經(jīng)設(shè)置好日志傳送的備份計(jì)劃來備份事務(wù)日志時(shí),在還原過程中會(huì)出現(xiàn)問題。最終,會(huì)創(chuàng)建出兩個(gè)事務(wù)日志備份集,一個(gè)來自備份任務(wù),另一個(gè)來自日志傳送任務(wù)。因此,如果需要執(zhí)行還原操作,必須兩個(gè)備份集都有,否則不能把數(shù)據(jù)庫備份到故障點(diǎn)。如果基于日志傳送的事務(wù)日志備份已經(jīng)存在,最好不要再通過備份計(jì)劃另外創(chuàng)建事務(wù)日志備份任務(wù)。這樣不會(huì)造成混亂,并不會(huì)把恢復(fù)計(jì)劃搞砸而導(dǎo)致數(shù)據(jù)丟失。3.9清除維護(hù)任務(wù)清除維護(hù)任務(wù)(MaintenanceCleanupTask)用以刪除維護(hù)計(jì)劃執(zhí)行完畢后駐留再數(shù)據(jù)庫中與維護(hù)計(jì)劃相關(guān)的文件,包括備份計(jì)劃文件和文本報(bào)告。此任務(wù)的選項(xiàng)詳細(xì)介紹如下:刪除以下類型文件——可以選擇刪除數(shù)據(jù)庫備份文件或以前運(yùn)行維護(hù)計(jì)劃的文本報(bào)告。文件路徑——通過文件名對話框可以選擇刪除指定的文件。搜索文件夾并根據(jù)擴(kuò)展名刪除文件——此選項(xiàng)可同時(shí)刪除某特定文件夾中具有相同指定擴(kuò)展名(如.txt)的多個(gè)文件。還可以選擇刪除指定文件夾中的所有一級子文件夾。文件保留時(shí)間——指定刪除保留時(shí)間超過指定時(shí)間長度的文件。指定時(shí)間長度單位可以是小時(shí)、天、周、月和年。4.創(chuàng)建維護(hù)計(jì)劃您可以通過多個(gè)方法創(chuàng)建維護(hù)計(jì)劃,如使用SSMS的數(shù)據(jù)庫維護(hù)計(jì)劃向?qū)?,或利用相關(guān)的維護(hù)計(jì)劃任務(wù)工具框手動(dòng)創(chuàng)建維護(hù)計(jì)劃。下面將為大家詳細(xì)介紹如何能夠簡單而直接地使用向?qū)Ш褪謩?dòng)來創(chuàng)建維護(hù)計(jì)劃。4.1利用數(shù)據(jù)庫維護(hù)計(jì)劃向?qū)韯?chuàng)建維護(hù)計(jì)劃數(shù)據(jù)庫維護(hù)工作是所有數(shù)據(jù)庫管理員的重要任務(wù)。要得到一個(gè)運(yùn)行良好的系統(tǒng)就必須根據(jù)各自企業(yè)的需要利用維護(hù)計(jì)劃來自動(dòng)執(zhí)行管理任務(wù)。下面將為大家介紹如何利用維護(hù)計(jì)劃向?qū)頌樗邢到y(tǒng)和用戶數(shù)據(jù)庫創(chuàng)建一個(gè)自定義的維護(hù)計(jì)劃。在我們將要看到的例子中,包括了以下維護(hù)任務(wù):檢查數(shù)據(jù)庫完整性、重新組織索引、重新生成索引、更新統(tǒng)計(jì)信息和清除歷史記錄。在產(chǎn)品環(huán)境中,是不能夠在同一個(gè)維護(hù)計(jì)劃里同時(shí)包含重新組織索引和重新生成索引這兩個(gè)任務(wù)的。這兩個(gè)任務(wù)會(huì)被認(rèn)為是重復(fù)的。這里只是為了更好的解釋創(chuàng)建設(shè)置而把兩者都包括了。1.選擇開始→所有程序→MicrosoftSQLServer2005→SQLServerManagementStudio。2.在對象資源管理器中,首先選擇連接到數(shù)據(jù)庫引擎,展開目標(biāo)服務(wù)器,再打開Management文件夾→ManagementPlans文件夾。3.右擊MaintenancePlans,然后選擇維護(hù)計(jì)劃向?qū)А?.閱讀歡迎進(jìn)入數(shù)據(jù)庫維護(hù)計(jì)劃向?qū)Ы缑娴男畔?,然后點(diǎn)擊下一步。5.在計(jì)劃屬性設(shè)置界面,輸入維護(hù)計(jì)劃的名稱和描述語句。6.可以選擇第一個(gè)選項(xiàng)(為每個(gè)任務(wù)創(chuàng)建獨(dú)立計(jì)劃書)或者第二個(gè)選項(xiàng)(為整體計(jì)劃創(chuàng)建單一的計(jì)劃書或無計(jì)劃書。本例中選擇第一個(gè)選項(xiàng),然后點(diǎn)擊下一步(見圖1)。注意,只有ServicePack2支持在單個(gè)維護(hù)計(jì)劃中為每個(gè)子計(jì)劃創(chuàng)建獨(dú)立的計(jì)劃書圖一7.在選擇維護(hù)任務(wù)界面(見圖2),在下列維護(hù)任務(wù)前的方框中勾選該任務(wù):檢查數(shù)據(jù)庫完整性、重新組織索引、重新生成索引、更新統(tǒng)計(jì)信息和清除歷史記錄。然后點(diǎn)擊下一步。圖28.在選擇維護(hù)任務(wù)執(zhí)行順序界面,指定任務(wù)的執(zhí)行順序,然后點(diǎn)擊下一步。注意,包括重新組織和重新生成索引以及更新統(tǒng)計(jì)信息在內(nèi)的很多維護(hù)任務(wù)執(zhí)行的時(shí)候會(huì)改變數(shù)據(jù)庫的內(nèi)容。鑒于這種情況,在指定維護(hù)任務(wù)之間的優(yōu)先鏈接時(shí),最好把完全備份數(shù)據(jù)庫任務(wù)指定為第一個(gè)執(zhí)行的任務(wù)。這樣確保如果上述維護(hù)計(jì)劃任務(wù)失敗時(shí)能夠回滾數(shù)據(jù)庫。

9.本例中選擇的第一個(gè)任務(wù)是檢查數(shù)據(jù)庫完整性。在指定檢查數(shù)據(jù)庫完整性任務(wù)界面,從下拉菜單選擇所有數(shù)據(jù)庫選項(xiàng),然后接受默認(rèn)設(shè)置,即勾選包含索引選項(xiàng)框(這可以確保運(yùn)行任務(wù)時(shí)會(huì)對所有索引頁和表數(shù)據(jù)庫進(jìn)行完整性檢查)。點(diǎn)擊右下方的更改按鈕,設(shè)置此任務(wù)運(yùn)行時(shí)間為每周的非高峰時(shí)段,如星期天的午夜。接著點(diǎn)擊下一步繼續(xù)創(chuàng)建別的任務(wù)(見圖3)。圖310.第二個(gè)維護(hù)任務(wù)是重新組織索引。在指定重新組織索引任務(wù)界面的下拉菜單中選擇所有數(shù)據(jù)庫選項(xiàng)。勾選壓縮大型對象選項(xiàng)框。點(diǎn)擊更改按鈕,設(shè)置每周運(yùn)行一次此任務(wù),然后點(diǎn)擊下一步繼續(xù)(見圖4)。圖411.第三個(gè)維護(hù)任務(wù)是重新生成索引。還是在任務(wù)界面的下拉菜單中選擇所有數(shù)據(jù)庫選項(xiàng),然后設(shè)置運(yùn)行頻率為每周一次。把可用空間選項(xiàng)卡設(shè)置為更具默認(rèn)可用空間大小重新組織頁面。在高級選項(xiàng)卡中勾選把排序結(jié)果存儲(chǔ)在tempdb中和在重新生成索引時(shí)保持索引聯(lián)機(jī)這兩個(gè)選項(xiàng)(見圖5)。點(diǎn)擊下一步繼續(xù)。圖512.第四個(gè)是更新統(tǒng)計(jì)信息任務(wù)。同樣在任務(wù)界面下拉菜單中選擇所有數(shù)據(jù)庫選項(xiàng)。勾選更新所有已有統(tǒng)計(jì)信息選項(xiàng)框。掃描類型設(shè)置為完全掃描。設(shè)置運(yùn)行頻率為每周一次。點(diǎn)擊下一步繼續(xù)(見圖6)。

圖6

13.最后一個(gè)任務(wù)為清除歷史記錄。在任務(wù)界面的即將刪除的歷史數(shù)據(jù)選項(xiàng)卡勾選所有的三個(gè)選項(xiàng),包括備份和還原歷史、SQLServer代理作業(yè)歷史和維護(hù)計(jì)劃歷史。在下一個(gè)設(shè)置選項(xiàng)根據(jù)企業(yè)的數(shù)據(jù)保留需求,指定需要?jiǎng)h除的數(shù)據(jù)所保留的最早日期,設(shè)置任務(wù)運(yùn)行頻率為每周一次,點(diǎn)擊下一步(見圖7)。圖7

14.在生成報(bào)告選項(xiàng)界面,設(shè)置是否將維護(hù)任務(wù)報(bào)告寫入文本文件,或存入指定的文件夾,還是通過電子郵件發(fā)送給操作員。如果選擇將報(bào)告通過電子郵件發(fā)送給操作員,那么必須啟用數(shù)據(jù)庫郵件并進(jìn)行適當(dāng)配置(在代理操作中存在有效的電子郵件地址),此選項(xiàng)才可用。點(diǎn)擊下一步繼續(xù)。15.這時(shí)會(huì)出現(xiàn)對所有維護(hù)計(jì)劃任務(wù)進(jìn)行總結(jié)的完成向?qū)Ы缑?。在這個(gè)界面,可以下鉆到任意一個(gè)已選任務(wù)查看其高級設(shè)置。查看完所有的選項(xiàng),保證無誤后,點(diǎn)擊完成按鈕,退出此總結(jié)界面。16.進(jìn)入維護(hù)計(jì)劃向?qū)нM(jìn)程界面,檢查所有的創(chuàng)建狀態(tài),確認(rèn)可用后,點(diǎn)擊關(guān)閉按鈕退出維護(hù)計(jì)劃向?qū)?見圖8)。圖8在維護(hù)計(jì)劃(設(shè)計(jì)選項(xiàng)卡)的幫助下還可以手動(dòng)創(chuàng)建維護(hù)計(jì)劃。與維護(hù)計(jì)劃向?qū)啾龋S護(hù)計(jì)劃設(shè)計(jì)選項(xiàng)卡利用了工作流設(shè)置,裝備了更高級的工具和功能,所以它創(chuàng)建的維護(hù)計(jì)劃更加靈活。手動(dòng)創(chuàng)建維護(hù)計(jì)劃的技能隨著ServicePack2的推出而得到了強(qiáng)化。在ServicePack2中,手動(dòng)創(chuàng)建維護(hù)計(jì)劃時(shí),維護(hù)計(jì)劃歷史可以在遠(yuǎn)程服務(wù)器上進(jìn)行日志記錄。當(dāng)在一個(gè)基礎(chǔ)架構(gòu)內(nèi)管理多個(gè)SQLServers時(shí),這個(gè)功能顯得尤為重要,因?yàn)槟梢园阉袛?shù)據(jù)的日志集中到一臺(tái)服務(wù)器上,方便了集中管理。選中MaintenancePlans文件夾,右擊鼠標(biāo),選擇新建維護(hù)計(jì)劃選項(xiàng),就會(huì)出現(xiàn)維護(hù)計(jì)劃設(shè)計(jì)器的界面(見圖9)。圖9在維護(hù)計(jì)劃設(shè)計(jì)界面的左側(cè)面板上顯示了所有維護(hù)任務(wù)的工具箱。將選中的維護(hù)任務(wù)拖至中間的計(jì)劃設(shè)計(jì)器界面。如果想將多個(gè)任務(wù)拖到設(shè)計(jì)器中,可以在兩個(gè)任務(wù)對象之間創(chuàng)建一個(gè)工作流進(jìn)程,以便建立任務(wù)之間的鏈接。工作流進(jìn)程可以包含優(yōu)先鏈接。這樣第二個(gè)任務(wù)的執(zhí)行依賴于第一個(gè)任務(wù)中指定的約束條件,例如“成功、失敗或完成”舉個(gè)例子,可以創(chuàng)建這樣一個(gè)工作流:首先執(zhí)行數(shù)據(jù)庫的備份任務(wù),然后只要第一個(gè)任務(wù)完成了,就執(zhí)行第二個(gè)重新生成索引的任務(wù)(見圖10)。兩個(gè)對象之間的優(yōu)先約束鏈接功能可以控制工作流在第一個(gè)備份任務(wù)成功后指示執(zhí)行第二個(gè)重新生成索引任務(wù)。如果備份任務(wù)失敗,那么第二個(gè)任務(wù)也不能夠執(zhí)行。圖10要?jiǎng)?chuàng)建優(yōu)先約束鏈接,首先點(diǎn)擊高亮設(shè)計(jì)器中選定的兩個(gè)維護(hù)任務(wù),右擊鼠標(biāo),選擇添加優(yōu)先約束。鏈接建立后,雙擊或右擊該鏈接箭頭,選擇編輯,啟動(dòng)優(yōu)先約束編輯器,設(shè)置優(yōu)先約束的各個(gè)選項(xiàng)(見圖11)。圖11除了創(chuàng)建優(yōu)先鏈接外,還可以指定任務(wù)同時(shí)執(zhí)行,這就是任務(wù)并行,可以指定多項(xiàng)任務(wù)在牽制任務(wù)成功執(zhí)行完后同時(shí)開始執(zhí)行。當(dāng)在不同的SQLServer上執(zhí)行相同類型的維護(hù)任務(wù)時(shí),通常會(huì)用到這個(gè)設(shè)置。最后需要提到的是報(bào)告功能。在維護(hù)計(jì)劃執(zhí)行完畢之后,可以創(chuàng)建一份關(guān)于維護(hù)計(jì)劃活動(dòng)報(bào)告。點(diǎn)擊維護(hù)計(jì)劃設(shè)計(jì)器中的報(bào)告和記錄圖標(biāo),彈出的報(bào)告和記錄對話框,提供了包括生成文本文件報(bào)告和發(fā)送報(bào)告至電子郵件收件人等諸多選項(xiàng)(見圖12)。此外,還提供了額外的日志功能,例如記錄擴(kuò)展信息和在遠(yuǎn)程服務(wù)器上進(jìn)行日志記錄。圖12通過可以使用查看T-SQL命令按鈕,還可以把您對維護(hù)計(jì)劃的所做設(shè)置選項(xiàng)轉(zhuǎn)換為任務(wù)實(shí)際執(zhí)行的TSQL語法。這對很多沒有太多編程基礎(chǔ)的數(shù)據(jù)庫管理員來說是個(gè)非常有用的工具。4.3查看維護(hù)計(jì)劃所有的維護(hù)計(jì)劃都可以在SSMS的維護(hù)計(jì)劃文件夾下查看,而且能夠作為代理作業(yè)存儲(chǔ)在SQLServer中。此操作需要運(yùn)行SQLServer代理,在計(jì)劃間隔期啟用作業(yè)。如果SQLServer代理停止運(yùn)行,作業(yè)不會(huì)啟動(dòng)。另外,為了維護(hù)計(jì)劃的持續(xù),所有的作業(yè)都可以編輯和修改。在SQLServer管理器中按照以下步驟操作,就可以查看維護(hù)計(jì)劃作業(yè)。選擇開始→所有程序→MicrosoftSQLServer2005→SQLServer管理器。在對象資源管理器中,首先選擇連接到數(shù)據(jù)庫引擎,展開目標(biāo)服務(wù)器,再展開Management文件夾→作業(yè)文件夾。點(diǎn)擊作業(yè)文件夾,可以看到由維護(hù)計(jì)劃向?qū)?chuàng)建的作業(yè)列表。在右側(cè)版面的對象資源管理詳情選項(xiàng)卡以及對象資源管理器中的作業(yè)文件夾下都顯示了列表上的作業(yè)信息。如果SQLServer代理不在運(yùn)行狀態(tài),就會(huì)出現(xiàn)一個(gè)對話框,提示目標(biāo)服務(wù)器的SQLServer代理沒有運(yùn)行。通過以下步驟可以啟動(dòng)SQLServer代理:選擇開始→所有程序→MicrosoftSQLServer2005→SQLServer管理器。在對象資源管理器中,首先選擇連接到數(shù)據(jù)庫引擎,再展開目標(biāo)服務(wù)器。右擊SQLServer代理,然后點(diǎn)擊開始。4.4創(chuàng)建多服務(wù)器維護(hù)計(jì)劃在過去,數(shù)據(jù)庫管理員在管理超過一個(gè)維護(hù)計(jì)劃時(shí)會(huì)遇到很多困難,其中在一個(gè)多服務(wù)器環(huán)境下創(chuàng)建維護(hù)計(jì)劃的任務(wù)尤其繁重,因?yàn)楸仨氁獮槊恳粋€(gè)服務(wù)器分別創(chuàng)建一個(gè)維護(hù)計(jì)劃。而且,驗(yàn)證成功、失敗和作業(yè)歷史的工作相當(dāng)費(fèi)時(shí)費(fèi)力;由于沒有一個(gè)可以統(tǒng)籌管理這些計(jì)劃的方法,管理員必須逐個(gè)驗(yàn)證。一個(gè)典型的全球性企業(yè)在它的基礎(chǔ)架構(gòu)里很可能有上百臺(tái)SQL服務(wù)器,可想而知,這些數(shù)據(jù)庫管理員生活在怎樣的水深火熱之中;因此,數(shù)據(jù)庫管理員過勞卻又缺乏運(yùn)行效率都會(huì)隨之而來。SQLServer2005ServicePack2的推出讓這些問題得到了緩解,源于它對多服務(wù)器維護(hù)計(jì)劃的支持。也就是說,管理員可以從一個(gè)中央主服務(wù)器為每一個(gè)SQL服務(wù)器創(chuàng)建維護(hù)計(jì)劃,顯著提高了操作和管理效率。要想充分利用這個(gè)ServicePack2提供的新特性來減輕您的負(fù)擔(dān),在創(chuàng)建多服務(wù)器維護(hù)計(jì)劃之前,首先必須在多服務(wù)器環(huán)境中構(gòu)建一臺(tái)主服務(wù)器和一臺(tái)或多臺(tái)目標(biāo)服務(wù)器。必須指出,目標(biāo)服務(wù)器只能用來查看維護(hù)計(jì)劃。因此,必須在主服務(wù)器上創(chuàng)建和管理多服務(wù)器維護(hù)計(jì)劃,以便為您的眾多服務(wù)器提供定期維護(hù)。另外,創(chuàng)建和管理多服務(wù)器維護(hù)計(jì)劃的管理員必須是每臺(tái)SQLServer的sysadmin固定服務(wù)器角色成員??梢杂镁S護(hù)計(jì)劃向?qū)Щ蚴謩?dòng)創(chuàng)建此計(jì)劃。4.5構(gòu)建SQLServer維護(hù)進(jìn)度表隨著每個(gè)新版本的發(fā)布,SQLServer的自我維護(hù)功能也越來越強(qiáng)大。但是,就算自我維護(hù)功能再強(qiáng)大,自動(dòng)維護(hù)計(jì)劃再方便易行,數(shù)據(jù)庫管理員還是要執(zhí)行一些額外的維護(hù)。有些維護(hù)操作必須要每天進(jìn)行,而另外一些則可能只需要隔一年檢查一次,維護(hù)任務(wù)的執(zhí)行強(qiáng)度很大程度取決于企業(yè)自身的環(huán)境。下面會(huì)根據(jù)執(zhí)行強(qiáng)度對維護(hù)任務(wù)及其相應(yīng)的程序進(jìn)行分類描述,適合于大多數(shù)具有不同IT基礎(chǔ)架構(gòu)的大中小型企業(yè)。執(zhí)行強(qiáng)度用不同的時(shí)間間隔定義,包括每天、每周、每月和每季度,能夠幫助企業(yè)建立起良好的維護(hù)實(shí)務(wù),確保SQLServer數(shù)據(jù)庫性能和安全。4.5.1每天的例行維護(hù)任務(wù)需要數(shù)據(jù)庫管理員密切關(guān)注的維護(hù)任務(wù),最好每天都檢查一下,這樣可以確保系統(tǒng)的可靠性、可用性、運(yùn)行性能和安全。每天的例行維護(hù)任務(wù)包括:檢查是不是所有被請求的SQLServer服務(wù)都正常運(yùn)行。檢查日常備份日志中成功、警告或者失敗記錄。檢查Windows事件日志有沒有錯(cuò)誤記錄。檢查SQLServer日志有沒有安全警告記錄,例如非法登錄。執(zhí)行完全備份或差異備份。在設(shè)置了完全恢復(fù)模型或大容量日恢復(fù)模型的數(shù)據(jù)庫上執(zhí)行事務(wù)日志備份

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論