안녕하세요.
사무실에 설치된 사내인트라넷 서버 (mssql 2005 / 192.168.0.25)에서 지속적으로 데이터가 insert 되고 있습니다
이 데이터들을 IDC 센터(mssql 2005 / 211.xxx.xx.xxx)에 설치된 본사 서버로 실시간 데이터 insert, update 등이 가능할까요?
(사내인트라넷 서버에 데이터 insert가 되면 바로 IDC 센터의 DB로 실시간 insert~)
개념적으로만 설명해주시면 구글링을 해볼텐데 도저히 감이 잡히질 않네요..ㅠㅜ
고수님들의 도움이 절실합니다.
Comment 5
-
Hisory
2014.09.11 09:21
-
항해자™
2014.09.11 10:40
몇가지 방법이 있을 수 있겠네요,,,
1.입력해 주는 어플에서 양쪽으로 insert 하기
2.insert 대상 테이블에 trigger를 걸어서 처리
3.주기적으로 테이블을 확인해서 추가된 데이터 처리 (batch)
-
파인드쿠폰
2014.09.11 11:50
항해자님 답변 감사드립니다.
로컬은 이미 솔루션이 설치되어 알아서 insert 하기에 어떻게 할 수는 없을거 같아요.ㅠㅜ
다만 local db접속정보가 있어서 접속은 가능하구요 그 솔루션에서 입력되는 값을 저희 본사 서버로 전송시킨다고 생각하시면 됩니다.
현재 프로그램이 설치된 로컬 컴퓨터의 DB 데이터를 본사 DB서버로 자동(?)전송시켜줘야합니다.ㅜㅠ
이걸 어떻게 풀어야할지 모르겠어요ㅠㅜ
-
SQL어렵..
2014.09.11 17:23
위 분이 말씀하신대로
꼭 실시간이 아니라 몇분정도의 오차정도는 상관없다면
본사 DB로 Insert 시켜주는 저장 프로시저를 만들고 SQL 에이전트를 이용하여 주기설정(매일 1분, 10분 등 설정)하여 보내는
방법이 어떨까 합니다
-
항해자™
2014.09.11 23:30
배치로 처리해도 된다면,,,
일단 처리해야 할 테이블을 관리 테이블에 정리합니다,,,
create table dbo.tManageTarget
(cTableName varchar(50) not null
,cLastTime datetime not null
)
각 테이블에 데이터가 입력된 마지막 시간이 있을텐데,,, 그 시간을 위 테이블에 업데이트 해 주면서 사용할 수 있겠네요,,
물론 이 방법은 동적 쿼리를 이용해야 합니다,,
recompile 옵션을 붙여서 사용하세요,,,
복제를 하시면 되지 않으실까 하는 생각입니다.