这篇博客http://blogs.msdn.com/sqlserverstorageengine/archive/2009/01/04/managing-tempdb-in-sql-server-tempdb-configuration.aspx表示,"将TempDB传播到最佳位置是个好主意"至少与CORE或CPU一样多的大小相同的文件."
所以我的基本问题是如何实际配置我的SQL服务器来做到这一点.所以我右键单击tempdb,选择属性,文件,然后为每个CPU添加一个文件?它是如何知道它应该在这些文件中传播tempdb?我应该设置一个标志吗?
我误解了这篇文章吗?
Jes*_*cer 40
只要您可以将其他TempDB文件分布在不同的硬盘上,这个技巧就是最好的.否则,创建不同临时表的不同线程将争用同一物理磁盘.
您确实可以完全按照自己的意思去做,工作将自动分布在TempDB数据文件中.这也可以这样编写脚本:
ALTER DATABASE tempdb
ADD FILE (NAME = tempdev2, FILENAME = 'W:\tempdb2.mdf', SIZE = 256);
ALTER DATABASE tempdb
ADD FILE (NAME = tempdev3, FILENAME = 'X:\tempdb3.mdf', SIZE = 256);
ALTER DATABASE tempdb
ADD FILE (NAME = tempdev4, FILENAME = 'Y:\tempdb4.mdf', SIZE = 256);
GO
Run Code Online (Sandbox Code Playgroud)
为您提供三个额外的文件(即4个CPU核心和4个物理磁盘).
我知道这已经很晚了,但是每个CPU创建一个文件的建议实际上是Paul Randal在他的博客中揭穿的一个神话:
文章的基本建议: If you have > 8 cores, use 8 files and if you're seeing in-memory contention, add 4 more files at a time.
| 归档时间: |
|
| 查看次数: |
83403 次 |
| 最近记录: |