it-swarm-ko.tech

서버 간 SQL

한 서버의 데이터베이스에서 다른 서버의 데이터베이스로 데이터를 이식하고 싶습니다. 데이터베이스는 모두 다른 mssql 2005 서버에 있습니다. 대상 데이터베이스가 [시간 간격]을 기준으로 처음부터 생성되므로 복제는 옵션이 아닙니다.

바람직하게는 다음과 같은 일을 할 것입니다

insert *
from db1/table1
into db2/table2
where rule1 = true

이 스크립트에서는 연결 자격 증명이 일부 사용되는 것이 분명합니다.

30
Boris Callens

당신이하고 싶은 것은 this msdn article에 따라 연결된 서버를 만드는 것입니다. 그런 다음 4 개의 부품 이름을 사용하여 선택합니다. 예 :

Select * From ServerName.DbName.SchemaName.TableName
35
Matthew Pelser

다음과 같이 Open Data Source를 사용할 수 있습니다.

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO

EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO


SELECT  *
FROM    OPENDATASOURCE('SQLOLEDB',
                   'Data Source=<Ip Of Your Server>;
                    User ID=<SQL User Name>;Password=<SQL password>').<DataBase name>.<SchemaName>.<Table Or View Name>

Go
8

글쎄, 나는 복제에 대한 당신의 의견에 동의하지 않습니다. 처음부터 데이터베이스를 작성하여 복제를 시작할 수 있으며 사용 가능한 클라이언트 데이터베이스를 업데이트하거나 데이터베이스를 다시 작성하여 업데이트를 수행하도록 제어 할 수 있습니다.

자동 복제는 키와 관계를 자동으로 관리하여 작업을 용이하게합니다.

가장 쉬운 방법은 MSSQL Server Studio를 통해 스냅 샷 복제를 시작하고 T-SQL 관련 스크립트 (예 : 게시 및 구독에 대한 해당 T-SQL 지침)를 가져 와서 작업의 일부로 이러한 스크립트를 기록하는 것입니다. SQL 에이전트의 작업 목록 또는 복제 폴더의 복제 작업.

1
Philippe Grondier

SQL Server Integration Services (SSIS)는 옵션입니까? 그렇다면 사용하겠습니다.

1
Galwegian

연결된 서버 경로로 이동할 수 있습니다.

select *를 사용할 수 없으므로 select에 삽입해야합니다.

복제가 잘되지 않으면 수정이 어려울 수 있고 제대로 관리하지 않으면 다른 문제가 발생할 수 있으므로 복제 경험이 없으면 복제를 피할 수 있습니다.

데이터베이스가 작은 경우 특히 간단하게 유지하십시오.

1
Wes Brown

데이터베이스의 전체 내용을 한 서버에서 다른 서버로 또는 몇 개의 테이블에서 일부 데이터로 전송 하시겠습니까?

두 옵션 모두 SSIS는 특히 정기적으로 전송을 계획하는 경우 작업을 수행합니다.

1 또는 2 테이블의 일부 데이터를 복사하고 SQL Management Studio에서 TSQL을 사용하여 데이터를 선호하는 경우 pelser가 제안한대로 연결된 서버를 사용할 수 있습니다

  1. 소스 데이터베이스 서버를 링크 된 서버로 설정
  2. 다음 구문을 사용하여 데이터에 액세스
select columnName1, columnName2, etc from serverName.databaseName.schemaName.tableName
1
kristof

데이터 변환 서비스를 사용하여 작업을 수행 할 수 있습니까? 이를 통해 이러한 종류의 작업을 수행 할 수있는 모든 종류의 볼트 도구가 제공됩니다.

Microsoft 웹 사이트에서 SQL Server 2005 기능 팩을 다운로드 할 수 있습니다 here

0
Thomas Rushton