SQL RAP 知识转移要点
近日,MS工程师对ERP生产系统的数据库进行了一次风险评估分析,并给我们交流了一些经验。
以下为要点:
SQL RAP Test Cases:
1,MBSA (Microsoft Baseline security Analyzer)保证测试用例能正常运行。
http://www.anqn.com/article/i/2009-05-01/a09109615.shtml
2,surveys:不需要运行
3,Blocking :对实例为SQL2005才有效。每隔10s中就会去检查DMU,only sql 2005 has this.
Performance Collector:
DB and CLUSTer
要点:
1,测试DB与CLUSTER是否连接正常,可采用两个常用的信息测试用例来进行测试。在Result中查看信息。
2,一方面测试,一方面进行性能监控。这样会得到测试是否对生产系统有压力。
性能调优有关过程:
建立调优周期
如何收集必要的数据
调优需要考虑的问题
数据库性能是和程序行为相关的(查询)----不同的用户使用的内容不同,调优的内容也就不一样。
----数据库物理大小与数据库查询速度没有一定的关系。
调优不是一次性的行为 -----持续性的过程。
建立性能基线 -----建立一个标准,根据测试后的性能计数器的值。
设置调优目标(注意边际效应)-----注意投入与产出比(雪中送炭与锦上添花)。
PSSDiag:用来收集诊断数据。
track :不建议在client端长期运行(会在系统盘下创建许多临时文件,有可能使系统盘无空间)。
PSS -B-E +
SQldiag.exe -E +2:00:00 回车以后,开始到2个小时结束。
性能技术器
内存OS相关 available MBytes >100MB
free System page table entries >7000(内核模式下的,如果用了3GB就要检查此性能参数。)
Pages Input/sec <10
Pageing File: %Usage < 70%(一般在10%左右,如果在30%的话,其他性能参数已经变坏了。)
SQL相关 target server memory
total server memory
内存中的锁定页面:需要在系统中(32bit/64bit)打开,能分配大内存页,能保证优先级。本地策略-用户权限分配。
SQL有一个保留内存(300MB),目的是防止触发系统的paging,降低性能。
磁盘格式化为64KB
SQLserver文件 8个以上 TempDB 8个以上。(10个文件后性能会下降)。
SAP中的99%的表有一个索引,20%有第二个索引。
sql nexus
http://www.codeplex.com/sqlnexus
禁用xp_cmdshell.xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。由于xp_cmdshell 可以执行任何操作系统命令,所以一旦SQL Server管理员帐号(如sa)被攻破,那么攻击者就可以利用xp_cmdshell 在SQL Server中执行操作系统命令,如:创建系统管理员,也就意味着系统的最高权限已在别人的掌控之中。由于存在安全隐患,所以在SQL Server 2005中, xp_cmdshell 默认是关闭的。
full backup :你的性能要求、时间等综合决定。
log backup:由你能接受的数据损失决定
differential backup:两次完全备份的
DBCC CheckDB 没有经常运行。
CPU频率问题。
http://support.microsoft.com/kb/931279/zh-cn
Backup失败的问题: KB934396。
SQL内的一个页面是8K的,注意索引碎片化。SAP NOTES159316.
群集中,网络的流量有不一样的,所以private不能跑客户端访问。
MSDTC需要单独建立一个组。