每个驱动器的最大空间是有限的,并且我有很多数据库。可以将数据库存储在这样的不同驱动器上吗?
C: SQL Server install
E: MDF1
F: MDF2
G: MDF3
H: LDF1
I: LDF2
J: LDF3
环境= SQL Server 2016 Standard的一个实例
编辑:我知道建议将mdf和ldf文件存储在单独的驱动器上,但是我不确定这个概念可以扩展多远:)
答案 0 :(得分:4)
是的!实际上,这样做可以显着提高性能。如果驱动器正在物理移动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中的动态管理视图看到其中的一部分)
还有一种流派,就是将tempdb放在其自己的驱动器上,并为服务器具有的每个物理核心都有一个文件。而且,如果您可以将每个驱动器放在自己的驱动器上,甚至会更好(尽管由于成本原因不切实际) https://logicalread.com/sql-server-tempdb-best-practices-placement-w01/
这可以极大地减少磁盘争用,从而减少死锁。这样做的原因很多,如果您可以访问固态硬盘(或其他非常快速的驱动器,如光纤SAN),那就更好了。对于设计良好的数据库,磁盘访问通常是最难克服的瓶颈。
一个重要的关键是驱动器在物理上应该分开,仅仅分区就不会为您带来很多好处。搜寻最佳实践将使您尝试为SQL快速存储大量存储,并尽可能地利用它,科学知识和艺术技巧:)