Banco de dados SQL Server: Criar, Alterar, Excluir e Restaurar

โšก Resumo Inteligente

Os bancos de dados do SQL Server sรฃo contรชineres que armazenam tabelas, exibiรงรตes, procedimentos armazenados e outros objetos. Criar, alterar e excluir objetos sรฃo funรงรตes que podem ser executadas.pingE a restauraรงรฃo de um banco de dados pode ser feita atravรฉs do SQL Server Management Studio ou com instruรงรตes Transact-SQL.

  • ๐Ÿ—„๏ธ Base de dados: Um banco de dados SQL Server armazena tabelas, visualizaรงรตes, procedimentos e funรงรตes em um contรชiner organizado e interligado.
  • ๐Ÿงฉ Sistema vs. Usuรกrio: Os bancos de dados do sistema (master, msdb, model, tempdb, resource) sรฃo instalados automaticamente; os bancos de dados do usuรกrio sรฃo criados por vocรช.
  • ๐Ÿ–ฑ๏ธ Crio: Adicione um banco de dados atravรฉs da caixa de diรกlogo Novo Banco de Dados do Explorador de Objetos ou com a instruรงรฃo CREATE DATABASE.
  • โœ๏ธ Idade: Renomeie um banco de dados ou altere seus arquivos e opรงรตes usando ALTER DATABASE ou o menu Renomear.
  • ๐Ÿ—‘๏ธ Drop: Remova um banco de dados de usuรกrio com DROP DATABASE ou com a opรงรฃo Delete; bancos de dados do sistema nรฃo podem ser excluรญdos.
  • ๐Ÿ’พ Restaurar: Reconstrua um banco de dados a partir de um arquivo de backup .bak usando o comando RESTORE DATABASE.

Criar, alterar, excluir e restaurar bancos de dados SQL Server.

O que รฉ banco de dados?

Um banco de dados รฉ uma coleรงรฃo de objetos, como por exemplo... tabelas, visualizaรงรตes, procedimentos armazenados, gatilhos e funรงรตes. Em SQL ServerUm banco de dados รฉ o ambiente organizado onde todos esses objetos relacionados sรฃo armazenados e interligados.

Considere alguns exemplos da vida real:

  • Uma estante รฉ onde os livros ficam guardados.
  • Um lar รฉ onde vivemos.
  • Um estacionamento รฉ um local onde os veรญculos sรฃo estacionados, e existem inรบmeros exemplos disso.

Da mesma forma, um banco de dados รฉ uma espรฉcie de repositรณrio para todas as nossas tabelas, visualizaรงรตes e procedimentos armazenados. Tecnicamente, um banco de dados armazena dados de maneira bem organizada para facilitar o acesso e a recuperaรงรฃo. No SQL Server, existem dois tipos de bancos de dados:

  • Bancos de dados do sistema: Esses bancos de dados sรฃo criados automaticamente durante a instalaรงรฃo do SQL Server. Eles desempenham um papel crucial no servidor, principalmente para garantir o funcionamento correto dos objetos do banco de dados. Exemplos de bancos de dados de sistema do SQL Server incluem master, msdb, model, tempdb e resource.
  • Bancos de dados de usuรกrios: Esses arquivos sรฃo criados por usuรกrios de banco de dados como vocรช, que receberam permissรฃo para criar bancos de dados.

Regras para criar um banco de dados

Primeiro, vocรช precisa conhecer as regras bรกsicas para criar um novo banco de dados:

  • Os nomes dos bancos de dados devem ser exclusivos em uma instรขncia do SQL Server.
  • Os nomes dos bancos de dados podem ter no mรกximo 128 caracteres.
  • A instruรงรฃo CREATE DATABASE deve ser executada no modo de confirmaรงรฃo automรกtica (auto-commit).

A imagem abaixo descreve as duas abordagens disponรญveis para criar um banco de dados no SQL Server.

Existem duas maneiras de criar um banco de dados SQL Server: Management Studio e Transact-SQL.

Existem duas maneiras de criar um banco de dados no SQL Server:

Como criar banco de dados no SQL Server Management Studio

Aqui estรก um processo passo a passo para criar um banco de dados no SQL Server Management Studio:

Passo 1) Na janela "Explorador de Objetos", clique com o botรฃo direito do mouse em "Banco de Dados" e selecione "Novo Banco de Dados".

O menu de contexto (clique com o botรฃo direito do mouse) com a opรงรฃo Novo Banco de Dados รฉ mostrado abaixo.

No Explorador de Objetos, com a opรงรฃo Novo Banco de Dados selecionada, clique com o botรฃo direito do mouse no nรณ Banco de Dados.

Passo 2) A tela 'Novo Banco de Dados' รฉ exibida. Insira um 'Nome do banco de dados'. A coluna 'Nome Lรณgico' รฉ preenchida automaticamente com:

  • Edu โ€“ Tipo de arquivo: Linhas Dados e Grupo de arquivos: PRIMรRIO
  • Edu_log โ€“ Tipo de arquivo: LOG e Grupo de arquivos: 'Nรฃo aplicรกvel'

A caixa de diรกlogo Novo Banco de Dados, com o nome do banco de dados e seus arquivos lรณgicos, รฉ mostrada abaixo.

Nova caixa de diรกlogo do banco de dados exibindo o nome do banco de dados Edu e os arquivos lรณgicos Edu e Edu_log.

Aqui:

  • A) Edu (Tipo de arquivo: Dados de linhas, Grupo de arquivos: PRIMรRIO) รฉ o arquivo de dados .mdf.
  • B) Edu_log (Tipo de arquivo: LOG, Grupo de arquivos: 'Nรฃo aplicรกvel') รฉ o arquivo de log .ldf.

Passo 3) (Opcional) Para configuraรงรตes mais complexas, vocรช pode navegar atรฉ as pรกginas 'Opรงรตes' e 'Grupos de Arquivos'. Para iniciantes, criar o banco de dados na guia Geral serรก suficiente.

As pรกginas Opรงรตes e Grupos de Arquivos sรฃo mostradas abaixo.

Novas pรกginas de Opรงรตes de Banco de Dados e Grupos de Arquivos para configuraรงรตes avanรงadas.

Passo 4) Clique em 'Adicionar' (o botรฃo OK) para criar o banco de dados.

O botรฃo que confirma a criaรงรฃo estรก destacado abaixo.

Botรฃo OK na caixa de diรกlogo Novo Banco de Dados que cria o banco de dados Edu

Resultado: O banco de dados 'Edu' foi criado. Vocรช pode expandir o banco de dados 'Edu', que conterรก tabelas, visualizaรงรตes e outros elementos. Inicialmente, eles estarรฃo vazios atรฉ que vocรช crie novas tabelas, visualizaรงรตes etc.

O Explorador de Objetos exibe o banco de dados Edu recรฉm-criado com suas pastas em branco.

Veja a consulta de origem: Vocรช pode visualizar a consulta de origem do banco de dados 'Edu' recรฉm-criado. Navegue da seguinte forma: Clique com o botรฃo direito do mouse no nome do banco de dados > Criar banco de dados como > Criar para > Nova janela do editor de consultas.

Criar banco de dados de script como CRIAR no menu de contexto da janela do editor de consultas

Janela de consulta: O script CREATE gerado รฉ aberto em uma nova janela de consulta, conforme mostrado abaixo.

Janela do editor de consultas exibindo o script CREATE DATABASE gerado automaticamente para Edu.

Criar script:

USE [master]
GO

CREATE DATABASE [Edu]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

Crie banco de dados com T-SQL

Outro mรฉtodo รฉ escrever uma consulta T-SQL para criar um banco de dados e, em seguida, executรก-la. Vejamos a consulta T-SQL mais simples para criaรงรฃo de banco de dados.

Sintaxe:

CREATE DATABASE <Database_name>

Inquรฉrito:

CREATE DATABASE [Edu_TSQL_file]

Clique em 'Executar' para executar a consulta, conforme mostrado abaixo.

O botรฃo Executar na barra de ferramentas do SSMS รฉ usado para executar a consulta CREATE DATABASE.

Resultado: Vocรช pode ver o arquivo Edu_TSQL_file criado no Explorador de Objetos SQL.

O Explorador de Objetos lista o banco de dados Edu_TSQL_file criado com Transact-SQL.

Agora, vejamos como criar um banco de dados com arquivos .mdf e .ldf explรญcitos. Aqui, vocรช pode fornecer o local do arquivo como parte explรญcita da consulta.

Sintaxe:

CREATE DATABASE database_name   
[ CONTAINMENT = { NONE | PARTIAL } ]  
[ ON   
      [ PRIMARY ] <filespec> [ ,...n ]   
      [ , <filegroup> [ ,...n ] ]   
      [ LOG ON <filespec> [ ,...n ] ]   
];

Inquรฉrito:

CREATE DATABASE [Edu_TSQL_file]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu_TSQL_file', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_TSQL_file_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

O banco de dados criado com seus dados explรญcitos e arquivos de log aparece no Explorador de Objetos, conforme mostrado abaixo.

O Explorador de Objetos exibe o banco de dados Edu_TSQL_file criado com arquivos .mdf e .ldf explรญcitos.

Como alterar o banco de dados

Assim como na consulta CREATE DATABASE, vocรช tambรฉm pode alterar um banco de dados. ร‰ possรญvel renomear o banco de dados, alterar a localizaรงรฃo ou configuraรงรฃo de um arquivo e muito mais.

Regras bรกsicas para alterar um banco de dados:

  • A instruรงรฃo ALTER DATABASE deve ser executada no modo de confirmaรงรฃo automรกtica (auto-commit).
  • ALTER DATABASE nรฃo รฉ permitido em uma transaรงรฃo explรญcita ou implรญcita.

Existem duas maneiras de alterar um banco de dados no SQL Server:

  • SQL Server Management Studio
  • Transaรงรฃo SQL

Como alterar banco de dados no SQL Server Management Studio

A seguir, apresentamos os passos para alterar um banco de dados no SQL Server Management Studio. Vamos tentar alterar o nome do nosso banco de dados prรฉ-criado 'Edu'. O banco de dados Edu prรฉ-criado รฉ mostrado abaixo no Explorador de Objetos.

Banco de dados Edu prรฉ-criado selecionado na lista de bancos de dados do Explorador de Objetos.

Passo 1) Renomeie o banco de dados. Clique com o botรฃo direito do mouse no nome do banco de dados e clique em 'Renomear'.

No menu de contexto (clique com o botรฃo direito do mouse) do banco de dados Edu, vocรช encontrarรก a opรงรฃo Renomear.

Passo 2) O nome do banco de dados ficarรก editรกvel. Digite o novo nome e pressione Enter.

Campo editรกvel para o nome do banco de dados Edu, pronto para receber um novo nome.

Resultado: O banco de dados foi renomeado de 'Edu' para โ€œEdu_Alterโ€.

O Explorador de Objetos mostra o banco de dados renomeado de Edu para Edu_Alter.

Alterar banco de dados com Transact-SQL

Agora vamos alterar um banco de dados usando T-SQL.

Sintaxe:

ALTER DATABASE <Databse_name>              
MODIFY NAME = <New Name>

Inquรฉrito:

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

Execute a consulta acima clicando em 'Executar'.

Resultado: O banco de dados foi renomeado de 'Edu_TSQL' para โ€œEdu_TSQL_Alterโ€, conforme mostrado abaixo.

O Explorador de Objetos mostra o banco de dados renomeado para Edu_TSQL_Alter apรณs a execuรงรฃo do comando ALTER DATABASE.

Sintaxe geral: A sintaxe completa do comando ALTER DATABASE suporta diversas opรงรตes, incluindo renomeaรงรฃo, ordenaรงรฃo, opรงรตes de arquivo e nรญvel de compatibilidade.

ALTER DATABASE { database_name  | CURRENT }  
{   MODIFY NAME = new_database_name   
  | COLLATE collation_name  
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ] [ WITH <termination> ] 
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 }   
} ;

Observaรงรฃo: Os nรญveis de compatibilidade mostrados acima refletem versรตes mais antigas. As versรตes atuais adicionam os nรญveis 150 (SQL Server 2019), 160 (SQL Server 2022) e 170 (SQL Server 2025), alรฉm de ainda oferecerem suporte a vรกrios nรญveis anteriores.

Alterar o nome do arquivo .mdf/.ldf

Inquรฉrito:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );

O arquivo lรณgico renomeado รฉ refletido nas propriedades do banco de dados, conforme mostrado abaixo.

Propriedades do banco de dados confirmando o arquivo lรณgico renomeado Edu_TSQL_newName

Alterar a localizaรงรฃo do arquivo .mdf/.ldf

Inquรฉrito:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL_NewName, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\New_File\Edu_TSQL_log.ldf' );

O caminho atualizado do arquivo para o banco de dados รฉ mostrado abaixo.

Pรกgina do arquivo de banco de dados mostrando a nova localizaรงรฃo do arquivo de log .ldf

Excluir banco de dados

Existem duas maneiras de excluir (remover) um banco de dados no SQL Server:

  • SQL Server Management Studio
  • Transaรงรฃo SQL

Como descartar banco de dados no SQL Server Management Studio

A seguir, apresentamos o processo para excluir um banco de dados no SQL Server Management Studio. Vamos tentar excluir o banco de dados prรฉ-criado 'Edu_Alter'.

Passo 1) Clique com o botรฃo direito do mouse no banco de dados, clique em 'Excluir' e, em seguida, clique em 'OK'.

Caixa de diรกlogo Excluir objeto para soltarping o banco de dados Edu_Alter no SSMS

Resultado: 'Edu_Alter' foi removido da lista do banco de dados 'Object Explorer'.

Lista de bancos de dados do Object Explorer apรณs a exclusรฃo do banco de dados Edu_Alter

Excluir banco de dados usando Transact-SQL

Vamos tentar excluir nosso banco de dados prรฉ-criado 'Edu_TSQL_Alter'.

Sintaxe:

DROP DATABASE <Databse_name>

Inquรฉrito:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

Execute a consulta acima clicando em 'Executar'.

Resultado: 'Edu_TSQL_Alter' foi excluรญdo da lista de bancos de dados do 'Explorador de Objetos', conforme mostrado abaixo.

Lista de bancos de dados do Object Explorer apรณs a exclusรฃo do banco de dados Edu_TSQL_Alter com T-SQL

Restaurar banco de dados no SQL Server

Vocรช pode criar um banco de dados restaurando um banco de dados que vocรช havia feito backup anteriormente. Isso pode ser feito executando o comando RESTORE DATABASE, que tem a seguinte sintaxe:

restore Database <database name> from disk = '<Backup file location + filename>

A consulta deve ser executada dentro da janela de consulta, assim como os comandos anteriores. Por exemplo:

restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'

Vocรช tambรฉm pode usar a navegaรงรฃo da interface grรกfica: Clique com o botรฃo direito do mouse em Banco de Dados > Restaurar Banco de Dados > Dispositivo > importe o arquivo de backup > clique em OK.

Perguntas Frequentes

A criaรงรฃo de um banco de dados requer as permissรตes CREATE DATABASE, CREATE ANY DATABASE ou ALTER ANY DATABASE no banco de dados master. ร‰ necessรกrio ser membro da funรงรฃo de servidor sysadmin ou dbcreator, ou possuir as permissรตes adequadas. entrar, pode executar a declaraรงรฃo.

Uma รบnica instรขncia do SQL Server pode suportar atรฉ 32,767 bancos de dados. Esse nรบmero representa um limite arquitetรดnico rรญgido; na prรกtica, a sobrecarga de memรณria, armazenamento e administraรงรฃo torna nรบmeros muito menores recomendรกveis โ€‹โ€‹para um bom desempenho.

Nรฃo. Bancos de dados do sistema, como master, model, msdb, tempdb e resource, sรฃo necessรกrios para o mecanismo e nรฃo podem ser excluรญdos. Somente os bancos de dados de usuรกrio que vocรช cria podem ser excluรญdos com o comando DROP DATABASE ou com a opรงรฃo Delete.

O parรขmetro SIZE define o tamanho inicial do arquivo, o parรขmetro MAXSIZE define o tamanho mรกximo que o arquivo pode atingir e o parรขmetro FILEGROWTH define quanto espaรงo รฉ adicionado a cada expansรฃo do arquivo. Esses parรขmetros se aplicam tanto aos arquivos de dados quanto aos arquivos de log.

O parรขmetro COMPATIBILITY_LEVEL controla o comportamento de processamento de consultas que um banco de dados utiliza. Os valores atuais incluem 140 (SQL Server 2017), 150 (2019), 160 (2022) e 170 (2025). O comando ALTER DATABASE SET COMPATIBILITY_LEVEL altera esse parรขmetro sem a necessidade de migrar o banco de dados para um novo servidor.

O comando DROP DATABASE exclui permanentemente o banco de dados e seus arquivos .mdf e .ldf. Para desativar um banco de dados (OFF), o comando DESLIGADO (OFF)LINE Isso apenas interrompe o acesso, mas mantรฉm os arquivos no disco, para que vocรช possa restaurรก-lo posteriormente sem precisar fazer uma restauraรงรฃo.

Sim. Travas deslizantes portรกteis Copiloto do GitHub Vocรช pode criar instruรงรตes CREATE DATABASE, ALTER DATABASE e DROP DATABASE a partir de prompts em linguagem natural no SSMS ou no seu editor. Sempre revise os caminhos, tamanhos e opรงรตes dos arquivos gerados antes de executรก-los em um servidor real.

A inteligรชncia artificial e o aprendizado de mรกquina auxiliam no provisionamento, recomendando tamanhos de arquivo e configuraรงรตes de crescimento, prevendo capacidade, detectando desvios de configuraรงรฃo e sinalizando operaรงรตes DROP ou ALTER de risco. Eles dรฃo suporte ao administrador de banco de dados, em vez de substituir uma anรกlise cuidadosa.

Resuma esta postagem com: