2011-07-28 10 views
10

Mam instalację programu SQL Server 2008 z prawie 15 uruchomionymi bazami danych. Teraz z powodu niedoboru przestrzeni chciałbym przenieść ścieżkę danych na inny dysk. Jaka jest najlepsza praktyka w tym zakresie. Wyjaśnij szczegółowo, jeśli uwzględnisz jakiekolwiek polecenia SQL, ponieważ jestem względnie nowym administratorem SQL Server.Serwer Sql zmienia dane i ścieżkę dziennika istniejącej bazy danych

Uwaga - Zmieniłem już ścieżkę właściwości SQL Server z SQL Management Studio 2008 do nowej ścieżki. Ale chciałbym również, aby istniejące bazy danych rezydowały na nowej ścieżce.

Odpowiedz

12

pierwsze, odłączyć bazy danych:

USE master; 
GO 
-- Important! We need to drop the existing connections. 
ALTER DATABASE DBName SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 
GO 
EXEC sp_detach_db @dbname = N'DBName'; 
GO 

Następny krok - kopiować pliki .mdf i .ldf z tych plików bazy danych do nowej lokalizacji

A potem mocowania bazy danych:

USE master; 
EXEC sp_attach_db @dbname = N'dbName', 
@filename1 = N'', --path do .mdf 
@filename2 = N''; --path to .ldf 
GO 

Jeśli d nie chcesz dołączać i odłączać wszystkich baz danych jeden po drugim, możesz wygenerować skrypt SQL, aby dołączyć i odłączyć wszystkie bazy danych, których potrzebujesz (oczywiście system), używając curosra, który wyszukuje w widoku dynamicznego zarządzania sys.databases. Ale nie zapomnij skopiować plików bazy danych.

Powiązane problemy