Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Você pode tirar proveito de um banco de dados espelho que você está mantendo para fins de disponibilidade para descarregar relatórios. Para usar um banco de dados espelho para relatórios, você pode criar um instantâneo do banco de dados no banco de dados espelho e direcionar as solicitações de conexão de clientes para o instantâneo mais recente. Um instantâneo de banco de dados é um instantâneo estático, somente leitura e consistente em termos de transações do seu banco de dados de origem, como existia no momento da criação do instantâneo. Para criar um instantâneo do banco de dados em um banco de dados espelho, o banco de dados precisa estar no estado de espelhamento sincronizado.
Ao contrário do próprio banco de dados espelho, um instantâneo do banco de dados está acessível aos clientes. Desde que o servidor espelho esteja se comunicando com o servidor principal, você pode direcionar os clientes de relatório para se conectarem a um snapshot. Observe que devido ao fato de o instantâneo do banco de dados ser estático, os novos dados não estão disponíveis. Para tornar dados relativamente recentes disponíveis a seus usuários, você precisa criar periodicamente um novo instantâneo do banco de dados e fazer com que os aplicativos dirijam as conexões de entrada de clientes para o instantâneo mais recente.
Um novo instantâneo do banco de dados está quase vazio, mas cresce com o tempo, conforme mais e mais páginas do banco de dados são atualizadas pela primeira vez. Como todo instantâneo em um banco de dados cresce incrementalmente desse modo, cada instantâneo do banco de dados consome os mesmos recursos que um banco de dados normal. Dependendo das configurações do servidor espelho e do servidor principal, um número excessivo de instantâneos de banco de dados em um banco de dados espelho pode diminuir o desempenho no banco de dados principal. Portanto, recomendamos que você mantenha apenas alguns instantâneos relativamente recentes em seus bancos de dados de espelho. Geralmente, depois de criar um instantâneo de substituição, você deve redirecionar as entradas de consultas para o novo instantâneo e descartar o instantâneo mais antigo depois que as consultas atuais forem concluídas.
Observação
Para obter mais informações sobre instantâneos de banco de dados, confira Instantâneos de Banco de Dados (SQL Server).
Se houver troca de função, o banco de dados e seus instantâneos serão reinicializados, desconectando os usuários temporariamente. Depois, os instantâneos do banco de dados permanecem na instância de servidor em que foram criados e que se tornou o novo banco de dados principal. Os usuários podem continuar a usar os snapshots após o failover. Porém, isso coloca uma carga adicional no novo servidor principal. Se o desempenho for uma preocupação em seu ambiente, recomendamos que você crie um instantâneo no novo banco de dados espelho quando ele se tornar disponível, redirecione os clientes ao novo instantâneo e descarte todos os instantâneos do banco de dados do antigo banco de dados espelho.
Observação
Para uma solução de relatórios dedicada que seja bem dimensionável, pense em replicação. Para obter mais informações, consulte Replicação do SQL Server.
Exemplo
Este exemplo cria snapshots de um banco de dados espelhado.
Suponha que o banco de dados de uma sessão de espelhamento de banco de dados seja AdventureWorks2025. Este exemplo cria três snapshots do banco de dados na cópia espelhada do banco de dados AdventureWorks, que está localizada na unidade F. Os instantâneos são nomeados AdventureWorks_0600, AdventureWorks_1200e AdventureWorks_1800 para identificar seu horário aproximado de criação.
Crie o primeiro instantâneo do banco 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 do banco de dados no espelho de
AdventureWorks2025. Os usuários que ainda estejam usando oAdventureWorks_0600podem continuar a usá-lo.CREATE DATABASE AdventureWorks_1200 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1200.SNP') AS SNAPSHOT OF AdventureWorks2022A partir deste ponto, novas conexões de clientes podem ser direcionadas programaticamente para o snapshot mais recente.
Crie o terceiro snapshot no espelho
AdventureWorks2025. Os usuários que ainda estejam usando oAdventureWorks_0600ou oAdventureWorks_1200podem continuar a usá-los.CREATE DATABASE AdventureWorks_1800 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1800.SNP') AS SNAPSHOT OF AdventureWorks2022Nesse momento, novas conexões de clientes podem ser direcionadas programaticamente para a captura mais recente.