sql-server - 可以将 mdf 文件存储在不同的驱动器(和 ldf 文件)上吗?

标签 sql-server

每个驱动器的最大空间是有限的,我有很多数据库。像这样将 dbs 存储在不同的驱动器上可以吗?

C: SQL Server install
E: MDF1
F: MDF2
G: MDF3
H: LDF1
I: LDF2
J: LDF3

环境 = SQL Server 2016 Standard 的一个实例

编辑:我知道建议将 mdf 和 ldf 文件存储在单独的驱动器上,但我不确定这个概念可以延伸多远:)

最佳答案

是的!事实上,您可以通过这样做显着提高性能。如果驱动器将您的 LDF(日志)和 MDF(数据)文件物理移动到不同的驱动器,则资源负载会分散。我个人分割出的 MDF 和 LDF 文件比您的示例中的多得多,这很棒。
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/410be90a-52da-439a-8826-20932ec1481b/separate-drives-for-tempdb-ldf-mdf-?forum=sqlgetstarted

如果您可以监视驱动器,它将帮助您微调哪个数据库处于最实际的负载下(尽管您也可以通过 MSSQL 中的动态管理 View 看到其中的一些内容)

还有一种思想流派将 tempdb 放在自己的驱动器上,并为服务器拥有的每个物理核心都有一个文件。如果您可以将每个都放在自己的驱动器上,那就更好了(尽管由于成本不切实际)
https://logicalread.com/sql-server-tempdb-best-practices-placement-w01/

这可以极大地帮助减少磁盘争用,从而减少死锁。这样做的理由很多,如果您可以访问固态(或其他非常快的驱动器,如光纤 SAN),那就更好了。对于设计良好的数据库,磁盘访问通常是最难克服的瓶颈。

一个重要的关键是驱动器应该在物理上分开,简单地创建一个分区不会给你带来太多好处。四处寻找最佳实践将引导您尝试为 SQL 提供大量快速存储并尽可能充分利用它,其中包含大量科学知识,但也包含大量艺术内容 :)

关于sql-server - 可以将 mdf 文件存储在不同的驱动器(和 ldf 文件)上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51215125/

相关文章:

sql-server - 存储在 azure blob 中的扩展事件文件

sql-server - 每月总销售额

sql - 如何从sql server中一条记录的多个值中仅获取指定值记录

sql - 如何向相关表添加代理键?

sql - T-SQL 结果写入列

sql-server - 如何使用WHERE子句限制整个复制的SQL Server 2008数据库

SQL 性能调优 - 更新查询

c# - 软件架构与数据库设计 : One database/web application per each company or one database/web application for all companies?

php - 有 ORM 框架支持跨数据库/跨服务器连接吗?

sql - MsSQL 中包含所有项目的列表名称