Въпреки че със сигурност можете да преименувате база данни на SQL Server в GUI на SSMS, като щракнете с десния бутон върху името на базата данни и изберете Преименуване , понякога може да предпочетете (или трябва) да го направите с Transact-SQL.
Най-основният начин за преименуване на база данни с T-SQL е така:
-- Change to the master database USE master; -- Change the database name ALTER DATABASE Films Modify Name = Movies; GO
Единственият проблем с този основен скрипт е, че той не променя името на файловете с данни и регистрационните файлове. В повечето случаи вероятно ще искате да промените имената на тези файлове, за да съответстват на новото име. В този случай можете да вземете следния скрипт и да замените името на базата данни със свое собствено (както и имената на файловете и пътищата към него):
-- 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;
Този скрипт преименува базата данни, преименува логическите имена на файла с данни и регистрационния файл и след това преименува действителното име на физическия файл на тези файлове. Завършва с избор на списък с всички файлове на базата данни и техните местоположения. Това ви позволява да проверите дали вашите файлове наистина имат правилното име.
Използване на Linux/Mac файлови пътища
Горният пример използва синтаксис на пътя на файла на Windows (обратни наклонени черти и буква на устройството). Ако използвате Linux или Mac, синтаксисът на пътя към файла ще изглежда по-скоро като следния пример (само пътеките на файловете са променени – всичко останало остава същото).
-- 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;
Не забравяйте да архивирате главната база данни, след като преименувате своята база данни (ето как да архивирате база данни с T-SQL). Може също да искате да проверите/актуализирате всички скриптове, които имате, за да сте сигурни, че препращат към името на новата база данни.