对于Azure,我还是个新手,并且正在设置一个SQL Server。 我想要使用高级存储,除了我不需要1TB的空间。 数据库本身相对较小,如有必要,我可以在HDD上进行备份。
当我真的只需要P10(24美元/月)时,1TB使我处于P30定价(164美元/月)。
我尝试点击SQL Server设置并select“存储configuration”,但滑块已经一路左右,不会让我放入任何小于5000的IOPS,吞吐量为96MBps或1TB的存储空间。 (这是在DS2 v2虚拟机上)
有没有一种简单/推荐的方式来做我想要的? 即使不是绝对必要的,SSD的额外24美元/月也不是什么大问题,但是164美元/月是太多了。
到目前为止,我已经看过通过API调整磁盘的大小,但似乎只能增加磁盘的大小,而不能减小磁盘的大小。 我还研究过创build另一个磁盘,附加它,将所有SQL的东西移动到新的驱动器,并删除旧的,但我会失去任何在设置工具提示中提到的存储优化的东西?
我谈到了Azure的支持,并通过远程会话介绍了如何创build虚拟机。 他们最终确认这是故意的devise。
如果你想部署一个带有高级存储的SQL Server,那么你得到(并支付)一个P30。 他们的理由是性能和优化的好处。
编辑:我直接与SQL支持团队打开另一张票,他们能够提供此演练完成我们所要求的:
在准备期间,当使用运行SQL Server的虚拟机的图库图像时,GUI不允许任何高于当前P30等效的高级磁盘。 鉴于官方的build议是使用2个或更多P30磁盘( https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-windows-sql-performance/ ),这并不令人惊讶。 但是,可以通过更改部署后的磁盘configuration来解决此GUIdevise问题。 关于这个最好的部分是可以在虚拟机正在运行的情况下完成。 我将通过几个磁盘介绍存储空间的StorageSpaces的操作方法和configuration。
在我们做之前,请记住,如果每个存储空间使用8个以上的磁盘,那么目前您必须以不同的方式( 使用PowerShell ; 示例 )。 您应至less有两个存储空间 – 一个用于数据库文件,一个用于事务日志文件。 每个存储空间的磁盘都应该具有相同的大小/性能级别。 例如,您可能有两个存储空间,一个包含所有P10磁盘,另一个包含所有P30磁盘。 您不应该为P10 / P20 / P30 /等混合使用SQL Server的存储空间。 您不能在以后将磁盘添加到存储空间并保持最佳性能,因此请提前了解您的要求。 如果稍后添加磁盘,则必须重build存储空间,但这超出了我们的范围。 拥有多个存储空间并不是一件坏事,所以如果你愿意,你总是可以在新的存储空间中添加更多的磁盘。 如果你真的想要,你可以有两个或更多的存储空间为每个数据库 – 一个或多个数据文件(S)和一个事务日志文件。
- 使用SQL Server从图库图像创buildAzure VM。 在存储选项中,保留默认configuration(除非您想要P30磁盘,然后相应地增加)。 注意: 虚拟机大小决定了IO吞吐量,并且可能导致吞吐量低于磁盘configuration可能达到的吞吐量。 例如,DS3 VMpipe理IO吞吐量为12800 IOps / 128MBps,但可以有8个附加的数据磁盘。 这意味着即使3个P10磁盘在理论上可以达到300MBps ,但是如果连接到DS3机器,它们将被控制到128MBps。 因此,select一个满足CPU,内存和IO吞吐量要求的VM大小。
![]()
虚拟机创build完成后,继续连接虚拟机。 在文件资源pipe理器(这台电脑),你应该看到3卷 – 操作系统驱动器(C),临时存储(D)和SQL数据(F)。 我们很快就会摆脱那个SQL Data驱动器。 如果您检查,您应该看到所有系统数据库实际驻留在OS驱动器上。
如果不需要,请分离P30磁盘:
![]()
附加你真正想要的磁盘:
![]()
- 请记住 – 对于托pipe数据文件的磁盘启用读取caching。 禁用用于事务日志文件的磁盘caching:
![]()
根据需要创build多个磁盘后,实际上可以删除不需要的磁盘(您可能已经为资源组/存储帐户使用了其他名称):
![]()
![]()
创build您的存储空间/容量(S):
- 在到VM的RDP会话中,打开“磁盘pipe理”控制台并初始化/联机磁盘:
![]()
![]()
- 打开服务器pipe理器存储空间控制台:
![]()
- 创build一个新的存储池。 命名后,确保select“manual”作为您添加到池中的每个磁盘的分配types。
![]()
![]()
- 创build一个新的虚拟磁盘。 请务必为OLTP工作负载select64K的交叉大小,为数据仓库工作负载select256K的交叉大小。 固定configuration也是最好的。 列的数量应该等于池中的磁盘数量:
![]()
![]()
![]()
- 完成后,它会自动popup新的卷向导。 这是相当不言自明的,所以我在这里省略了截图。
仅供参考,这也是他们表示他们将来正在改变的东西。