拆分数据库以适合 SSD

Jos*_*osh 4 database-design sql-server

我有一个大小约为 3TB 的数据库,想升级到 SSD。我发现价格合理的固态硬盘只有 512GB,所以我需要购买多个驱动器。

有哪些方法可以拆分数据库文件,以便可以从多个驱动器访问它而无需更改太多代码或需要 RAID 控制器。

sql server 2014 企业版中有问题的数据库软件,但最好找到不需要数据库引擎特定功能的解决方案。

Alf*_*f47 6

在 SQL Server 中,您可以创建由 1 个或多个文件组成的文件组。然后,您可以通过为该文件组上的每个表重建聚集索引,将数据单独迁移到这些文件组中。

您还可以通过指定所需的文件组重建索引来对索引执行相同的操作。您可以使用文件大小上限来确保文件不会超过 512 GB。

您需要在迁移到新驱动器阵列之前执行此操作,以便您可以毫无问题地执行备份/恢复或分离/连接到新阵列。PRIMARY完成将数据迁移到新文件组后,您还需要缩小文件组。(我假设一切都在PRIMARY当前)。

这将是您最简单的解决方案,不需要任何编码更改,但在移动数据时会导致一些显着的性能下降。

通过将数据拆分为多个文件移动到 SSD,您的性能可能会显着提高。我建议先进行备份,如果您需要物理移动文件,请不要进行分离附加 - 备份/恢复更安全。

多个文件组优于多个PRIMARY文件,因为它们允许零碎恢复,这有助于在 DR 事件中更快地启动和运行数据库。