我将图像存储在我的数据库(Sql Server 2008) in binary formate 中。 Table的Field数据类型是image。
现在我在该表中的行数超过数百万。现在我想压缩二进制数据。
我已经搜索了一些解决方案,但它们处于表单级别意味着我必须在C#或VB.net中编写代码并将该二进制数据带到该页面上。通过使用代码压缩它们,我必须更新该特定记录。
但是由于我拥有大量数据,因此在表单方面执行此过程很不方便,因为它可能需要很长时间。
所以我想要一些 SQL代码所以我可以在我的数据库中创建存储过程,使用它我可以一次获得每一行压缩该二进制数据并更新该特定行的读取列。
是否有任何方法可以在 SQL Server 2008 上执行此过程。
先谢谢你。
答案 0 :(得分:1)
如果您使用的是SQL Server 2008 Developer或Enterprise Edition,则可以按照here on MSDN所述启用压缩。
答案 1 :(得分:1)
您是否可以在SQL Server中使用FILESTREAM
类型,服务器应该已经支持从2008年开始的压缩。
查看The MSDN docs您需要做的就是确保文件 - 蒸汽位于压缩卷上并且它会在运行中发生。
答案 2 :(得分:1)
你可以使用CLR:这是一个已经编写并准备推出的... http://www.sqlmag.com/article/common-language-runtime-clr/using-large-clr-udts-in-sql-server-2008