在Azure DevOps Server数据库中禁用SQL Server数据压缩

本文介绍如何在Azure DevOps Server数据库中禁用SQL Server数据压缩。

原始产品版本:Microsoft Azure DevOps Server
原始 KB 编号: 2712111

摘要

Azure DevOps Server旨在利用其他版本的 SQL Server 中未提供的 SQL Enterprise Edition功能,例如页面压缩。 在集合分离/附加操作过程中,将一个或多个Azure DevOps Server数据库从SQL Server Enterprise Edition移动到SQL Server (的非Enterprise Edition时,例如,) 必须禁用该压缩.

若要对Azure DevOps Server数据库禁用压缩,可以对其执行[dbo].[prc_EnablePrefixCompression]压缩。 此存储过程有一个参数 @online,如果要在通过Azure DevOps Server部署继续使用收集数据库时禁用压缩,则应将其设置为 true,但可以设置为 false 以加快操作速度。 在任一情况下,执行此存储过程的步骤为:

  1. 启动SQL Server Management Studio。

  2. 找到将移动Azure DevOps Server数据库。 右键单击数据库,然后选择“ 新建查询”。

  3. 键入以下信息之一:

    EXEC [dbo].[prc_EnablePrefixCompression] @online = 0, @disable = 1
    
    EXEC [dbo].[prc_EnablePrefixCompression] @online = 1, @disable = 1
    

    注意

    取决于是否计划在禁用压缩时继续使用数据库。

  4. ) 查询运行 (Execute,并在消息下验证成功。

  5. 对将移动的所有必需数据库重复步骤 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'

注意

  1. 上述查询返回的大小以 MB (MB) 为单位。
  2. 建议在禁用数据压缩之前针对每个Azure DevOps Server数据库运行此查询,然后确保在实际禁用压缩之前有足够的磁盘空间可用。

更多信息

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。