我被要求將現有的表複製到另一個服務器,但在重新創建表時似乎無法直接插入。如何將具有標識的一個表複製到另一個SQL Server
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tblRadiologyData]
(
[RadiologyID] [int] IDENTITY(1,1) NOT NULL,
[ExaminationDate] [datetime] NOT NULL,
[ReferralDate] [datetime] NULL,
[ReportedDate] [datetime] NULL,
[AttendanceNumber] [varchar](10) NULL,
[LocalPatientIdentifier] [varchar](10) NOT NULL,
[NHSNumber] [varchar](10) NULL,
[Surname] [varchar](35) NULL,
[Forenames] [varchar](35) NULL,
[DateOfBirth] [datetime] NULL,
[AttendanceStatus] [varchar](20) NULL,
[AttendancePatientCategory] [varchar](10) NULL,
[AttendancePatientGroup] [varchar](20) NULL,
[AttendanceSpecialtyName] [varchar](50) NULL,
[AttendancePriority] [varchar](10) NULL,
[AttendanceSiteCode] [varchar](4) NULL,
[ExamExaminationCode] [varchar](10) NOT NULL,
[ExamRoomName] [varchar](50) NULL,
[ExamExaminationName] [varchar](30) NULL,
[ExamKornerCategory] [varchar](10) NULL,
[KornerBandName] [varchar](20) NULL,
[AttendanceSourceName] [varchar](30) NULL,
[RefDoctor] [varchar](30) NULL,
[DemogRegisteredGPCode] [varchar](8) NULL,
[RegPracCode] [varchar](10) NULL,
[Practice] [varchar](6) NULL,
[DOHCode] [varchar](8) NULL,
[PCOCode] [varchar](5) NULL,
[ExamDuration] [int] NULL,
[InternalNumber] [varchar](12) NULL,
[Postcode] [varchar](8) NULL,
[PCTRes] [varchar](5) NULL,
[DHA] [varchar](3) NULL,
[KornerBand] [varchar](2) NULL,
[OPUnbundled] [bit] NOT NULL,
[UB_HRG] [varchar](5) NULL,
[StatusCode] [varchar](2) NULL,
[LastModified] [datetime] NULL,
[SpecialtyCode] [varchar](3) NULL,
[deptcode] [varchar](255) NULL,
[HRGCode] [varchar](5) NULL,
[HRGGroup] [varchar](6) NULL,
[HRGTariff] [decimal](19, 4) NULL,
[Chargeable] [bit] NOT NULL,
[HEYActivity] [varchar](10) NULL,
[InternallyTraded] [varchar](3) NULL,
[PatientSex] [nchar](10) NULL,
[EthnicCategory] [nchar](10) NULL,
[AgeAtExamDate] [int] NULL,
[HRGCode1516] [varchar](5) NULL,
CONSTRAINT [PK_tblRadiologyData]
PRIMARY KEY NONCLUSTERED ([ExaminationDate] ASC,
[LocalPatientIdentifier] ASC,
[ExamExaminationCode] 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 [dbo].[tblRadiologyData]
ADD DEFAULT ((0)) FOR [OPUnbundled]
GO
ALTER TABLE [dbo].[tblRadiologyData]
ADD DEFAULT ((0)) FOR [Chargeable]
GO
以上是原代碼和我試圖做的是拷貝和不同的服務器/數據庫[CHH-BI] [CommDB]上重新創建。
我這樣做,並試圖插入所有到從以前的新表,但有錯誤
消息8101,級別16,狀態1,行4
標識列在一個明確的價值表「CommDB.dbo.tblRadiologyData」只能在使用列列表且IDENTITY_INSERT爲ON時指定。
我該怎麼辦?或者錯過了什麼?我認爲創建相同的表格並將所有內容從舊的複製到新的只是一項簡單的工作!
使用navicat)))) –
你只創建表還是移動數據也..? – Mansoor
看看 http://stackoverflow.com/questions/2005437/an-explicit-value-for-the-identity-column-in-table-can-only-be-specified-when-a – Dejan