2014-04-19 1 views
0

최종 목표는 실시간 모니터링 또는 SQL 데이터베이스에서 테이블에 삽입되는 값의 반향을 허용하는 UI를 갖는 것입니다. 이 모니터링은 중요하지 않으므로 보장 된 전달은 SQL Server의 성능에 미치는 영향보다 우선 순위가 낮습니다. 문제의 테이블은 분당 2k에서 5k 행을 삽입합니다.SQL Server에서 실시간 데이터를 스트리밍 또는 게시

SQL 서버에 대한 영향이 가장 적은 대기열 또는 서비스 버스에 대해 SQL Server를 실행하고 잊어 버릴 수있는 메커니즘은 무엇입니까?

+0

Service Broker? SQL Server 이외의 다른 서비스 브로커를 사용할 수 있습니까? 트리거가 필요합니까? 나는 그 생각을 싫어하지만, 불을 지피고 무언가를 잊을 수있는 방아쇠는 어떨까요? 대기열에 대해 궁금해했지만 대기열이 채워지거나 사용할 수 없기 때문에 삽입 트리거로 인해 문제가 발생하지는 않습니다. – Roger

답변

0

SQL CLR을 사용할 수있는 경우 INSERT를 수행하는 다른 SP에서 호출 된 트리거 또는 CLR SP를 사용하는 몇 가지 옵션이 있습니다.

Service Broker를 사용하여 다른 서버에 메시지를 보내 부하를 분산시킬 수 있습니다.

모니터링이 중요하지 않으므로 잠깐 필요할 때만 SQL 프로필러 또는 SQL 프로필러 자체에서 사용하는 것과 동일한 프로그래밍 방식 인터페이스를 사용할 수 있습니다.

시스템 아키텍처가 클라이언트 - 서버 인 경우 INSERT 작업이 호출 될 때마다 로깅/모니터링을 수행 할 수있는 "작업"을 생성하여 백그라운드 스레드로 대기시킵니다. 백그라운드 스레드는 낮은 우선 순위에서 처리 될 수 있습니다. 성능에 영향을주지 않기 위해 전혀 다른 데이터베이스 서버에 기록됩니다.

Azure를 사용하는 경우 Service Broker 및 SQL 프로필러를 사용할 수 없습니다.

관련 문제