2013-02-13 124 views
0

我有一个名为tbRep在我的数据库如何从架构创建一个表

我对SQL Server数据库 X,Y 3架构表,Z

现在X & Y的表称为X.tbRep & Y.tbRep

但是,当我尝试使用CREATE TO脚本从例如X.tbRep并尝试创建一个新的模式Z,它抛出一个错误的说法,

消息2714,级别16,状态6,2号线 已经有一个在数据库中名为“tbRep”对象。

我在这做错了什么?

我敢肯定,有Z.tbRep不存在

创建脚本

USE [Info] 
GO 


SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

SET ANSI_PADDING ON 
GO 

CREATE TABLE [Z].[tbRep](
[ReplicaGroup] [varchar](50) NOT NULL, 
[RunFrequencyUnit] [char](1) NOT NULL, 
[Enabled] [bit] NOT NULL, 
[LastRun] [datetime] NOT NULL, 
[RunFrequency] [int] NOT NULL, 
[ReplicationWindowType] [char](1) NOT NULL, 
[ReplicationWindowSize] [tinyint] NOT NULL, 
CONSTRAINT [PK_tbReplicaGroups] PRIMARY KEY CLUSTERED 
(
[ReplicaGroup] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,   ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 

SET ANSI_PADDING OFF 
GO 

ALTER TABLE [Z].[tbReplicaGroups] ADD CONSTRAINT [DF_tbReplicaGroups_ReplicationWindowType] DEFAULT ('D') FOR [ReplicationWindowType] 
GO 

ALTER TABLE [Z].[tbReplicaGroups] ADD CONSTRAINT [DF_tbReplicaGroups_ReplicationWindowSize] DEFAULT ((1)) FOR [ReplicationWindowSize] 
GO 
+0

您可以显示您的实际创建语句吗?你是否验证了模式“Z”还没有这样的表?如果右键单击'X.tbRep'并且说'Script To>'需要将'[X]'更改为'[Z]'。 – 2013-02-13 02:12:20

+0

你是否确定没有'Z.tbRep'?失败的尝试可能会留下这样的表格。 – 2013-02-13 02:13:22

+0

没有Z.tbRep。我也发布了代码 – user280868 2013-02-13 02:22:54

回答

0

--Checks,看看表已经不存在,如果不添加您的创建脚本
如果不存在(从sys.tables中选择名称,其中name ='tpRep')
BEGIN
- 表创建代码这里
END

0

你可以在CREATE TABLE语句之前执行它并让我们知道你是否得到了任何东西?

select * 
from sys.all_objects 
where sys.all_objects.name = 'tbRep' and 
sys.all_objects.type = 'U' and 
sys.all_objects.schema_id = (select schema_id from sys.schemas where sys.schemas.name = 'Z')