创建 Table DDL 导致 sql 服务器挂起

Create Table DDL causes sql server to hang

此 DDL 语句中是否有任何内容可能导致系统挂起并创建长 运行 查询?

  -- Abort on any error
SET XACT_ABORT ON
GO
-- FUll isolation
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
GO
CREATE TABLE ClientPayerCrosswalkMapping
( 
  id INT IDENTITY(1, 1) NOT NULL,
  lbxid INT NOT NULL,
  ClientPayerID NVARCHAR(80),

  CONSTRAINT PK_ClientPayerCrosswalkMapping_ID PRIMARY KEY CLUSTERED (id),
  CONSTRAINT UN_lbxid UNIQUE(lbxid),

  CONSTRAINT FK_LockboxDocumentTracking FOREIGN KEY (lbxid)
  REFERENCES LockboxDocumentTracking(lbxid)
);

GO

这是在 SQL Server 2005 上,当时系统负载适中。

这是新的 table 那么为什么系统会挂起,我唯一的怀疑是 table 有一个 CONSTRAINT

在不创建任何交易的情况下尝试此操作:

CREATE TABLE ClientPayerCrosswalkMapping
( 
  id INT IDENTITY(1, 1) NOT NULL,
  lbxid INT NOT NULL,
  ClientPayerID NVARCHAR(80),

  CONSTRAINT PK_ClientPayerCrosswalkMapping_ID PRIMARY KEY CLUSTERED (id),
  CONSTRAINT UN_lbxid UNIQUE(lbxid),

  CONSTRAINT FK_LockboxDocumentTracking FOREIGN KEY (lbxid)
  REFERENCES LockboxDocumentTracking(lbxid)
);