文件共享上的 SQL Server 数据库文件?-性能

文件共享上的 SQL Server 数据库文件?-性能

我在虚拟机客户操作系统中运行 SQL Server 2008 数据库。目前,我在 vh guest vhd 中拥有数据库文件,它是动态扩展的 vhd。

对我来说,我认为动态扩展 vhd 中的数据库文件的性能不是很好。

考虑将它们放在主机操作系统的文件共享上,这样就不会产生扩展损失。

将数据库文件放在文件共享上是典型的做法吗?

答案1

不是。SAN,是的。通用网络文件共享,不是。事实上,它甚至需要一点黑客技术才能使其工作,而且它几乎肯定会爬行。动态扩展的 vhd 并不是什么大问题 - 只需确保您创建的 SQL Server 数据库文件不会在一天中自动增长,您就应该没问题(也就是说,提供足够的增长空间)。

答案2

这并不典型并且微软也不推荐。

引用MS 知识库文章 304261

Microsoft 通常建议您使用存储区域网络 (SAN) 或本地连接磁盘来存储 Microsoft SQL Server 数据库文件,因为此配置可以优化 SQL Server 的性能和可靠性。

不太建议这样做,您需要为 SQL Server 设置跟踪标志 1807 来允许它。

动态扩展 VHD 将在 VHD 文件级别产生另一层碎片。这也意味着,如果您的磁盘容量过大,并且物理驱动器上的空间不足,您的服务器/数据库可能会崩溃。

对于数据库文件我将使用以下驱动器:

  • 直接分配
  • iSCSI 驱动器
  • 最坏的情况是,我至少会预先分配磁盘空间

答案3

这取决于具体情况。我假设您所说的“文件共享”是指 Windows 中的映射驱动器,该驱动器通过基于以太网的网络连接到您的 SQL 服务器。在这种情况下,这不正常也不推荐。但是,如果您指的是“文件共享”,即通过光纤通道或其他高速介质(来自 SAN 或 NAS)安装在 SQL 服务器上的卷,那么是的,这种情况总是会发生。

答案4

根据我的经验并非如此;您的网络带宽总是低于您的内部硬盘带宽,因此您的性能将受到严重影响。

相关内容