我现有的数据库是SQL Server 2005上 - 版本9.0.5000。迁移到SQL Server 2008 R2改变分区表列数据类型
我们有超过500万行数据的一个巨大的表。列PriceListDate
被定义为varchar(8)
并且是复合主键的一部分。更糟糕的是,该表在此列上进行了分区。
既然现在有机会重塑DB,我考虑上改变了数据类型为integer
此列。但是,似乎没有这样做的简单方法,但要用新数据类型创建另一个表,迁移数据,然后删除旧表和分区方案和函数。
什么用这种方法来观看任何指针?或者有更好的方法吗?
拉吉
为什么不将日期转换为日期类型?对于日期计算有很多支持,例如datediff函数,当列是日期,日期时间等时。当前设置有什么问题?这个数据库是一个数据仓库(日期表示为整数更常见)? – 2013-05-09 13:43:53
@MichaelHarmon更改主数据的类型(我的猜测是clistered索引)将需要tempdb大小为1-2个表大小+它将被记录:即使最少的日志记录也会占用大量的空间。 – Stoleg 2013-05-29 15:27:34
表格大小是多少?此表格是否有其他更改? – Stoleg 2013-05-29 15:28:28