Zmiana nazwy plików bazy danych

Dziś pokażę jak zmienić nazwę logiczną pliku bazy danych. Z reguły przyjmuje ona nazwę bazy danych i nie jest używana ale może ktoś będzie potrzebował ją zmienić. 😉

Najpierw sprawdzamy jaką nawę logiczną ma obecnie plik (w przykładzie plik MDF) naszej bazy danych

USE TESTOWA
SELECT file_id, name as [logical_file_name], physical_name
FROM sys.database_files

file_id     logical_file_name    physical_name
-----------------------------------------------------------------
1           TESTOWA              C:\SQLData\TESTOWA.mdf
2           TESTOWA_log          C:\SQLData\TESTOWA_log.ldf

(2 rows affected)

Zmieniamy nazwę logiczną pliku MDF (file_id = 1)

Najpierw przestawiamy bazę w tryb SINGLE_USER aby nikt nam "nie przeszkadzał". Jesli wiemy że nikt na niej nie pracuje możemy tego nie wykonywać.

USE [master];
ALTER DATABASE TESTOWA SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

Commands completed successfully.

Zmieniamy nazwę:

ALTER DATABASE TESTOWA
MODIFY FILE (Name='TESTOWA ', NEWNAME=N'TESTOWA_MDF')
GO

The file name 'TESTOWA_MDF' has been set.

Zmieniamy tryb bazy na MULTI_USER

USE [master];
ALTER DATABASE TESTOWA SET MULTI_USER
GO

Commands completed successfully.

Sprawdzamy czy nazwa logiczna się zmieniła:

USE TESTOWA
GO
SELECT file_id, name as [logical_file_name], physical_name
FROM sys.database_files
GO

file_id     logical_file_name       physical_name
---------------------------------------------------------------------
1           TESTOWA_MDF             C:\SQLData\TESTOWA.mdf
2           TESTOWA_log             C:\SQLData\TESTOWA_log.ldf

(2 rows affected)

Nazwa logiczna pliku bazy została zmieniona.

Ten wpis został opublikowany w kategorii Microsoft SQL. Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz