mssql sqlserver中估算数据压缩后所需的硬盘空间


摘要:
今天面试时,项目leader问,现在有一个mssql数据库,你能估算出数据压缩后所需的数据空间吗
实验环境:sqlserver 2008 企业版


SQL Server中内置存储过程sp_estimate_data_compression_savings。
我们可以通过输入相应的参数到此存储过程中获取压缩后的空间
我们可以将三个参数中的任意一个传递给此存储过程 – PAGE,ROW或NONE。

   对testInfo表执行row压缩
EXEC SYS.sp_estimate_data_compression_savings
       @SCHEMA_NAME='dbo',
       @OBJECT_NAME='testInfo',
       @INDEX_ID=NULL,
       @PARTITION_NUMBER=NULL,
       @DATA_COMPRESSION='ROW'
GO
 ----- 对testInfo表执行page压缩
EXEC sp_estimate_data_compression_savings 'Sales', 'InvoiceLines', NULL, NULL, 'PAGE' ;
EXEC SYS.sp_estimate_data_compression_savings
       @SCHEMA_NAME='dbo',
       @OBJECT_NAME='testInfo',
       @INDEX_ID=NULL,
       @PARTITION_NUMBER=NULL,
       @DATA_COMPRESSION='PAGE'
GO