RAMDisk或PCI-E上的SQL TempDB?

我在dba.stackexchange上问了这个问题

由于我们拥有800 GB的内存,数据库只有大约250 GB,因此我们计划将SQL Server的tempdb文件放在RAMDisk上,为其数据和日志文件分配100 GB而不是当前的SSD(SAN Tier 1),因为我们的供应商应用程序非常tempdb密集。

比PCI-E卡好吗? 我们仅关心速度,而不关心持久性,因为每当SQL重新启动时,tempdb就会被删除并重新创build。

我们更喜欢WQHLauthentication的供应商。 有没有具体select或避免?

TempDB不会被SQL Server删除/创build。 里面的数据不会被保留,但是文件是。 SQL Server将期望它们在启动时是干净的,就像标准数据库的一组数据和日志文件一样。

如果您在RAM磁盘中创buildTempDB文件,它们将在重新启动时被销毁,这会使SQL Server崩溃,因为它要求数据库以干净的状态存在。

我想在理论上你可以build立一些逻辑

  1. 这需要在SQL Serverclosures时复制一组“干净的”基准TempDB .mdb文件
  2. SQL Server启动之前将它们恢复到RAM驱动器

但是,这将是错误的,并且容易出错,因为您需要确保在SQL Server引擎服务启动之前完成文件复制。

在构buildSQL Server时,我使用Brent Ozar first responder工具包中的“SQL Server安装程序清单”。 它介绍了SQL Server构build的最佳实践。