
Download SQL Server 2022, Windows Server 2025 and Virtual Box
Configuration VM to Windows Server
Instalação do Windows Server 2025 e confirmações iniciais.
- Crianção de snapshot
- Configuração insert guest additional
- Habilitado RDP remote desktop
- Início configuração compartilhamento de arquivos
- Finish shared file configuration in Windows Server
- Create Users in Windows Server
Adicionando discos na VM.
Adicionando discos DATA: Data1, Data2, Data3. Para RAID.
Configurando discos para TEMPDB e LOG para o SQL Server.
Configuration Instance name SQL Server.
- Configuração do service SQL.
- Collection.
- Database engine configuration.
Install SSMS (SQL Server Management Studio)
Windows Servers, History System Operacional and timeline Computer.
Saiba como criar e gerenciar o SQL Server Database na versão 2022
Não apenas o curso demonstrará os conceitos para você, você também ganhará experiência prática na implementação dos mesmos.
Instalação SQL Server Database 2022 (Dallas) Developer and Enterprise Edition
Configurações Gerais:
Usado Developer and Enterprise Edition
Utilizado Sistema Operacional Windows Server 2025
Utilizado Máquina Virtual Oracle VM VirtualBox Versão 7.1
Versão do Banco de Dados: 2022 (Dallas)
Configurações do Banco de Dados:
Utilizado Single Instância
Utilizado RAID Windows Server
Utilizado Melhores Praticas com (DATA, LOG, TEMPDB)
Utilizado Discos para Backup
Utilizado Feature Database Engine
Utilizado Mudança de SA Sysadmin,
Utilizado Mudança de Porta padrão 1433
Configurações do Windows Server/VM:
Utilizado disco 1 de tamanho 100G para Sistema Operacional
Utilizado disco 2 de tamanho 200G para DATA para (.mdf)
Utilizado disco 3,4,5 de tamanho 250G para LOG para LOG files
Utilizado disco 6,7,8 de tamanho 250G para TEMPDB para TempDB
Utilizado disco 9,10,11 de tamanho 250G para Backup para (.bak)
History
Why History?
Microsoft History
OS Operating System History and Date
Computer History
What is Database?
Relational Database history date and SQL language date and history
SQL SERVER HISTORY
SQL SERVER VERSIONS FEATURES
Arquitetura
Importância SQL Server Architecture & Produtos e Soluções Database
Principais componentes SQL Server Architecture - Instância, Banco de Dados, Memória, Processo de Backgroud\Threads
Arquitetura de Memória:
Buffer Pool: Área de memória usada pelo SQL Server para armazenar dados e índices em cache.
Memory Grant: Quantidade de memória reservada para consultas, especialmente para operações como joins e agregações.
Memory Utilization: Uso total de memória no servidor, indicando a quantidade de memória alocada e usada pelas instâncias do SQL Server.
SQL Server Max Memory: Configuração que define o limite máximo de memória que o SQL Server pode usar.
Min Memory Per Query: Define a quantidade mínima de memória que uma consulta pode usar durante sua execução.
Memory Pressure: Quando o SQL Server sente a falta de memória e começa a liberar recursos ou trocar dados para o disco.
Page Life Expectancy (PLE): Métrica de desempenho que indica por quanto tempo as páginas de dados permanecem na memória cache.
Lazy Writer: Processo que gerencia o cache de páginas de dados, garantindo que as páginas menos utilizadas sejam gravadas no disco.
Lock Pages in Memory (LPIM): Configuração do Windows que impede que o SQL Server seja trocado para o disco, garantindo que as páginas de memória permaneçam na RAM.
Query Plan Cache: Armazenamento de planos de execução de consultas em memória para reutilização e otimização de desempenho.
Buffer Cache Hit Ratio: Proporção de solicitações de leitura que são atendidas pela memória, em vez de ler diretamente do disco.
Dynamic Memory Management: Processo que ajusta dinamicamente a alocação de memória no SQL Server com base nas necessidades de carga de trabalho.
SQL Server Memory Model: Arquitetura que descreve como o SQL Server gerencia e aloca memória entre diferentes componentes.
TempDB Memory Usage: Memória alocada para o banco de dados temporário (TempDB), frequentemente usado em operações como ordenações e tabelas temporárias.
Cache de Procedimentos Armazenados: Memória utilizada para armazenar planos de execução de stored procedures.
SQL Server Memory Configuration: Definições de configuração de memória, incluindo o mínimo e o máximo de memória alocada.
Arquitetura SQL Server- Processos em segundo plano / Threads.
SQL Server Agent: Serviço que executa tarefas de automação em segundo plano, como jobs, alertas e operações agendadas.
Worker Threads: Threads que executam consultas e outras operações no SQL Server. Cada consulta ou processo paralelo usa uma ou mais worker threads.
Scheduler: Componente responsável por gerenciar e distribuir worker threads no SQL Server, controlando a execução de tarefas.
SQL Server Background Processes: Processos que são executados em segundo plano, como o Lazy Writer, Checkpoint, Database Writer, entre outros.
Lazy Writer: Processo em background que gerencia a memória cache e grava páginas de dados no disco quando a memória está em pressão.
Checkpoints: Processos que escrevem as alterações no log transacional para o disco, garantindo a persistência dos dados no banco.
TempDB Threads: Threads que gerenciam operações do banco de dados temporário (TempDB), como classificações, tabelas temporárias e tabelas de hash.
I/O Subsystem Threads: Threads responsáveis pela leitura e gravação de dados no disco, gerenciando operações de entrada e saída (I/O).
Resource Governor: Componente que permite gerenciar a quantidade de recursos de CPU e memória alocados para diferentes grupos de usuários ou processos.
SQL Server Profiler: Ferramenta para monitoramento de eventos em SQL Server, que pode ser usada para rastrear processos e threads.
Spid (Session Process ID): Identificador de um processo ou thread de sessão no SQL Server. Cada sessão de usuário ou processo interno é associada a um SPID único.
Background Jobs: Tarefas automáticas ou agendadas que são executadas em segundo plano no SQL Server, como backups, manutenção e coleta de estatísticas.
Threads de Execução: Cada thread representa uma unidade de execução no SQL Server, podendo ser associada a uma tarefa específica como uma consulta, uma transação ou operação de manutenção.
SQL Server Parallelism: Processo em que múltiplas threads são usadas para executar uma consulta em paralelo, dividindo o trabalho entre os núcleos de CPU disponíveis.
Blocked Threads: Threads que estão aguardando recursos ou esperando que outro processo libere algum bloqueio, o que pode afetar o desempenho.
DBCC (Database Console Commands): Conjunto de comandos usados para executar operações de manutenção e diagnóstico no SQL Server, muitos dos quais podem ser executados em segundo plano.
SQL Server Service: O serviço principal que executa o SQL Server, responsável por lançar processos de fundo e fornecer funcionalidade geral.
Deadlock: Situação em que dois ou mais processos (threads) estão esperando um pelo outro, criando um bloqueio mútuo. O SQL Server detecta e resolve deadlocks automaticamente.
Thread Pool: Conjunto de threads no SQL Server que são reutilizadas para executar diferentes tarefas sem precisar criar novas threads constantemente.
Wait Types: Tipos de espera que podem ocorrer em processos e threads, indicando o que está impedindo o progresso de um thread (ex.: espera por I/O, espera por locks).
Arquitetura em Storage Engine:
Storage Engine: Componente responsável pela gestão e armazenamento de dados no SQL Server. Ele lida com a organização de dados em discos e otimiza operações de leitura e escrita.
Data Pages: Unidades básicas de armazenamento no SQL Server, com tamanho fixo de 8 KB. Cada página contém dados de tabelas ou índices.
Extent: Conjunto de 8 páginas de dados (64 KB) usadas para armazenar dados de tabelas. Existem extents de tipo uniforme e misto.
Filegroup: Estrutura que agrupa arquivos de dados (data files) no SQL Server. Pode ser usado para organizar dados e melhorar o desempenho do armazenamento.
Data File: Arquivo físico onde os dados de um banco de dados são armazenados. Extensões típicas: .mdf (arquivo primário) e .ndf (arquivo de dados secundário).
Transaction Log: Arquivo de log que registra todas as transações e modificações no banco de dados, garantindo a durabilidade e a integridade dos dados.
Log Buffer: Área de memória usada pelo SQL Server para armazenar temporariamente transações antes de gravá-las no arquivo de log.
Checkpoint: Processo que grava as modificações feitas nas páginas de dados e no log transacional para o disco, garantindo que as transações sejam persistidas.
Buffer Pool: Área de memória usada pelo SQL Server para armazenar em cache páginas de dados e índices para melhorar a performance das leituras.
Transaction Log File (LDF): Arquivo que armazena todas as transações realizadas no banco de dados. Ele é essencial para recuperação de falhas e consistência do banco.
In-Memory OLTP (Hekaton): Tecnologia que usa memória volátil para armazenar tabelas e índices inteiros, oferecendo desempenho significativamente superior para operações transacionais.
Table: Estrutura de armazenamento onde os dados são organizados em linhas e colunas. Tabelas podem ser do tipo heap ou clustered index.
Heap: Tipo de tabela que não tem índice clusterizado, onde as linhas são armazenadas de forma não ordenada no armazenamento.
Clustered Index: Índice onde as linhas de dados são fisicamente ordenadas no disco com base na chave do índice. Apenas uma tabela pode ter um índice clusterizado.
Non-clustered Index: Índice que cria uma estrutura separada para permitir buscas rápidas, mas as linhas de dados não são ordenadas fisicamente com base no índice.
Partitioning: Técnica de dividir grandes tabelas ou índices em partes menores, chamadas de partições, para melhorar a administração e o desempenho de grandes volumes de dados.
FileStream: Tecnologia que permite armazenar dados binários (como arquivos de imagem, vídeo ou áudio) diretamente no sistema de arquivos em vez de dentro do banco de dados.
Data Compression: Técnica que reduz o tamanho dos dados armazenados em tabelas e índices, economizando espaço em disco e melhorando a I/O.
Sparse Columns: Tipo de coluna otimizada para armazenar dados ausentes, economizando espaço quando a maioria dos valores de uma coluna são nulos.
Full-Text Index: Índice que permite realizar buscas por palavras-chave em textos longos, como documentos ou campos de texto, além das pesquisas convencionais por valores exatos.
Row-Level Compression: Técnica que permite a compactação dos dados linha por linha, ajudando a reduzir o espaço ocupado por dados no disco.
Columnstore Index: Tipo de índice projetado para consultas analíticas, armazenando dados em formato coluna, em vez de linha, proporcionando uma maior taxa de compressão e desempenho de leitura.
DBCC (Database Console Commands): Comandos usados para gerenciar e diagnosticar problemas relacionados ao armazenamento e à integridade do banco de dados.
Data Integrity: Garantia de que os dados armazenados estão corretos e consistentes, protegendo contra corrupção e falhas de armazenamento.
TempDB: Banco de dados temporário usado pelo SQL Server para armazenar objetos temporários como tabelas temporárias, variáveis de tabela e resultados intermediários de consultas.
Shrink Database: Operação que reduz o tamanho físico do banco de dados, liberando espaço no disco. Deve ser usada com cautela, pois pode afetar o desempenho.
Descrever as tecnologias SQL Server envolvidas em atividades de backup e recuperação
Full Backup: Backup completo de todos os dados de um banco de dados, incluindo todos os objetos, registros e transações.
Differential Backup: Backup que inclui apenas as alterações feitas após o último backup completo.
Transaction Log Backup: Backup das transações realizadas no banco de dados, permitindo restaurar até um ponto específico no tempo.
Backup Types: Tipos de backups oferecidos pelo SQL Server, como full, differential, transaction log, e outros especializados.
Backup Chain: Cadeia de backups, incluindo backups completos, diferenciais e de log, necessária para uma recuperação completa.
Tail-Log Backup: Backup especial do log de transações feito antes de um restauração para garantir a consistência do banco de dados.
Backup Compression: Técnica para reduzir o tamanho do arquivo de backup, economizando espaço em disco e tempo de armazenamento.
Backup Verification: Processo de verificar a integridade e a restaurabilidade dos arquivos de backup.
Backup Strategy: Estratégia definida para garantir que os dados sejam protegidos e possam ser restaurados conforme necessário (ex.: frequência de backups, tipos usados, etc.).
SQL Server Backup Encryption: Técnica para criptografar backups, garantindo segurança no armazenamento de dados sensíveis.
Backup Destination: Local onde os backups são armazenados, podendo ser disco, fita, ou até nuvem.
Backup Job: Tarefa agendada de backup automatizada através do SQL Server Agent.
Restore: Processo de recuperação de dados a partir de um backup, permitindo restaurar o banco de dados a um estado anterior.
Point-in-Time Recovery: Recuperação do banco de dados até um ponto específico no tempo, normalmente utilizando backups de log.
Mirror Backup: Backup duplicado de um banco de dados, criado simultaneamente para aumentar a segurança.
Backup to URL: Backup diretamente para um local na nuvem (ex.: Azure Blob Storage).
Backup File Extension (.bak): Extensão padrão para arquivos de backup completos do SQL Server.
Backup Set: Conjunto de backups criados em uma sequência lógica, essencial para a restauração.
Filegroup Backup: Backup de filegroups específicos dentro de um banco de dados, útil para bancos de dados grandes e particionados.
Log Shipping: Técnica que usa backups de log para enviar cópias de um banco de dados para um servidor de recuperação.
Database Snapshot: Criar uma cópia de leitura de um banco de dados em um ponto no tempo para recuperação ou consulta.
Tópicos Importantes sobre Backup no SQL Server:
Tipos de Backup:
Full Backup: Cópia total de um banco de dados. Inclui todas as páginas de dados.
Differential Backup: Inclui todas as mudanças feitas desde o último Full Backup.
Transaction Log Backup: Registra todas as transações realizadas após o último backup de log.
File and Filegroup Backup: Backup de arquivos específicos dentro do banco de dados, útil para bancos de dados grandes ou particionados.
Copy-Only Backup: Backup completo que não interfere na sequência de backup, utilizado principalmente para fins de cópia de segurança sem afetar a cadeia de backups.
Estratégias de Backup:
Backup Completo (Full): Realizado periodicamente, normalmente em horários de baixa utilização, garantindo a cópia completa de todos os dados.
Backup Diferencial: Feito entre os backups completos, economizando tempo e espaço, pois copia apenas as mudanças.
Backup de Log de Transações: Frequentemente agendado para garantir a continuidade dos dados e permitir a recuperação até um ponto específico no tempo.
RPO e RTO: RPO (Recovery Point Objective) define a quantidade máxima de dados que podem ser perdidos, enquanto RTO (Recovery Time Objective) define o tempo máximo necessário para a recuperação.
Considerações de Desempenho:
Impacto de Backup no Desempenho: O processo de backup pode consumir recursos de CPU e I/O, especialmente em backups grandes ou de alta frequência.
Backup em Nuvem: Backup de bancos de dados diretamente para a nuvem, como o Azure Blob Storage, para garantir segurança e acesso remoto.
Automação de Backup:
SQL Server Agent: Usado para agendar backups automáticos de acordo com a estratégia definida.
T-SQL para Backup: Comandos BACKUP DATABASE e BACKUP LOG podem ser usados em scripts para automatizar os backups.
Restaurando Backups:
Restaurar Banco de Dados: O comando RESTORE DATABASE é utilizado para restaurar backups completos.
Restaurar com Log de Transações: Utilizado para restaurar backups de log e garantir a recuperação até um ponto no tempo.
Restaurar para um Ponto no Tempo: Usando o backup de log de transações e restaurando com o comando RESTORE LOG.
Proteção e Segurança de Backup:
Backup Criptografado: Protege os backups usando criptografia, garantindo segurança em ambientes de armazenamento sensíveis.
Gerenciamento de Chaves de Criptografia: Utilização de chaves para garantir que os backups criptografados possam ser restaurados.
Armazenamento de Backup:
Local de Armazenamento: Escolher entre armazenamento em disco, fita ou nuvem, dependendo dos requisitos de backup e recuperação.
Verificação de Integridade de Backup: Verificar a integridade e a capacidade de restaurar dados a partir de um backup.
Backup Incremental e Diferencial:
Backup Diferencial: Inclui todas as mudanças feitas desde o último Full Backup.
Backup Incremental (não nativo no SQL Server): Embora o SQL Server não tenha suporte nativo para backups incrementais, o conceito pode ser implementado com differential backups combinados com log backups.
Gerenciamento e Monitoramento de Backups:
SQL Server Management Studio (SSMS): Usado para realizar e monitorar backups e restaurações.
Backup Reports: Relatórios que podem ser gerados para monitorar o status dos backups, incluindo falhas e sucesso.
Testando Backups:
Restore Verification: Testar regularmente os backups, verificando se podem ser restaurados com sucesso em um ambiente de teste.
Implemente opções de backup: compactação, criptografia, multi seção, backups duplex e backups de arquivamento
Execute todos os cenários de recuperação comuns:
Perda de arquivos críticos do banco de dados
Perda de dados do aplicativo
Perda de arquivos não críticos do banco de dados
Compreender as melhores práticas no desenvolvimento de planos de backup e recuperação
Conteúdo e visão geral
As informações apresentadas neste curso prepararão os Administradores de Banco de Dados SQL Server para a próxima geração do banco de dados SQL Server. Ao longo deste curso de 90 aulas e mais de 10 horas de sessões baseadas em vídeo, você aprenderá tudo sobre a instalação e Backup do SQL Server Database no ambiente Windows Server. Após cada aula de conceitos, você implementará um exercício prático prático. Para orientá-lo na implementação das práticas, as aulas práticas são reforçadas por projeções baseadas em vídeo e os documentos do guia para download.
Esta é uma oportunidade para os alunos ganharem experiência prática nesta nova tecnologia de ponta da Oracle e se prepararem para gerenciar bancos de dados SQL Server na nuvem e local.
Ao concluir este curso, você será capaz de instalar, configurar e criar um banco de dados SQL Server e terá o conhecimento e a experiência para gerenciá-lo, realizando Backup e Recovery.
Junte-se ao autor jornada de aprendizado para experimentar essa tecnologia incrível!