Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Pode aproveitar uma base de dados espelhada que mantém para fins de disponibilidade para descarregar relatórios. Para usar uma base de dados espelhada para relatórios, pode criar um snapshot da base de dados espelhada e direcionar os pedidos de ligação do cliente para o snapshot mais recente. Um instantâneo de base de dados é um instantâneo estático, apenas de leitura e consistente em termos de transações da sua base de dados de origem tal como existia no momento da criação do instantâneo. Para criar um snapshot da base de dados numa base de dados espelhada, a base de dados deve estar no estado de espelhamento sincronizado.
Ao contrário da própria base de dados espelhada, um snapshot da base de dados é acessível aos clientes. Desde que o servidor espelho esteja a comunicar com o servidor principal, pode direcionar os clientes de relatório para se ligarem a um snapshot. Note que, como um snapshot da base de dados é estático, novos dados não estão disponíveis. Para disponibilizar dados relativamente recentes aos seus utilizadores, deve criar periodicamente um novo snapshot da base de dados e fazer com que as aplicações encaminhem as ligações dos clientes recebidos para o snapshot mais recente.
Um novo instantâneo de base de dados está quase vazio, mas cresce com o tempo à medida que um número crescente de páginas é atualizado pela primeira vez. Como cada snapshot numa base de dados cresce incrementalmente desta forma, cada snapshot consome tantos recursos como uma base de dados normal. Dependendo das configurações do servidor espelho e do servidor principal, ter um número excessivo de instantâneos de base de dados numa base de dados espelhada pode diminuir o desempenho na base de dados principal. Por isso, recomendamos que mantenha apenas alguns snapshots que são relativamente recentes nas suas bases de dados de espelho. Normalmente, depois de criar um snapshot de substituição, deve redirecionar as consultas recebidas para o novo snapshot e eliminar o snapshot anterior após a conclusão de quaisquer consultas atuais.
Observação
Para mais informações sobre cópias instantâneas de bases de dados, consulte Cópias Instantâneas de Base de Dados (SQL Server).
Se ocorrer troca de papéis, a base de dados e os seus instantâneos são reiniciados, desconectando temporariamente os utilizadores. Depois, os instantâneos da base de dados permanecem na instância do servidor onde foram criados, que se tornou a nova base de dados principal. Os utilizadores podem continuar a usar os snapshots após o failover. No entanto, isto coloca uma carga adicional no novo servidor principal. Se o desempenho for uma preocupação no seu ambiente, recomendamos que crie um snapshot na nova base de dados espelhada assim que esta estiver disponível, redirecione os clientes para o novo snapshot e elimine todos os snapshots da antiga base de dados espelhada.
Observação
Para uma solução de relatórios dedicada que escale bem, considere a replicação. Para obter mais informações, consulte Replicação do SQL Server.
Example
Este exemplo cria instantâneos numa base de dados espelhada.
Assuma que a base de dados de uma sessão de espelhamento de base de dados é AdventureWorks2025. Este exemplo cria três instantâneos da base de dados na cópia espelhada da AdventureWorks base de dados, que reside no F disco. Os instantâneos são nomeados AdventureWorks_0600, AdventureWorks_1200, e AdventureWorks_1800 para identificar os seus tempos aproximados de criação.
Crie o primeiro snapshot da base de dados no espelho de
AdventureWorks2025.CREATE DATABASE AdventureWorks_0600 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_0600.SNP') AS SNAPSHOT OF AdventureWorks2022Crie o segundo snapshot da base de dados no espelho de
AdventureWorks2025. Os utilizadores que ainda estão a usarAdventureWorks_0600podem continuar a usá-lo.CREATE DATABASE AdventureWorks_1200 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1200.SNP') AS SNAPSHOT OF AdventureWorks2022Neste ponto, as novas ligações ao cliente podem ser direcionadas programaticamente para o snapshot mais recente.
Crie o terceiro snapshot no espelho
AdventureWorks2025. Utilizadores que ainda os utilizamAdventureWorks_0600ouAdventureWorks_1200podem continuar a usá-los.CREATE DATABASE AdventureWorks_1800 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1800.SNP') AS SNAPSHOT OF AdventureWorks2022Neste ponto, as novas ligações ao cliente podem ser direcionadas programaticamente para o snapshot mais recente.
Tarefas relacionadas
Ver também
Instantâneos de Banco de Dados (SQL Server)
Conectar clientes a uma sessão de espelhamento de banco de dados (SQL Server)