Como Instalar o SQL Server 2025

Imagem
O SQL Server é um dos bancos de dados mais utilizados em todo o mundo - principalmente em ambientes bancários, organizações governamentais de segurança e, em instituições de médio e grande porte. A ideia inicial desse guia, é trazer um pouco do boas práticas durante o processo de instalação do SQL Server.     Para iniciar o processo de instalação é necessário obter o wizard de instalação pela central de download. Acesse a central de download Microsoft, utilizando um dos links a seguir: Central de Downloads SQL Server 2025   Microsoft SQL Server 2025 Realize o download versão em inglês, caso não consiga realizar o download em inglês, poderá selecionar essa opção no momento da instalação. Uma vez, realizado o download, clique sobre ele e escolha uma das três opções na imagem a seguir, dê preferências as opções Custom ou Download Media .   Selecione a opção Custom e, em seguida clique em install , ele vai salvar o Wizard de instalação e todos os pacotes dentro de u...

PERFORMING BACKUP OF AN ON-PREMISSES SQLSERVER IN AZURE STORAGE ACCOUNT USING THE OLA HALLEGREEN BACKUP ROUTINE

 

Diagrama de arquitetura mostrando backup do SQL Server On-Premises enviando arquivos MDF e LDF para um Blob Storage na Azure.

Nesse artigo, resolvi trazer um pouco da melhor rotina de manutenção de bases de dados SQL Server, existente atualmente, sendo utilizada inclusive por grandes corporações, me refiro à rotina Maintenance Solution, criada pelo Ola Hallengren. A rotina em questão é um verdadeiro “Canivete Suíço”, pode ser utilizada para otimização de índices e estatísticas, checagem de integridade de bases de dados, e backup database.

Para esse exemplo estou utilizando a base de dados StackOverflow2010 com aproximadamente 11Gbs, essa base é uma versão publica de código aberto do Stack Overflow Data Export, é possível realizar o download dessa database, facilmente através do link StackOverflow2010 no site do Brent Ozar, para realizar testes na sua máquina.




Na primeira etapa eu criei uma Storage Account no Azure, um container, e 3 diretórios de blob, para armazenar os backups, seguindo a hierarquia de nomes para cada tipo de backup, como pode ser observado na imagem abaixo, posteriormente no SQLServer crie uma Credential Shared Access Signature(SAS), e salvei a chave no Key Vault no Azure.




O download da rotina pode ser realizado através do link Maintenance Solution. Nesse exemplo vou explicar um pouco dos parâmetros que vou utilizar para realizar o backup, para que fique de fácil compreensão a todos. Um ponto importante que não citei antes é que alguns parâmetros da rotina de manutenção podem exigir que você faço o download das tabelas QueueDatabase.sql e Queue.sql esses scripts podem ser baixados separadamente através do link do Githubolahallengren.

Se o download for realizado através do link do Github, você pode baixar todos os scripts que criam os objetos dependentes da Rotina MaintenanceSolution, como mostra a imagem abaixo, porém você pode executar somente o script em destaque com a seta vermelha que ele irá criar toda a estrutura necessária e depois executar os scripts das tabelas Queue e  QueueDatabase.




Realizado o passo acima, se você deixar por default ele cria tudo na base master, como recomendação, e boas práticas, eu gosto de mudar e colocar para criar dentro de uma base de dados de monitoramento que nós DBAs utilizamos, nesse Lab de testes, criei uma base chamada Monitoring que utilizo para criar rotinas de monitoramento!

A estrutura gerada pelos scripts do Ola, será igual a estrutura abaixo, eu gosto de renomear os Jobs colocar a sigla DBA – "nomejob", para eu saber identificar meus Jobs caso estejam em produção, e por uma questão de organização, nesse Lab, vou seguir com o nome criado por default:


Estrutura de Jobs criada:



Estrutura de tabelas e Procedures criadas:



No caso dos Jobs quando vou implantar em cliente, deixo somente os Jobs que vou precisar usar, os demais eu deleto, depois posso criar os mesmos manualmente, de acordo com a necessidade do cliente, isso me ajuda a manter a organização no ambiente do cliente.


Parâmetros utilizados nesse Laboratório:

EXECUTE dbo.DatabaseBackup

@Databases =  'USER_DATABASES',   => Deixando por default USER_DATABASES, será feito o backup de todos os bancos de dados de usuário.

@URL = 'https://myaccount.blob.core.windows.net/mycontainer',  => Onde vou passar a URL do meu container de blobs no Azure.

@BackupType =  'FULL',  => Tipo de backup que será realizado.

@Compress =  'Y',  => Passo o parâmetro Y para que o backup seja realizado com compressão, N para não comprimir, por default o parâmetro é NULL seguindo os padrões da DMV sys.configurations. 

@Verify =  'Y',   => Baseado no parâmetro VERIFYONLY, verifica se o backup pode ser lido, porém sem restaurar o mesmo.

@CleanupMode =  AFTER_BACKUP,   => Especifica se quero excluir os arquivos antigos de backup, depois da execução do backup, nesse caso se backup falhar o arquivo antigo não será excluído, BEFORE_BACKUP, exclui os arquivos de backup antigos antes que o backup seja executado.

@DatabasesInParallel =  'Y',  => Significa que posso realizar o processo em mais de uma base de dados em paralelo com os mesmos parâmetros.

@LogToTable =   'Y',  => Registra os comandos na tabela commandlog criada pela rotina do Ola Hallegren.

@CheckSum =  'Y',  => Verifica as páginas de backup, certificando que não houve danos durante o processo de leitura e gravação. 

@NumberOfFiles = 1,  => Seta o número de arquivos de backups que serão criados, sendo limitados a até 64 arquivos.

@DirectoryStructure = NULL,  => Cria uma estrutura de diretórios baseada nos parâmetros a seguir, vou para NULL para que não seja criada a estrutura.

Default directory structure: {ServerName}${InstanceName}{DirectorySeparator}{DatabaseName}{DirectorySeparator}{BackupType}_{Partial}_{CopyOnly}

@FileName => Estrutura de nome do arquivo de backup, vou deixar a estrutura abaixo:

{DatabaseName}_{Year}{Month}{Day}_{Hour}{Minute}.{FileExtension}'

Default file name: {ServerName}${InstanceName}_{DatabaseName}_{BackupType}_{Partial}_{CopyOnly}_{Year}{Month}{Day}_{Hour}{Minute}{Second}_{FileNumber}.{FileExtension}


A rotina de backups para esse laboratório ficará, conforme apresentado na imagem abaixo:




Outro detalhe interessante é a utilização do parâmetro @Execute = 'N', se eu tirar o comentário do parâmetro e executar o script, ele não executará de fato, fará somente uma simulação do que ocorrerá se o processo for executado, com isso podemos realizar testes e corrigir possíveis erros, caso venham a ocorrer!
Tem alguns outros parâmetros que utilizo a depender da necessidade de cada ambiente de banco de dados, como por exemplo: @MaxDop, TimeLimit, LockTimeout, LockMessageSeverity.

Para automatizar a execução do Script, vou colocar ele no Job que foi criado automaticamente pela rotina do Ola Hallengren, caso necessite pode criar um job manualmente, passando os parâmetros que deseja e apontando para a base de dados onde a rotina foi implementada, como mostra a imagem abaixo:







Podemos notar que como utilizei o parâmetro AFTER_BACKUP, ele está realizando o novo backup para depois excluir o antigo, nesse caso ele só será substituído se tiver com o mesmo nome no arquivo, ou se utilizar parâmetros como @INIT:




Finalizada a execução a saída que o script irá gerar, será semelhante a essa, esses comandos ficam gravados nos Logs, e pode ser configurado o job CommandLog Cleanup, que por padrão realiza a limpeza dos Logs em D-30!



Podemos notar que agora que o processo de backup terminou temos o nosso backup realizado no no container de blobs do Azure.





Esse foi um breve artigo de como realizar backup de uma base de dados On-Premisses, no Azure Storage Account, poderia ter entrado mais afundo e explorado mais a rotina e os detalhes, mais o artigo ficaria imenso, dúvidas, opiniões, comentários, são muito bem vindos!

Obrigado a todos!


Referências:

SQL Server backup to URL for Microsoft Azure Blob Storage

MaintenanceSolution Ola Hallegren

StackOverflowDatabase







Comentários