2016-12-07 1 views
0
SET IDENTITY_INSERT [Offline Server_name].[demo].[dbo].[Company] ON 
INSERT INTO [demo].[dbo].[Company](Id, Name) 
SELECT Id, Name 
FROM [Online server_name].[SmartDistributorToy].[dbo].[Company] 
SET identity_insert [demo].[dbo].[Company] OFF 

내가 오류는 다음과 같습니다데이터를 복사

가 존재하지 않기 때문에, 오브젝트 "오프라인 Server_name.demo.dbo.Company"를 찾을 수 없습니다 또는 권한이 없습니다.

답변

3

Offline_Server_Name와는 SQL Server 인스턴스가 creating as Linked Server 는 SQL 자습서를 참조하십시오하여 현재 SQL Server 인스턴스

당신은 다른 SQL Server 인스턴스를 연결할 수 있습니다에 정의되어야한다라는 이름의 Online_Server_name. SQL 서버 연결된 서버 정의를 만든 후 나는 그것이 문제

set identity_insert [db_currentserver].[dbo].[Company] on 

    insert into [db_currentserver].[dbo].[Company] 
     (
      Id, 
      Name 
     ) 
    select 
     Id, 
     Name 
    from 
     [LinkedServer].[db_remoteserver].[dbo].[Company] 

set identity_insert [db_currentserver].[dbo].[Company] off 
없이 작동 다음 시도 할 때 당신은 로컬 서버의 데이터베이스 테이블

에 IDENTITY_INSERT을 변경할 수 있습니다

당신은 SQL 코드에 별칭을 사용할 수 있습니다

db_currentserver는 현재 인스턴스에서 생성 된 데이터베이스입니다. db_remoteserver는 현재 SQL Server 인스턴스에 연결된 서버로 정의 된 원격 SQL Server 인스턴스의 데이터베이스입니다.

+0

이 쿼리는 wor입니다. 왕이 오프라인 서버에 오프라인으로 – Arvind

+0

안녕 Arvind. @ 영원히 맞습니다. 데이터베이스를 조회 할 때 이것은 연결을 사용하여 완료됩니다. 각 연결은 하나의 SQL Server 인스턴스로 제한됩니다. 연결되어있는 SQL Server가 다른 서버에 연결되어 있지 않으면 (https://msdn.microsoft.com/en-GB/library/ms188279.aspx?f=255&MSPPError=-2147217396) 온라인 또는 오프라인 서버에 대해이 쿼리를 실행하고 있습니까? –

+0

개체 이름 'Server_name.Passwor.database_name.dbo.Company'에 최대 접두사 수 이상이 포함되어 있습니다. 최대 값은 3입니다.이 오류는 다시 – Arvind

관련 문제