什么时候应该使用启动参数 -E?

jra*_*ara 5 data-warehouse sql-server instance sql-server-2008-r2 parameter

我们开始使用 SQL Server 2008 R2 构建数据仓库系统。一位资深 DBA 告诉我们考虑对 SQL Server 服务使用启动参数 -E。我从在线书籍中读到:

-E:增加为文件组中的每个文件分配的区数。此选项可能对运行索引或数据扫描的用户数量有限的数据仓库应用程序很有帮助。不应在其他应用程序中使用它,因为它可能会对性能产生不利影响。32 位版本的 SQL Server 不支持此选项。

我的问题是这个参数如何帮助索引和数据扫描?如果同一实例中可能存在其他数据库(可能处于操作角色),我们是否应该使用此参数?

小智 5

在SQL Server客户顾问团队写道,有此设置一些信息的博客文章在这里

-E 启动标志

SQL Server 启动标志 -E 强制 SQL Server 一次为每个文件分配 4 个区,实际上是条带大小的四倍。在大量插入场景中,这会将更大的块大小驱动到磁盘。此外,对于相同的数据文件,您的页面分配将更加有序,从而为范围和表扫描操作(这在 OLAP 工作负载中很常见)提供更好的顺序 I/O。这个启动标志为 I/O 系统提供了大部分(但不是全部)上述好处——没有管理多个文件组的开销。请注意,此标志仅在 64 位环境中受支持。您可以在 SQL Server 2000(64 位)和 SQL Server 2005 (KB329526)中的文件分配扩展中找到有关 –E 启动标志的信息。