Przenieś pliki bazy danych SQL Server 2008 do nowej lokalizacji folderu
Nazwa Logiczna
my_Data
my_Log
Ścieżka:
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
Nazwa pliku:
my.MDF
my_1.LDF
Jaki byłby skrypt sql, aby przenieść te pliki do nowej lokalizacji: D:\DATA
Baza danych jest na żywo, więc musiałbym zamknąć istniejące połączenia.
5 answers
Zapomniałeś podać nazwę swojej bazy danych (czy to "moja"?).
ALTER DATABASE my SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE my SET OFFLINE;
ALTER DATABASE my MODIFY FILE
(
Name = my_Data,
Filename = 'D:\DATA\my.MDF'
);
ALTER DATABASE my MODIFY FILE
(
Name = my_Log,
Filename = 'D:\DATA\my_1.LDF'
);
Teraz tutaj musisz ręcznie przenieść pliki z ich bieżącej lokalizacji do D:\Data\ (i pamiętaj, aby zmienić ich nazwy ręcznie, jeśli zmieniłeś je w poleceniu Modyfikuj plik) ... następnie możesz przywrócić bazę danych online:
ALTER DATABASE my SET ONLINE;
ALTER DATABASE my SET MULTI_USER;
Zakłada to, że konto usługi SQL Server ma wystarczające uprawnienia na D:\Data \ folder. Jeśli nie, otrzymasz błędy za pomocą polecenia SET ONLINE.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-05 15:31:34
Możesz użyć opcji odłącz/Załącz w SQL Server Management Studio.
Sprawdź to: Przenieś bazę danych za pomocą Detach i załącz
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-05 16:26:09
Aby dodać uprawnienia potrzebne do plików Dodaj i przyznaj prawa Następującemu użytkownikowi lokalnemu: sqlservermssqluser$COMPUTERNAME$INSTANCENAME, gdzie COMPUTERNAME i INSTANCENAME należy zastąpić odpowiednio nazwą komputera i instancji MSSQL.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-13 14:42:22
Jest to kompletna procedura transferu bazy danych i loginów z istance do nowej, tworzenia skryptów logowania i przenoszenia plików datafile i logów do miejsca docelowego. Wszystko przy użyciu metaskryptów.
Przepraszam za procedurę off-site, ale skrypty są bardzo długie. Musisz:
- Logowanie skryptów z oryginalnym SID i HASHED hasło
- Tworzenie skrypt do tworzenia kopii zapasowej bazy danych przy użyciu metascripts
- Create script to restore database passing relocate parameters using again metascripts
- Uruchom wygenerowane Skrypty na źródłowej i docelowej instancji.
Zobacz szczegóły i pobierz Skrypty pod linkiem powyżej.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-18 09:51:16
Kilka uwag do uzupełnienia procesu bazy danych ALTER:
1) możesz uzyskać pełną listę baz danych z logicznymi nazwami i pełnymi ścieżkami plików MDF i LDF:
USE master SELECT name, physical_name FROM sys.master_files
2) pliki można przenosić ręcznie za pomocą polecenia cmd move:
Przenieś "Źródło ""Miejsce Docelowe"
Przykład:
md "D:\MSSQLData"
Move "C:\test\SYSADMIT-DB.mdf" "D:\MSSQLData\SYSADMIT-DB_Data.mdf"
Move "C:\test\SYSADMIT-DB_log.ldf" "D:\MSSQLData\SYSADMIT-DB_log.ldf"
3) powinieneś zmienić domyślną ścieżkę bazy danych dla tworzenia nowych baz danych. Domyślna ścieżka jest pobierana z rejestru systemu Windows.
Możesz także zmienić za pomocą T-SQL, na przykład, aby ustawić domyślne miejsce docelowe na: D:\MSSQLData
USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultData', REG_SZ, N'D:\MSSQLData'
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultLog', REG_SZ, N'D:\MSSQLData'
GO
Pobrano z: http://www.sysadmit.com/2016/08/mover-base-de-datos-sql-server-a-otro-disco.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-31 07:54:26