相关疑难解决方法(0)

SQL Server MAXDOP 设置算法

在设置新的 SQL Server 时,我使用以下代码来确定设置的良好起点MAXDOP

/* 
   This will recommend a MAXDOP setting appropriate for your machine's NUMA memory
   configuration.  You will need to evaluate this setting in a non-production 
   environment before moving it to production.

   MAXDOP can be configured using:  
   EXEC sp_configure 'max degree of parallelism',X;
   RECONFIGURE

   If this instance is hosting a Sharepoint database, you MUST specify MAXDOP=1 
   (URL wrapped for readability)
   http://blogs.msdn.com/b/rcormier/archive/2012/10/25/
   you-shall-configure-your-maxdop-when-using-sharepoint-2013.aspx

   Biztalk (all versions, including 2010): 
   MAXDOP = 1 is only required on the BizTalk …
Run Code Online (Sandbox Code Playgroud)

sql-server configuration maxdop

74
推荐指数
5
解决办法
6万
查看次数

SQL Server 最大和最小内存配置

在这个用例中,最小内存和最大内存的正确设置是什么?

该服务器有 8GB 内存,双 Intel Xeon 处理器,运行 Windows Server 2008 R2 / Sql Server 2008 标准版。它正在运行多个大小从 30GB 到 5GB 的数据库。

最初将内存使用设置为默认设置(min=0 max=2,147,483,647)。在这些设置中,sqlservr.exe 占用了大部分内存使用量,并且服务器最终需要每天或两天重新启动。一开始它会正常运行,但在一天之内开始在简单的操作上超时,比如使用主键查找记录。

我已经更改了 min=4,096 和 max=6,144。这导致仅使用 1.4GB 内存。但是,现在所有四个 CPU 都以 50-60% 的 CPU 使用率持续运行。尽管服务器要稳定得多,但任务的执行时间大约要长 1/3。

sql-server memory sql-server-2008-r2

8
推荐指数
1
解决办法
3万
查看次数

数据库碎片整理和自动增长设置

我们确实为 SQL Server 2008 r2 express 制定了一些维护计划。如果任何表的页数超过 50 并且平均碎片超过 20,我们每个月都会对数据库进行碎片整理。

如果数据库日志大小>2MB,则恢复模式为简单,收缩,恢复模式重新设置为FULL。如果 Page_count>50 且 avg_fragmentation_in_percent > 30,则索引为 REBUILD。

如果 Page_count>50 且 avg_fragmentation_in_percent > 5 且 <30,则索引为 REORGANIZE。

这就是我们目前正在做的事情。但是我们发现自增长事件是资源密集型的,不应重复发生。现在,对于所有数据库,mdf 文件的自动增长设置为 MB,ldf 文件设置为 10%,这是创建新数据库时的默认值。我们计划根据每天变大的数据库数量来增加数据库的自动增长值。但是我想知道有多少自动增长事件对数据库来说是理想的。我应该设置自动增长以便它每天、每周或每月等只发生一次吗?所以请帮助我为我的数据库设置自动增长值。还有另一个问题,如果我每月对数据库进行碎片整理,那么它就会缩小。因此,在此之后,对于所有我确实收缩过的数据库,在写入新数据时都会发生一次自动增长。所以会有很多自动增长事件。那么会不会有问题呢?请告诉我一个解决方案。

sql-server maintenance shrink sql-server-2008-r2

7
推荐指数
2
解决办法
2848
查看次数