2012-06-08 3 views
0

로컬 데이터베이스와 비슷한 유형의 데이터베이스를 원격 위치에두고 있습니다. 이제 매분마다 로컬 데이터베이스에 50-100 개의 레코드가 삽입됩니다. 동시에 공용 IP가있는 데이터베이스 서버에있는 원격 데이터베이스에이 레코드를 삽입해야합니다. 어떤 LAN이나 WAN도 없을 것입니다. 이것은 인터넷을 사용하여 이루어져야 만하지만 그 서버는 publid IP를 사용하여 액세스 할 수 있습니다. SQL 서버 자체에서 트리거 또는 일부를 사용하여이 작업을 수행 할 수 있습니까? 또는 내가 (기본적으로 .NET 응용 프로그램이 데이터베이스에 데이터를 로깅 .NET을 사용하여 일부 웹 서비스를 작성해야한다.이 저를 도와주세요. 감사합니다, 라마를한 데이터베이스의 데이터를 원격 위치에있는 다른 데이터베이스로 복사

+0

을 클래스 -입니다 – Lucifer

답변

0

Transactional Replicationusing a VPN하지만 권장, 인터넷을 통해 배포 할 수 있습니다 (또는 DirectAccess는). 대안은 Service Broker instead of Replication를 사용하는 것입니다. 그것은에서 트랜잭션 무결성 (보증 커밋 또는 롤백을 유지하기 위해 오는 하지 작업을 웹 서비스 호출이

것, 트리거, 닷넷 사용자 지정 응용 프로그램과 유사합니다. 모두 서버), 데이터 변경 감지, 원격 DB가 다운되거나 액세스 할 수있을 때 (패치 적용), 유지 보수성, 서비스 가능성, 어느 사이트에 대해서도 HR/DR 솔루션을 처리하는 것은 말할 것도없고, 이러한 모든 솔루션은 실재로 실패합니다.

0

원격 서버의 데이터를 업데이트하는 Windows 서비스를 만들 수도 있습니다. 데이터베이스의 복제를 사용하지 않으려는 경우.

기본 아이디어는 이와 같을 것입니다.

Windows 서비스는 데이터베이스 변경 사항 및 변경 사항이 있는지를 감시합니다. 모든 변경 사항을 SQLBulkyCopy 클래스로 업로드합니다.

SQLBulkCopy 클래스에 대한 자세한 내용은 다음 링크를 방문하십시오. 여기 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx

은 SqlBulkCopy의의 작동 예를 들어 당신이 정기적으로 그 갱신을 사용하기보다는 동시에 업데이트해야합니다 http://www.sqlteam.com/article/use-sqlbulkcopy-to-quickly-load-data-from-your-client-to-sql-server

관련 문제