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 Server代理賬戶
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.
啓用默認備份壓縮
這將爲全部數據庫備份默認使用SQL Server備份壓縮
d.在SQL Server配置管理器中添加
跟蹤標誌3226做爲啓動選項
這將阻止在SQL Server錯誤日誌中記錄成功的數據庫備份消息
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。
總結
對於我的認爲比較重要的最佳實踐我都用紅色的標註了。不過上面的sql
關於啓用超線程和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內核數對齊。可是如今已經作了優化,不須要一來就設置那麼多併發
關於其餘選項沒什麼爭議。應該儘可能遵照的。運維