小编Tod*_*ang的帖子

ALTER TABLE SWITCH 语句失败。不允许 SWITCH,因为源表 '' 包含约束 '' 的主键

我正在使用 SQL Server 2008。

我有两张桌子PARTITIONTESTTABLEPARTITIONTESTTABLESUB. PARTITIONTESTTABLESUB有一个外键PARTITIONTESTTABLE。我创建了分区,这两个表都已分区。我还从管理分区向导创建了临时表。

当我跑....

ALTER TABLE  PARTITIONTESTTABLESUB SWITCH PARTITION 10 to [staging_PARTITIONTESTTABLESUB]; 
Run Code Online (Sandbox Code Playgroud)

...它运行成功。

但...

ALTER TABLE  PARTITIONTESTTABLE SWITCH PARTITION 10 to [staging_PARTITIONTESTTABLE]; 
Run Code Online (Sandbox Code Playgroud)

...失败,错误:

ALTER TABLE SWITCH 语句失败。不允许 SWITCH,因为源表“Enterprise.MSH2.PARTITIONTESTTABLE”包含约束“staging_PARTITIONTESTTABLESUB_PARTITIONTESTTABLESUB_FK”的主键。

DDL:

CREATE TABLE [PARTITIONTESTTABLE](
    [pkcol] [int] IDENTITY(1,1) NOT NULL,
    [datacol1] [int] NULL,
    [datacol2] [int] NULL,
    [datacol3] [varchar](50) NULL,
    [partitioncol] [datetime] NOT NULL,
 CONSTRAINT [PK_PARTITIONTESTTABLE] PRIMARY KEY CLUSTERED 
(
    [pkcol] ASC,
    [partitioncol] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, …
Run Code Online (Sandbox Code Playgroud)

sql-server partitioning

4
推荐指数
1
解决办法
2427
查看次数

标签 统计

partitioning ×1

sql-server ×1