Questions tagged «varbinary»

2
将VARCHAR转换为VARBINARY
我一直将昂贵的运行查询及其查询计划记录在一个表中,以使我们能够监视性能趋势并确定需要优化的领域。 但是,到了查询计划占用太多空间的地步(因为我们针对每个查询存储整个计划)。 因此,我试图通过将QueryPlanHash和QueryPlan提取到另一个表来规范化现有数据。 CREATE TABLE QueryPlans ( QueryPlanHash VARBINARY(25), QueryPlan XML, CONSTRAINT PK_QueryPlans PRIMARY KEY ( QueryPlanHash ) ); 因为query_plan_hashin 的定义sys.dm_exec_query_stats是一个二进制字段(并且我将定期插入新数据),所以我VARBINARY在新表中使用了该数据类型。 但是,下面的插入失败... INSERT INTO QueryPlans ( QueryPlanHash, QueryPlan ) SELECT queryplanhash, queryplan FROM ( SELECT p.value('(./@QueryPlanHash)[1]', 'varchar(20)') queryplanhash, QueryPlan, ROW_NUMBER() OVER (PARTITION BY p.value('(./@QueryPlanHash)[1]', 'varchar(20)') ORDER BY DateRecorded) rownum FROM …

1
从varbinary(max)中清空数据后缩小DB的最佳方法?
我们有一个数据库,其中有大量数据存储在varbinary(max)类型的字段中。在某些时候,我们可以清除大多数行(但不是全部)的数据。我们的计划是使该字段可为空,并在不再需要该数据时将其清空。完成后,我们希望减少数据库的大小。做到这一点的最佳方法是什么? 如果没有一种利用当前设置回收空间的好方法,那么我的一个想法就是将数据字段移动到只有两列的单独表中:主表的键和数据字段。然后,当不再需要这些行时,我们可以简单地删除它们。(然后进行某种缩小。)但是,与简单地使现有字段可为空相比,这将是一件困难得多的更改。 注意:实际上,我不太关心使数据库文件变小,但是我关心新释放的空间变得可重用。 这一字段占数据库大小的90%以上。我已经在3TB了。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.