SSMSGUIでSQLServerデータベースの名前を変更するには、データベース名を右クリックして名前の変更を選択します。 、場合によっては、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を使用してデータベースをバックアップする方法は次のとおりです)。また、スクリプトが新しいデータベース名を参照していることを確認するために必要なスクリプトをチェック/更新することもできます。