2012-11-06 32 views
0

我正在使用MS SQL Server 2008,我試圖做一個SELECT INTO從一個數據庫到另一個,但是我需要在構建完成後使用行壓縮對新表進行壓縮。在SQL Server中同時在多個表上應用壓縮?

我在默認情況下在所有表上使用了一個觸發器來設置壓縮,但這並沒有很好地發揮作用,因爲觸發器改變了模式,並且不允許插入數據。 這是我嘗試過的:

還有什麼其他方法可以用來一次設置所有表上的壓縮? #newbie

+1

「我以前使用的觸發」 ..「但沒有工作」。請分享你的工作! –

+0

此外,您還沒有提及或標記您正在使用的RDBMS(微軟sql服務器,oracle等)。 – twoleggedhorse

+0

@twoleggedhorse - 標題提到SQL Server。 –

回答

1

你可以使用腳本是這樣的:

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

EXEC(@SQL) 
相關問題