C# 으로 프로그램을 개발하고 있는데요
SQL에서 이런(?) 것 들이 가능한지 알고싶어서 글 올립니다.
SQL 2014 Express 를 사용하고 있습니다.
메인 프로그램(exe) 에서 무언가 테스트를 하면 SQL DB Table 에 값을 씁니다.
예를들어 생성된 데이터가 10,20,30,40,50 이면
t_Data 라는 테이블의 컬럼에 다음과 같이 값을 넣습니다.
Data1 (int) = 10
Data2 (int) = 20
Data3 (int) = 30
Data4 (int) = 40
Data5 (int) = 50
Server_Send(bool) = false // 상위 서버로 전송 여부
t_Data 라는 테이블은 Local PC의 127.0.0.1 의 DB안의 t_Data 이구요 현재 테이블에는
10 20 30 40 50 이라는 데이터가 있는데
새로 생성된 데이터를 주기적으로(타이머) 검색하여 Server_Send가 False인 데이터만을 상위 서버(192.168.0.21)의
동일 DB 동일 테이블에 기록을 하고 싶습니다.
SQL 2014에서 위와 같은 동작을 할 수 있는지? (새로운 데이터가 생기면 상위서버로 접속하여 데이터를 복사)
위와 같은 동작을 프로그램단(exe)이 아닌 SQL 단에서 할 수 있는지가 궁금합니다. (예 : 프로시저)
해야한다면 어떤 방식으로 해야 하는지? 참고할 만한 곳 있다면 알려주세요~
감사합니다
Comment 1
-
catchv
2015.05.07 11:45
SQL Server 에는 SQL Server Agent라는 것이 있습니다.
job을 생성(프로시져 실행 등의 작업이 가능)하고 스케줄을 걸어서 반복적인 작업을 할 수 있습니다.
하지만 Express는 Agent가 들어 있지 않습니다. 상위 버젼의 SQL Server 사용하시거나
위와 같은 간단한 작업이라면 그냥 C#으로 간단하게 작성하고 Windows Task Scheduler 에 등록 하고 사용하셔도 문제 없을 것 같습니다.
다른 DB와는 Linked Server로 연결하시면 됩니다.