SQL Server Review and Drop Drow Database Snapshot

SQL Server Review and Drop Drow Database Snapshot

No servidor SQL, um instantâneo de banco de dados é uma visão estática somente leitura de um determinado banco de dados (banco de dados de origem). Um instantâneo captura o estado atual do banco de dados no momento da captura de instantâneo. Isso significa que um instantâneo de banco de dados é transacionalmente consistente.

O instantâneo do banco de dados está localizado na mesma instância que o banco de dados de origem. Embora os instantâneos forneçam uma exibição somente leitura nos dados do banco de dados de destino, eles são dependentes da fonte. Isso significa que o tamanho pode crescer à medida que as alterações são aplicadas ao banco de dados de origem. Da mesma forma, o instantâneo também fica corrompido se o banco de dados de origem estiver corrompido.

Portanto, é importante ter em mente que os instantâneos de banco de dados não servem como backups contra erros como falha de disco ou corrupção do banco de dados.

Certifique -se de receber backups completos ou parciais para o seu banco de dados para proteger contra tais falhas.

Vamos discutir como podemos tirar um instantâneo de banco de dados no servidor SQL.

Banco de dados de amostra e tabela

Antes de discutir como tirar um instantâneo de um banco de dados, vamos configurar um banco de dados de amostra para fins de ilustração.

As consultas são conforme fornecido no seguinte:

Soltar banco de dados se existir inventário;
Criar inventário de banco de dados;
Use inventário;
Soltar a tabela se existir produtos;
Crie produtos de tabela
(
Id int identidade chave primária não nula,
Product_name Varchar (100),
Fabricante Varchar (50),
quantidade não nula,
Preço int padrão 0,
In_stock Bit
);
Insira em produtos (Product_name, Fabricante, Quantidade, Preço, In_stock)
Valores ('Apple iPad Air - 2022', 'Apple', 100, 569.99, 1),
('Samsung Galaxy Z Flip 4 - 2022', 'Samsung', 302, 1569.00, 1),
('Sony PlayStation 5 - 2020', 'Sony', 500, 499.99, 1),
('Samsung Galaxy Watch -5 Pro - 2022', 'Samsung', 600, 209 / .99, 1),
('Apple Watch Series 6 - 2022', 'Apple', 459, 379.90, 1),
('Apple AirPods Pro - 2022', 'Apple', 200, 199.99, 1),
('55 "Classe S95B OLED 4K Smart TV - 2021 ',' Samsung ', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini LED Curved Gaming Screen - 2021', 'Samsung', 50, 2999.90, 1);

SQL Server Take Database Snapshot

Para tirar um instantâneo de um determinado banco de dados, usamos a consulta de banco de dados CREATE seguida pela cláusula AS Snapshot.

A sintaxe é a seguinte:

Crie banco de dados de banco de dados_snapshot_name
SOBRE
(Nome = logic_file_name, filename = 'os_file_name') [,… n]
Como instantâneo de fonte_database_name;

Por exemplo, para tirar um instantâneo do banco de dados de "inventário" que criamos anteriormente, podemos executar a seguinte consulta:

Crie Inventário de Database Inventory_snap
(nome = inventário,
FileName = 'C: \ Arquivos de Programas \ Microsoft SQL Server \ MSSQL15.MSSQLSERVER \ MSSQL \ Backup \ Inventário.ss ')
como instantâneo do inventário;

SQL Server View Database Snapshot - SSMS

Você pode visualizar o instantâneo do banco de dados no SQL Server Management Studio, navegando para os bancos de dados - instantâneos de banco de dados.

SQL Server View Database Snapshot - Transact -SQL

Para visualizar o instantâneo do banco de dados usando a consulta Transact-SQL, execute o seguinte:

Selecione Nome, Database_id, Source_database_id do SYS.bancos de dados;

Isso deve retornar os bancos de dados no servidor. A coluna fonte_database_id mostra o banco de dados de origem para um determinado instantâneo.

Um exemplo é o seguinte:

Conforme mostrado na tabela anterior, o banco de dados Inventory_SNAP aponta para o banco de dados de inventário como fonte.

SQL Server Drop Drow Database Snapshot - Transact -SQL

Para remover um instantâneo de banco de dados, você pode usar a consulta como mostrado no seguinte:

Soltar o banco de dados do banco de dados_snapshot_name;

Exemplo:

Soltar inventário de banco de dados_snap;

Lembre -se de que o comando Drop Database encerra todas as conexões que estão usando o banco de dados Inventory_SNAP.

Conclusão

Nesta postagem, você aprendeu a trabalhar com os instantâneos de banco de dados no servidor SQL, incluindo a criação de novos instantâneos de banco de dados, visualizando os instantâneos do banco de dados e removendo os instantâneos do servidor.

Obrigado pela leitura!