Aby przenieść działającą bazę danych do nowej lokalizacji należy wykonać cztery proste kroki:
- Alter database modify files – to co trzeba uzupełnić w poniższych zapytaniach pokazuje grafika:
Analogicznie postępujemy z plikiem loga. Kod zapytania do skopiowania poniżej.
ALTER DATABASE test--w tym miejscu wstawiamy nazwę bazy danych
MODIFY FILE ( NAME = test,--tutaj wstawaiamy nazwę pliku z właściwości bazy danych
--z zakładki Database properties / Files z kolumny o nazwie Logical Name
FILENAME = 'C:\DATA\test.mdf');--Musimy dodatkowo podać fiziczną (nową) lokalizację naszego pliku.
GO
ALTER DATABASE test
MODIFY FILE ( NAME = test_log,
FILENAME = 'C:\DATA\test_log.ldf');
GO
Przy prawidłowym wykonaniu polecenia powinniśmy otrzymać komunikat jak poniżej:
The file "test" has been modified in the system catalog. The new path will be used the next time the database is started.
The file "test_log" has been modified in the system catalog. The new path will be used the next time the database is started.
2. Kolejnym krokiem jest ustawienie bazy danych w tryb offline, należy pamiętać by uzupełnić w poleceniu nazwę bazy danych
ALTER DATABASE test SET OFFLINE;
3. Kopiujemy teraz pliki fizycznie z poziomu systemu operacyjnego do nowej lokalizacji.
4. Następnie przywracamy bazę danych z powrotem do trybu online
ALTER DATABASE test SET ONLINE;
Koniec, można jeszcze dokonać weryfikacji, czy baza danych wystartowała z nowej lokalizacji:
Kod zapytania do skopiowania poniżej:
SELECT name, physical_name AS NewLocation, state_desc AS OnlineStatus
FROM sys.master_files
WHERE database_id = DB_ID(N'test')--nazwa bazy danych
GO
Koniec 🙂
Jeżeli pomogłem to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.