Tempdb 自动增长设置

Stu*_*ler 5 sql-server tempdb

继我最近在 Tempdb 上提出的一个问题之后。我想知道在添加和移动 tempdb 文件时如何正确设置自动增长属性?

我问这个问题是因为我想让 SQL Server 使用循环算法将工作负载分散到每个文件上。据我了解,如果文件大小不相等,那么 SQL Server 将使用空间最大的文件,从而增加导致闩锁争用的机会。我这里的理解正确吗?

干杯,

Aar*_*and 4

您可以对每个文件运行此命令,n用大小和增长量替换每个文件:

ALTER DATABASE tempdb
MODIFY FILE
(
  NAME       = tempdev,
  SIZE       = nMB,
  FILEGROWTH = nMB
);

ALTER DATABASE tempdb
MODIFY FILE
(
  NAME       = tempdev2,
  SIZE       = nMB,
  FILEGROWTH = nMB
);

...
Run Code Online (Sandbox Code Playgroud)

现在,为了确保它们全部同时增长(而不是仅其中一个增长,例如响应大量溢出或其他操作),那么您可以启用跟踪标志 1117,但请记住,该标志适用于所有数据库,因此如果 tempdb 不是您唯一具有多个数据文件的数据库,您将需要测试这一行为。更多信息:

http://blogs.technet.com/technet_blog_images/b/sql_server_sizing_ha_and_performance_hints/archive/2012/02/09/sql-server-2008-trace-flag-t-1117.aspx

http://www.sqlskills.com/BLOGS/PAUL/post/Tempdb-configuration-survey-results.aspx