다음을 통해 공유


쿼리 알림 사용

SQL Server 2005는 쿼리 결과가 변경될 때 응용 프로그램이 SQL Server로부터 알림을 요청할 수 있는 새로운 기능인 쿼리 알림 기능을 제공합니다. 프로그래머는 쿼리 알림을 사용하여 응용 프로그램에서 이전에 검색한 정보가 변경될 경우에만 데이터베이스를 쿼리하는 응용 프로그램을 디자인할 수 있습니다.

예를 들어 온라인 카탈로그 응용 프로그램은 판매 중인 제품을 나열하는 쿼리 결과를 캐시에 저장할 수 있습니다. 이 응용 프로그램은 캐시된 데이터에 따라 카탈로그를 표시합니다. 판매 제품 목록이 변경되면 응용 프로그램의 이벤트 처리기가 알림 이벤트를 수신하고 캐시된 데이터를 삭제합니다. 그런 다음 고객이 판매 제품 목록을 요청하면 응용 프로그램이 데이터베이스에 현재 데이터를 쿼리하고 알림 구독을 새로 만듭니다.

응용 프로그램은 쿼리 알림을 사용하여 데이터베이스에 대한 왕복을 줄일 수 있습니다. 개발자는 현재 결과를 유지하기 위해 쿼리를 주기적으로 다시 실행하는 코드를 작성하는 대신 쿼리 결과가 오래된 경우 자동으로 알림을 받는 응용 프로그램을 디자인할 수 있습니다. 응용 프로그램은 쿼리 알림 기능을 사용하여 쿼리 및 알림 요청을 포함하는 명령을 실행합니다. 응용 프로그램은 쿼리의 결과 또는 쿼리 결과로부터 생성된 동적 콘텐츠를 캐시합니다. 응용 프로그램이 쿼리 알림을 받으면 캐시된 콘텐츠를 삭제합니다. 그런 다음 응용 프로그램은 업데이트된 쿼리 결과가 필요할 때 쿼리와 알림 요청을 다시 실행합니다.

데이터베이스 엔진은 알림 구독을 사용하여 쿼리 알림에 대한 요청을 추적합니다. 명령에 알림 요청이 포함된 경우 데이터베이스는 요청을 알림 구독으로 등록한 다음 명령을 실행합니다.

데이터베이스 엔진은 Service Broker를 사용하여 알림 메시지를 배달합니다. 따라서 응용 프로그램이 구독을 요청하는 데이터베이스에 Service Broker가 활성화되어 있어야 합니다. 쿼리 알림 기능에는 Notification Services가 필요하지 않으므로 사용되지 않습니다. 쿼리 알림은 이벤트 알림과 독립적입니다.

구독이 들어 있는 데이터베이스를 제외한 데이터베이스에서 알림 메시지를 받으려면 구독이 들어 있는 데이터베이스의 TRUSTWORTHY 속성을 ON으로 설정해야 합니다. 자세한 내용은 ALTER DATABASE(Transact-SQL)를 참조하십시오.