GZip existing varbinary(max) column in Sql Server 2008+
You can use .NETs GZipStream Class with SQLCLR to do the compression since you are on SQL Server 2008.

Solomon Rutzky has a free SQLCLR version (Util_GZip and Util_GUnzip functions) that you can test and use.

See : Alternative way to compress NVARCHAR(MAX)?