我们正在过渡到 Azure SQL 数据仓库 - 一个突出显示的问题是需要将一些较小的表从循环/散列分布更改为复制以提高性能。
MS 设计指南(请参阅此处)建议此决定的一个标准是占用少于 2Gb 磁盘空间的表。即这些表可以制作成复制表。他们建议使用 DBCC PDW_SHOWSPACEUSED 来确定这一点。
我可以对整个数据库或一个特定的表运行它,但我真的很想获得所有表和使用的空间的列表(最好以 MB 为单位)——但这超出了我的范围。
很多谷歌搜索要么给我两个我已经知道的基本命令(针对整个数据库/针对 1 个表),要么给我不针对 Azure DW 运行的 SQL Server 查询 - 例如使用sys.allocation_units - 这是不支持的在 Azure DW 中。