一。CPU最佳实践。
根据CPU架构和核数配置MaxDop.
https://support.microsoft.com/zh-cn/help/2806535/recommendations-and-guidelines-for-the-max-degree-of-parallelism-confi
EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO EXEC sp_configure 'max degree of parallelism', 4; GO RECONFIGURE WITH OVERRIDE; GO
二。内存最佳实践。
Sqlserver的内存尽量占用至主机的85%~80%之间。
sp_configure 'show advanced options',1 ----打开高级配置选项 go reconfigure ----确认上述配置 go sp_configure 'max server memory (MB)',400000 ----例如,配置‘max Server memory’内存为400000 MB go reconfigure ----确认上述配置 go
三。日常管理相关建议。
--使用‘文本方式运行结果集’模式生成批量运行的语句,并结果拷贝至SSMS中运行。 SELECT 'ALTER INDEX '+b.name +' ON '+schema_name(o.schema_id)+'.'+o.name+' REBUILD'+char(13)+'Go' FROM sys.dm_db_index_physical_stats (DB_ID(), null, NULL, NULL, NULL) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id join sys.objects as o on o.object_id=a.object_id where avg_fragmentation_in_percent>30 and b.name is not null
四。tempdb相关建议。
五。备份相关建议。
基本建议
方案一: 每天一次全库备份,每个小时一次日志备份。
方案二: 每周一次全库备份,每天一次增量备份,每个小时一次日志备份。
备份策略设计原则:
六。锁相关建议。
七。其他建议。
对于从2008大版本升级至2016以上版本,如果在2008上SQL server状态运行良好,可以考虑暂时禁用new_ce可能带来的语句性能下降。
https://blogs.technet.microsoft.com/dataplatform/2017/03/22/sql-server-2016-new-features-to-deal-with-the-new-ce/
hint 'FORCE_LEGACY_CARDINALITY_ESTIMATION'
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION=ON;
ALTER DATABASE [AdventureWorks2012] SET COMPATIBILITY_LEVEL = 110;
trace flag 9481
.