在SQL Server中一次对多个表应用压缩?

时间:2012-11-06 15:19:08

标签: sql-server

我正在使用MS SQL Server 2008,我正在尝试从一个数据库到另一个数据库执行SELECT INTO,但是我需要在构建之后使用行压缩来压缩新表。

我之前使用了一个触发器来默认设置所有表的压缩但是没有那么好用,因为触发器改变了模式并且不允许插入数据。 这是我试过的:

我可以使用哪种方法同时在所有表上设置压缩? #newbie

1 个答案:

答案 0 :(得分:1)

你可以使用这样的脚本:

DECLARE @SQL NVARCHAR(MAX) =
(
SELECT 'ALTER TABLE ' + Name + ' REBUILD WITH (DATA_COMPRESSION = ROW); ' AS [data()]
FROM sys.Tables
FOR XML PATH('')
)

EXEC(@SQL)