Configurar ambiente do SQL Server
Para definir a dependência SQL dos dados no cache, um ambiente precisa ser definido para usar a Dependência SQL. Siga as etapas abaixo para configurar o ambiente do SQL Server para usar a Dependência SQL.
Configurando notificações no SQL Server
NCache rastreia alterações no banco de dados usando notificações recebidas do SQL Server sobre alterações no banco de dados. Internamente, NCache registra essas notificações de alteração de dados e recebe notificações do banco de dados em caso de qualquer alteração no conjunto de resultados da consulta registrada. Com base nessas notificações recebidas, o cache invalida os dados correspondentes e os remove do cache.
Etapa 1: ativar o serviço do corretor
As notificações devem estar habilitadas no banco de dados SQL Server para NCache. Ao contrário das expirações baseadas em tempo, onde os dados são invalidados pelo encadeamento de limpeza de cache em um intervalo configurável, NCache remove os dados correspondentes assim que recebe notificações do banco de dados. Para obter mais detalhes sobre como ativar as notificações de consulta e as consultas suportadas para notificações de eventos, consulte a documentação da Microsoft com link abaixo.
Habilite o service broker no SQL Server antes NCache pode usar a dependência de cache SQL. Isso permite que o SQL Server envie notificações de eventos para NCache para que ele saiba que os dados foram alterados no banco de dados. Para verificar se o broker está em execução, as propriedades no servidor de banco de dados podem ser verificadas usando o SQL Management Studio ou você pode usar a seguinte consulta para verificar se:
SELECT is_broker_enabled FROM sys.databases WHERE name = '<dbname>'
Se o resultado for “1”, significa que o corretor foi habilitado. Se o corretor não estiver habilitado (o resultado será "0"), é importante habilitar o broker. O comando a seguir habilita o serviço do broker para usar notificações SQL.
ALTER DATABASE Northwind SET ENABLE_BROKER;
Etapa 2: permissões do banco de dados
As permissões do banco de dados precisam ser habilitadas para usar NCache Dependência de cache SQL. Essas permissões devem ser concedidas no banco de dados onde a consulta é executada. Para obter mais detalhes, consulte o site da Microsoft Permissões de notificação de consulta.
Modo padrão
Os comandos a seguir precisam ser executados para conceder permissões de banco de dados a um usuário específico.
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO <database_user>
GRANT CREATE QUEUE TO <database_user>
GRANT CREATE SERVICE TO <database_user>
GRANT CREATE PROCEDURE TO <database_user>
Note
Substituir o <database_user>
com o nome de usuário.
Modo personalizado
Se você não quiser ativar notificações no modo padrão, o modo personalizado é fornecido por NCache. Este modo é usado quando você deseja conceder as permissões mínimas necessárias ao usuário.
CREATE QUEUE "NCacheSQLQueue-[ip-address]";
CREATE SERVICE "NCacheSQLService-[ip-address]"
ON
QUEUE "NCacheSQLQueue-[ip-address]"([http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification]);
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO [username];
GRANT RECEIVE ON "NCacheSQLQueue-[ip-address]" TO [username];
GRANT RECEIVE ON QueryNotificationErrorsQueue TO [username];
GRANT SEND ON SERVICE::"NCacheSQLService-[ip-address]" TO [username];
Note
Substitua [endereço IP] pelo endereço IP do nó e [nome de usuário] pelo nome de usuário do banco de dados.
importante
Em um ambiente clusterizado, os usuários devem criar SQL Service e Queue por NCache processo selecionando o “Use o modo de notificação SQL personalizado”caixa de seleção no Opções guia na NCache Centro de Gestão.
Você também pode criar o serviço SQL e a fila necessários usando script NCacheServiceQueue.sql localizado na
%NCHOME%\bin\resources
(Windows) ou/opt/ncache/bin/resources
(Linux).
Depois que o ambiente estiver definido, use a dependência SQL usando Sincronizar cache com SQL no Guia do Programador.
Veja também
Configurar ambiente de banco de dados Oracle
Configurar Ambiente OleDb
Configurar o SQL Server para procedimentos CLR
Monitorar caches