資料庫伺服器構建和部署檢查列表詳解,資料庫詳解

來源:互聯網
上載者:User

資料庫伺服器構建和部署檢查列表詳解,資料庫詳解

前言

我們可能經常安裝和部署資料庫伺服器,但是可能突然忘記了某個設定,為後來的營運造成隱患。下面是國外大牛整理的的檢查列表。

其實也包含了很多我們平時資料庫配置的最佳實務。比如TEMPDB 檔案的個數,比如資料庫檔案,記錄檔如何存放,最大記憶體的設定等等。如果有補充的歡迎留言

本文

 1. 機架和電纜伺服器

      確保每個電源插入不同的電源電路

     果可能,請確保網路電纜已插入不同的網路交換器

 2.SQL Server服務和SQL Server代理服務的使用域帳戶。

     在SQL Server 2012安裝期間,您將需要知道這些帳戶的使用者名稱和密碼

     讓這些帳戶使用永不到期的密碼

 3.檢查伺服器上的主BIOS設定

     啟用超執行緒和turbo-boost(是一種超頻技術,提升最多10%的效能)

     電源管理應設定為作業系統控制

     禁用記憶體測試

 4.在伺服器上安裝Windows Server 2012 R2 Standard Edition

      使用整合RAID控制器在RAID 1中使用兩個內部磁碟機

         如有可能,請考慮使用SSD

         如果使用SSD,則不需要對其進行磁碟重組

      為C:磁碟機建立一個單獨的分區

      將Windows分頁檔大小更改為16GB,並防止C盤

      將Windows電源計劃更改為“高效能”

          在伺服器上運行CPU-Z以確認處理器全速運行

      將光碟片磁碟機的磁碟機代號更改為Z:

 5.將伺服器上的NETBIOS名稱更改為所需的伺服器永久名稱

 6.使用Windows Server 2012 R2內建功能安裝.NET 3.51

 7.在伺服器上安裝Microsoft Update

   這是Windows Update的超集

 8.在伺服器上安裝所有Microsoft和Windows更新

      這可能需要幾輪才能獲得所有必需的更新

 9.對C盤進行磁碟重組

      使用使用計劃任務每周自動對C盤磁碟重組

      不允許將新磁碟機自動添加到計劃中

 10.建立一個具有正確DNS和預設閘道資訊的靜態IP地址

 11.將伺服器加入到相應的Windows域

 12.在伺服器上啟用Windows

 13.在伺服器上安裝最新版本的Dell OMSA (這個東西我沒用過)

 14.下載最新版本的Dell Server Update Utility(SUU)

      將.iso裝入SUU,並運行SUU

      這將確保您具有伺服器的最新韌體和驅動程式

 15.使用Dell OMSA為LUN建立RAID陣列

          建立一個LUN,然後轉到邏輯磁碟管理器建立/格式化磁碟機

         II。按照下面顯示的順序建立陣列和LUN

       戴爾OMSA中的一般PERC設定

         對RAID 10陣列使用智能鏡像

         II。沒有預讀快取

         III。啟用回寫緩衝

         IV。應啟用緩衝策略

         v。使用64K配置單位

 16.使用Windows邏輯磁碟管理器建立邏輯磁碟

      使用OMSA建立陣列後,開啟磁碟管理器

      您將看到“初始化磁碟”對話方塊

       確保使用GPT分區樣式

17.檢查下,保證新的邏輯磁碟機在Windows資源管理員中都能夠看到

 18.在安裝SQL Server 2012之前,把所有需要的邏輯磁碟機都建立上

 19.使用CrystalDiskMark測試每個邏輯磁碟機的效能

 20.使用SQLIO測試每個邏輯磁碟機的效能

21.在每個磁碟機上,建立下面的檔案夾

     資料磁碟機:SQLData

     日誌磁碟機:SQLLogs

     TempDB磁碟機:TempDB

      備份磁碟機:SQLBackups

 22.使用組策略編輯器(GPEDIT.MSC)將這些Windows許可權授予SQL Server服務帳戶

      執行卷維護任務

      鎖定記憶體頁面   

23.安裝SQL Server 2012企業版

      確保沒有待處理的重新引導,否則SQL Server 2012將無法安裝

      僅安裝此執行個體所需的SQL Server 2012組件

     C。使用混合模式認證

          將sa密碼設定為強密碼

         II。將自己添加為SQL管理員

         III。添加任何需要成為管理員的其他DBA

      對於SQL Server服務帳戶使用域賬戶

     使用對應的域賬戶作為SQL ServerProxy 帳戶

     F。將SQL Server代理服務設定為自動啟動

     G。將預設目錄設定為相應的磁碟機代號和路徑

         I.使用者資料庫目錄:P:\ SQLData

         II.使用者資料庫日誌目錄:L:\ SQLLogs

         III. Temp DB目錄:T:\ TempDB

         IV。 Temp DB日誌目錄:T:\ TempDB

         v。備份目錄:N:\ SQLBackups

 24.安裝SQL Server 2012最新 Service Pack 

25.安裝SQL Server 2012 最新的累積更新6

      累積更新可從此位置獲得:

          http://support.microsoft.com/kb/2874879/en-us

      安裝後手動對C:磁碟機進行磁碟重組

         如果您使用的是SSD,則不需要這樣做

26.更改SQL Server 2012執行個體級屬性

      a. 啟用optimize for ad hoc workloads

         這將允許SQL Server在第一次執行時使用較少的記憶體來儲存臨時查詢計劃

      b.設定最大並行度設定為伺服器上NUMA節點中的物理核心數

     c.啟用預設備份壓縮

          這將為所有Database Backup預設使用SQL Server備份壓縮

      d.在SQL Server組態管理員中添加追蹤旗標3226作為啟動選項

          這將阻止在SQL Server錯誤記錄檔中記錄成功的Database Backup訊息

     e .在SQL Server組態管理員中添加追蹤旗標1118作為啟動選項

          這將有助於緩解tempdb中的配置爭用

     f. 在執行個體上啟用資料庫郵件

          用於SQL Server代理警報和SQL Server代理作業失敗時郵件通知

     G。將Max Server Memory設定為適當的非預設值

          值取決於伺服器中可用的實體記憶體量

             它還取決於安裝的SQL Server組件

         II。以下是一些樣本值:

             1.96GB總RAM:將最大伺服器記憶體設定為87000

             2. 64GB總RAM:將最大伺服器記憶體設定為56000

             3. 32GB總RAM:將最大伺服器記憶體設定為27000

     H。在T:\ TempDB目錄中額外再建立三個TempDB資料檔案。總共4個tempdb檔案(不需要一開始就和CPU個數對齊)

          所有TempDB資料檔案的大小應為4096MB

              將自動成長設定為1024MB

          II。 TempDB記錄檔應為1024MB

 27.確認您可以從域上的其他電腦ping通 SQL Server電腦

 28.使用SQL Server 2012 Configuration Manager,確認執行個體啟用了TCP / IP

 29.確認您可以使用其他電腦上的SSMS遠端連線到SQL Server執行個體

 30.在執行個體上建立一個SQL Server操作員

      使用DBAdmin與電子郵件地址dbadmin@yourcompany.com

 31.確認資料庫郵件正常運行

      按右鍵資料庫郵件並發送測試訊息

 32.配置SQL Server代理郵件以使用資料庫郵件

 33.為以下錯誤建立SQL Server代理警報:

    a . YourServerName Alert - Sev 19錯誤:資源中的致命錯誤

    b. YourServerName Alert - Sev 20錯誤:當前進程中的致命錯誤

     C。 YourServerName Alert - Sev 21錯誤:資料庫進程中的致命錯誤

     d。 YourServerName Alert - Sev 22錯誤致命錯誤:表完整性可疑

     e. YourServerName Alert - Sev 23錯誤:致命錯誤資料庫完整性可疑

     f。 YourServerName Alert - Sev 24錯誤:致命的硬體錯誤

     g。 YourServerName Alert - Sev 25錯誤:致命錯誤

     h。 YourServerName Alert - Error 825:Read-Retry Required

     i。 YourServerName警報 - 錯誤832:常量頁面已更改

     j.YourServerName警報 - 錯誤855:檢測到不可糾正的硬體記憶體損壞

     k。 YourServerName警報 - 錯誤856:SQL Server已檢測到硬體記憶體損壞,但已恢複該頁面

 34.這裡提供了建立這些SQL Server代理警報的泛型指令碼:

      確保每個代理警報都有響應來通知DBAdmin操作員

 35.建立一個名為Nightly Free System Cache的SQL Server代理作業,運行此命令:

      DBCC FREESYSTEMCACHE ('SQL Plans');

      每天晚上在淩晨12:00運行

 36.下載最新版本的Ola Hallengren的SQL Server維護解決方案指令碼:

      http://ola.hallengren.com/

      串連到執行個體時開啟MaintenanceSolution.sql指令碼

          將@BackupDirectory變數修改為N:\ SQLBackups

         II。運行指令碼建立十一個新的SQL Server代理作業

         III。對於每個作業,如果作業發生故障,請轉到“通知”屬性視窗,並將作業通過電子郵件發送給DBAdmin組

         IV。對於每個作業,建立一個已耗用時間的計劃。

         v。這是一個建議的工作時間表:

             CommandLogCleanup星期日上午12:00

             2. DatabaseBackup - SYSTEM_DATABASES - 完整的每日11:55 PM

             3. DatabaseBackup - USER_DATABASES - DIFF Daily at 12:00 PM

             4. DatabaseBackup - USER_DATABASES - 上午12:00時全天

             5. DatabaseBackup - USER_DATABASES - 每小時記錄一次

             DatabaseIntegrityCheck - SYSTEM_DATABASES星期六上午7:55

             7. DatabaseIntegrityCheck - USER_DATABASES星期六上午8:00

             8. IndexOptimize - USER_DATABASES星期日下午8:00

             9. 檔案清理 星期日上午12:00

             10.sp_delete_backuphistory星期日上午12:00

             11.sp_purge_jobhistory 星期日上午12:00。

總結

對於個人認為比較重要的最佳實務我都用紅色的標註了。不過上面的啟用超執行緒和turbo-boost

我覺得要根據客戶的實際情況,如果 客戶的系統能夠用上這些多餘的邏輯CPU,那麼才應該開啟超執行緒。根據經驗通常OLTP系統開啟超執行緒是比較有好處的。但對於某些報表查詢,可能開啟超執行緒反而會有不良影響。
詳細可以參考:https://blogs.msdn.microsoft.com/slavao/2005/11/12/be-aware-to-hyper-or-not-to-hyper/

tempdb檔案個數

我們知道增加tempdb資料檔案可以減少PAGELATCH爭用 ,按照以前的最佳實務是和CPU核心數對齊。但是現在已經做了最佳化,不需要一來就設定那麼多

MBR and GPT

GPT意為GUID分區表。(GUID意為通用唯一識別碼)。這是一個正逐漸取代MBR的新標準。它和UEFI相輔相成——UEFI用於取代老舊的BIOS,而GPT則取代老舊的MBR。之所以叫作“GUID分區表”,是因為你的磁碟機上的每個分區都有一個全域唯一的標識符.在MBR磁碟上,分區和啟動資訊是儲存在一起的。如果這部分資料被覆蓋或破壞,事情就麻煩了。相對的,GPT在整個磁碟上儲存多個這部分資訊的副本,因此它更為健壯,並可以恢複被破壞的這部分資訊。GPT還為這些資訊儲存了迴圈冗餘校正碼(CRC)以保證其完整和正確——如果資料被破壞,GPT會發覺這些破壞,並從磁碟上的其他地方進行恢複。而MBR則對這些問題無能為力——只有在問題出現後,你才會發現電腦無法啟動,或者磁碟分割都不翼而飛了.
總之,GPT更先進,更健壯,推薦使用GPT

關於其他選項沒什麼爭議。應該盡量遵守的。

以上就是本文的全部內容,希望對大家有所協助。感興趣的朋友可以參閱:oracle 資料庫啟動階段分析 、關於資料庫連接池Druid使用說明 、淺談oracle rac和分散式資料庫的區別 等,有什麼問題可以隨時留言,歡迎各位到本站交流討論。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.