Temos um servidor de relatórios somente leitura que faz parte do grupo de disponibilidade AlwaysOn. Nosso desenvolvedor quer criar alguns procedimentos armazenados. Minha pergunta é onde o procedimento armazenado deve ser criado - será no primário, pois o secundário é somente leitura?
relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
Uma possível solução seria; Basta criar um banco de dados na instância secundária e depois criar os procedimentos armazenados acessando os dados dos bancos de dados que estão sendo replicados.
EDIT: Mas este banco de dados não seria replicado.
Os procedimentos armazenados estão contidos em bancos de dados, portanto, se o banco de dados em que você está criando o procedimento armazenado estiver no grupo de disponibilidade, você o criará no primário - seria impossível criá-lo no secundário, pois a réplica é lida. só.
Depois que o procedimento armazenado é criado no primário, ele faz parte do banco de dados e fica disponível nas réplicas secundárias.
Os mesmos princípios se aplicam ao fazer qualquer modificação em um banco de dados em um grupo de disponibilidade. Você não pode adicionar tabelas, exibições, procedimentos armazenados, modificar permissões, etc. no secundário porque o banco de dados é somente leitura.