在 Azure DevOps Server 数据库中禁用 SQL Server 数据压缩
本文介绍如何在 Azure DevOps Server 数据库中禁用 SQL Server 数据压缩。
原始产品版本: Microsoft Azure DevOps Server
原始 KB 数: 2712111
总结
Azure DevOps Server 旨在利用 SQL 企业版功能,例如页面压缩,在其他版本的 SQL Server 中不可用。 将一个或多个 Azure DevOps Server 数据库从 SQL Server 企业版移动到 SQL Server 的非企业版(例如,作为集合分离/附加操作的一部分)时,必须禁用该压缩。
若要在 Azure DevOps Server 数据库上禁用压缩,可以针对它执行 [dbo].[prc_EnablePrefixCompression]
。 此存储过程具有一个参数,@online
如果要在继续通过 Azure DevOps Server 部署继续使用集合数据库时禁用压缩,则应将其设置为 true,但可以设置为 false,以便加快操作速度。 在任一情况下,执行此存储过程的步骤将是:
启动 SQL Server Management Studio。
找到要移动的 Azure DevOps Server 数据库。 右键单击数据库并选择“ 新建查询”。
键入下列命令之一:
EXEC [dbo].[prc_EnablePrefixCompression] @online = 0, @disable = 1 EXEC [dbo].[prc_EnablePrefixCompression] @online = 1, @disable = 1
注意
根据是否打算在禁用压缩时继续使用数据库。
运行(执行)查询,并在消息下验证成功。
对于将移动的所有必需数据库,重复步骤 1 到 4。
禁用压缩需要额外的磁盘空间。 下面的查询可以使用与上述步骤相同的步骤执行,它将提供有关禁用压缩后所需的额外磁盘空间量的估计值。
select sum(used_page_count) * 8 * 2 /1024.0
from sys.partitions p
join sys.dm_db_partition_stats s
on s.partition_id = p.partition_id
and s.object_id = p.object_id
and s.index_id = p.index_id
where p.data_compression_desc = 'page'
注意
- 上述查询返回的大小为 MB(MB)。
- 建议先针对每个 Azure DevOps Server 数据库运行此查询,然后再禁用数据压缩,然后确保在实际禁用压缩之前有足够的磁盘空间可用。
详细信息
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。