Embora você certamente possa renomear um banco de dados SQL Server na GUI do SSMS, clicando com o botão direito do mouse no nome do banco de dados e selecionando Renomear , às vezes você pode preferir (ou precisar) fazer isso usando o Transact-SQL.
A maneira mais básica de renomear um banco de dados usando T-SQL é assim:
-- Change to the master database USE master; -- Change the database name ALTER DATABASE Films Modify Name = Movies; GO
O único problema com este script básico é que ele não altera o nome dos arquivos de dados e arquivos de log. Na maioria dos casos, você provavelmente desejará alterar os nomes desses arquivos para corresponder ao novo nome. Nesse caso, você pode pegar o seguinte script e substituir o nome do banco de dados pelo seu próprio (assim como seus nomes de arquivo e caminhos):
-- Change to the master database USE master; -- Change the database name ALTER DATABASE Films Modify Name = Movies; GO -- Change the logical name of the data file ALTER DATABASE Movies MODIFY FILE ( NAME = 'Films', NEWNAME = 'Movies' ); -- Change the logical name of the log file ALTER DATABASE Movies MODIFY FILE ( NAME = 'Films_log', NEWNAME = 'Movies_log' ); -- Change the physical name of the data file ALTER DATABASE Movies MODIFY FILE ( NAME = 'Movies', FILENAME = 'D:\mssql\data\Movies.mdf' ); -- Change the physical name of the log file ALTER DATABASE Movies MODIFY FILE ( NAME = 'Movies_log', FILENAME = 'D:\mssql\data\Movies_log.ldf' ); -- Check it (View the list of database files and their locations) USE master; SELECT name 'Logical Name', physical_name 'File Location', size 'File Size' FROM sys.master_files;
Esse script renomeia o banco de dados, renomeia os nomes lógicos do arquivo de dados e do arquivo de log e, em seguida, renomeia o nome do arquivo físico real desses arquivos. Ele termina com a seleção de uma lista de todos os arquivos de banco de dados e seus locais. Isso permite que você verifique se seus arquivos de fato têm o nome correto.
Usando caminhos de arquivo Linux/Mac
O exemplo acima usa a sintaxe de caminho de arquivo do Windows (barras invertidas e uma letra de unidade). Se você usa Linux ou Mac, a sintaxe do caminho do arquivo será mais parecida com o exemplo a seguir (somente os caminhos do arquivo foram alterados – todo o resto permanece o mesmo).
-- Change to the master database USE master; -- Change the database name ALTER DATABASE Films Modify Name = Movies; GO -- Change the logical name of the data file ALTER DATABASE Movies MODIFY FILE ( NAME = 'Films', NEWNAME = 'Movies' ); -- Change the logical name of the log file ALTER DATABASE Movies MODIFY FILE ( NAME = 'Films_log', NEWNAME = 'Movies_log' ); -- Change the physical name of the data file ALTER DATABASE Movies MODIFY FILE ( NAME = 'Movies', FILENAME = '/var/opt/mssql/data/Movies.mdf' ); -- Change the physical name of the log file ALTER DATABASE Movies MODIFY FILE ( NAME = 'Movies_log', FILENAME = '/var/opt/mssql/data/Movies_log.ldf' ); -- Check it (View the list of database files and their locations) USE master; SELECT name 'Logical Name', physical_name 'File Location', size 'File Size' FROM sys.master_files;
Certifique-se de fazer backup do banco de dados mestre depois de renomear seu(s) banco(s) de dados (veja como fazer backup de um banco de dados com T-SQL). Você também pode querer verificar/atualizar quaisquer scripts que você tenha para garantir que eles façam referência ao novo nome do banco de dados.