【发布时间】:2016-10-26 17:51:59
【问题描述】:
Visual Studio 2013
SQL Server 2008
目标框架:.Net 3.5
我创建了一个 SQL Server 数据库项目,它运行良好。但是我添加了一个分区函数和分区架构 [PS],并更改了我的一张表:删除聚集主键并在新 PS 上添加聚集索引:
CREATE CLUSTERED INDEX [Ind_Archive_Data]
ON [Archive].[Data]([Id] ASC, [CreatedOn] ASC)
ON [RangePS] ([CreatedOn])
之后,每次我重新部署项目时,都会创建表 [Archive].[Data] 的副本:
CREATE TABLE [Archive].[tmp_ms_xx_Data]....
INSERT INTO [Archive].[tmp_ms_xx_Data]...copy data...
DROP TABLE [Archive].[Data];
EXECUTE sp_rename N'[Archive].[tmp_ms_xx_Data]', N'Data';
即使我不对这张表做任何改动。更糟糕的是 - 它在一次部署期间复制了两次:第一次如上所示,第二次 - 以相同的方式重新创建表并创建索引 [Ind_Archive_Data] 的副本。
这很糟糕,因为我的数据表可能非常大。 我运行 Shema 比较:数据库有更多对象,但我尝试部署的表 - 完全相同。
请有人解释一下这种行为以及我该如何解决它。
【问题讨论】:
-
不确定,它是否对某人有用。但以防万一。
标签: .net sql-server sql-server-2008 visual-studio-2013