我在虚拟机客户操作系统中运行 SQL Server 2008 数据库。目前,我在 vh guest vhd 中拥有数据库文件,它是动态扩展的 vhd。
对我来说,我认为动态扩展 vhd 中的数据库文件的性能不是很好。
考虑将它们放在主机操作系统的文件共享上,这样就不会产生扩展损失。
将数据库文件放在文件共享上是典型的做法吗?
答案1
不是。SAN,是的。通用网络文件共享,不是。事实上,它甚至需要一点黑客技术才能使其工作,而且它几乎肯定会爬行。动态扩展的 vhd 并不是什么大问题 - 只需确保您创建的 SQL Server 数据库文件不会在一天中自动增长,您就应该没问题(也就是说,提供足够的增长空间)。
答案2
这并不典型并且微软也不推荐。
Microsoft 通常建议您使用存储区域网络 (SAN) 或本地连接磁盘来存储 Microsoft SQL Server 数据库文件,因为此配置可以优化 SQL Server 的性能和可靠性。
不太建议这样做,您需要为 SQL Server 设置跟踪标志 1807 来允许它。
动态扩展 VHD 将在 VHD 文件级别产生另一层碎片。这也意味着,如果您的磁盘容量过大,并且物理驱动器上的空间不足,您的服务器/数据库可能会崩溃。
对于数据库文件我将使用以下驱动器:
- 直接分配
- iSCSI 驱动器
- 最坏的情况是,我至少会预先分配磁盘空间
答案3
这取决于具体情况。我假设您所说的“文件共享”是指 Windows 中的映射驱动器,该驱动器通过基于以太网的网络连接到您的 SQL 服务器。在这种情况下,这不正常也不推荐。但是,如果您指的是“文件共享”,即通过光纤通道或其他高速介质(来自 SAN 或 NAS)安装在 SQL 服务器上的卷,那么是的,这种情况总是会发生。
答案4
根据我的经验并非如此;您的网络带宽总是低于您的内部硬盘带宽,因此您的性能将受到严重影响。