2013-02-13 108 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')