維護 SQL Server 數據庫
從 SQL Server 2005 升級到 SQL Server 2012
AppScan? Enterprise Server 9.0 不再支持 SQL Server 2005。請按照以下步驟升級到 SQL Server 2012。
過程
在繼續升級過程之前,請備份 SQL Server 上的數據庫。
確保您滿足了 SQL Server 2012 的最新操作系統需求。
注: 對于 Windows? Server 2008 操作系統,需要 Service Pack 2 或更高版本。對于 Windows 7 或 Windows Server 2008 R2,需要 Service Pack 1 或更高版本。有關更多信息,
按照升級到 SQL Server 2012 中的指示信息進行操作。
SQL Server 數據庫維護策略
您可以通過在配置數據庫和日志文件時考慮以下事項來維護數據完整性并提高性能。
- 預分配數據庫文件和日志文件所需空間可提高性能。這些選項在 SQL Server Enterprise Manager 中“數據庫屬性”窗口的“數據文件”選項卡和“事務日志”選項卡上可用。
- 需要允許日志文件自動增長(幅度為 10%),以確保不發生意外錯誤。
- 將數據文件和日志文件置于單獨的磁盤驅動器上可大大提高性能。考慮到數據庫增長,應確保這些物理磁盤驅動器上具有足夠的可用空間。
SQL Server 數據庫備份和維護
與任何企業應用程序類似,必須定期備份數據庫并且時常執行其他數據庫維護任務。Microsoft? SQL Server Management Studio 提供了一個“維護計劃”向導,允許自動執行這些任務。使用此向導可以創建所需計劃任務。
注: 備份數據庫不同于復制數據庫文件并將其保存在其他位置中。使用 Microsoft SQL Server Management Studio 中的“備份”功能來備份 SQL Server 數據庫,并查閱其文檔以獲取指示信息。
確保匹配數據庫和 SQL Server 整理
升級到更高 AppScan Enterprise 版本或者備份數據庫以將其移至其他 SQL Server 時,請確保兩者之間的整理(例如是否區分大小寫)匹配。否則,AppScan Enterprise 數據庫將無法正常工作。
備份策略
因為數據庫日志文件的大小在兩次 SQL Server 備份之間可能會增長,所以請每天備份數據庫。根據活動(如生成報告包和儀表板、導入作業)的運行頻率,可能可以經常執行增量備份而較少執行完全 SQL Server 備份。當數據庫靜止時,不必執行備份,但是可以將備份操作安排在已知不太忙的時間執行。如果組織對服務器采用定期維護窗口,那么這一時間可能是執行 SQL Server 備份的理想時間。
對于數據庫從不或很少靜止的大型組織而言,應該考慮使用為執行 SQL 增量備份而配置的商用備份軟件。
數據庫恢復
如果發生災難性硬件故障,可以通過使用 Microsoft SQL Server Management Studio 中的“還原數據庫”命令從上一次 SQL Server 備份還原數據庫。
收縮數據庫
數據庫增長可能成為問題,尤其是在刪除大型內容掃描作業之后。“Shrink Database”命令可用于移除空的空間。數據庫在“文件”級別收縮最有效。請從“收縮數據庫”窗口選擇“文件”。
或者也可以使用“數據庫維護”向導來定期收縮數據庫。
數據庫維護
安裝應用程序后,必須建立數據庫維護計劃。使用“維護計劃向導”可以創建該計劃并安排執行時間。在該向導中, 選擇以下選項:
- 檢查數據庫完整性
- 收縮數據庫
- 重新組織索引
- 更新統計信息
- 執行數據庫的完全備份
磁盤碎片整理
隨著文件的創建、刪除以及大小更改,會逐漸產生磁盤碎片。當數據庫未在使用并可關閉以進行維護時,請考慮使用 Windows? 工具定期整理磁盤碎片。
重新組織索引的維護計劃
索引分段會分割大量的頁面,從而使數據庫性能變慢。這會導致后處理的時間很長,生成報告包會占用更多時間,而且會使 Web 應用程序性能變得更慢。
用戶正在訪問數據庫時無法運行重建操作。為此,有必要阻止用戶在重建期間訪問數據庫。
以下是可能的解決方案:
- 對于 SQL Standard,有必要重建索引,為此,必須在脫機的情況下重建索引。
- 升級到 SQL Enterprise,可允許在保持索引聯機的情況下重建索引。
- 調整 SQL Server 填充因子以嘗試在一開始就減少內部碎片的產生。
升級到 SQL Enterprise 能夠幫助管理員在不停止訪問數據庫的情況下完成索引重建。創建維護計劃以便:
- 停止所有服務;
- 停止 IIS 和相關服務;
- 終止任何運行中的代理主機可執行文件;
- 等待所有代理主機都完成處理;
- 檢查索引分段的級別并將其記錄到文件;
- 使用填充系數 80(每個頁面都有 20% 的可用空間)來重建索引;
- 再次檢查索引分段的級別并將其附加到日志文件;
- 啟動 IIS 和相關服務;并且
- 啟動所有服務。
SQL Server 數據庫用途
數據庫包含所有管理、配置和報告數據。該數據庫包含應用程序使用的所有表定義、索引、約束和數據庫存儲過程。
應用程序有五種使用數據庫表的方法:
用于存儲與特定內容掃描作業無關的數據。
使用能夠表達該表中數據的含義的名稱來命名這些類型的表(以混合大小寫的方式);例如:Job、UserInfo。
作為表的模板,用來創建為特定內容掃描作業存儲數據的表。
這些表的名稱帶有 JII_、NSI_ 或 SJI 后綴;例如:RepEntity_JII_、Vulnerability_JII_。
用于為特定內容掃描作業迭代存儲數據。
這些表是在第一次運行作業時(根據相應模板表的定義)創建的。表名由模板表名組成,其中 JII_、NSI_ 或 SJI 后綴會替換為作業標識和作業迭代;例如:RepEntity_32_0 和 Vulnerability_32_1。存儲在這些表中的數據為臨時數據。
用于存儲個別掃描作業中的聚集數據。
引用表中的 tablename_JR 作業會識別已找到對象的掃描作業。
用于為特定內容掃描存儲缺省選項。
每個文件夾項有一個表,該表是在第一次創建文件夾項時創建的。表的名稱是 FolderItemOption,后面跟著項標識和字符串 _D;例如:FolderItemOption_310_D。
同樣地,存儲過程也有三種類型:
執行與任何特定內容掃描作業無關的操作的存儲過程。
這些存儲過程的名稱帶有 wp_ 前綴,并根據所執行的操作來命名;例如:wp_FolderItem_Delete、wp_Folder_Select。
模板存儲過程,用于創建為特定內容掃描作業執行數據操作的存儲過程。
這些存儲過程的名稱以 wt_ 前綴開始;例如:wt_RepEntityInsert、wt_VulnerabilityInsert。
為特定作業迭代執行數據操作的存儲過程。
這些存儲過程是在第一次運行項時根據模板存儲過程創建的。存儲過程的名稱以 wi_ 前綴開始,后面跟著項標識、項迭代和操作名稱;例如:wi_21_0_RepEntityInsert、wi_21_1_VulnerabilityInsert。
以數據庫級別來執行應用程序中的引用完整性。在數據庫中定義所有外鍵約束。
HCL AppScan Enterprise 中文文檔 10.0.1
推薦文章: