SQL Server table compression

You can override options for a all tables in the database by setting the table-compression attribute of the <mssql-compression> element to NONE, PAGE, or ROW.

For syntax and a description of the options for table-compression, see the preceding topic.

You can override options for a specific table by adding an <mssql-table-compression> element and setting the table-compression attribute to NONE, PAGE, or ROW. The <mssql-table-compression> element is contained in an <mssql-table-ddl> element within the <mssql-db-ddl> element. For example:

<database>
  ...
  <upgrade>
    <mssql-db-ddl>
      <mssql-table-ddl table-name="pc_tableName">
        <mssql-table-compression table-compression="NONE|PAGE|ROW" />
      </mssql-table-ddl>
    </mssql-db-ddl>
  </upgrade>
</database>

The following example specifies row table compression for the entire database, page compression for the pc_Activity table, and no compression for the pc_Workflow table.

<database name="PolicyCenterDatabase" dbtype="sqlserver">
  ...
  <upgrade>
    <mssql-db-ddl>
      <mssql-compression table-compression="ROW" />
      <mssql-table-ddl table-name="pc_Activity">
        <mssql-table-compression table-compression="PAGE" />
      </mssql-table-ddl>
      <mssql-table-ddl table-name="pc_Workflow">
        <mssql-table-compression table-compression="NONE" />
      </mssql-table-ddl>
    </mssql-db-ddl>
  </upgrade>
</database>

See also