Migrace MSDB a MODEL na jiný disk

Migrace MSDB a MODEL databází je tak trochu kombinace obojího. Jak MASTERu tak TEMPDB.

Jedná se o to, že temp se po restartu vytvoří sám. Nejsou v něm žádná relevantní data a proto je to v podstatě jediná databáze, jejíž poškození pro sql server neznamená žádnou katastrofu…

Proto po změně cesty a restartu soubory prostě na jedné straně vzniknou znova a na druhé (původní – staré) straně je možné je smazat.

V případě MASTRU to samozřejmě neplatí. Jsou tam uloženy informace o jobech, uživatelích atd… prostě samé užitečné a důležité informace. To samé platí jak o MSDB tak o MODEL databázích.

Při jejich migraci je nutné postupovat jako v případě TEMPu, ale před startem sql serveru je nutné původní databáze přesunout (překopírovat včetně práv) do nového umístění.

Teprve  pak je možné sql server nastartovat bez fatálních důsledků.

Postup je tedy následující:

a) v běžícím sql serveru realokovat cesty: ALTER DATABASE dbname MODIFY FILE …

b) zastavit sql server

c) přesunout (překopírovat včetně oprávnění) soubory do nového umístění

d) spustit sql server

e) smazat původní (teď již nepotřebné) soubory aby nemátly a nezabíraly místo !!

 

Přikazy které se mohou hodit:

 

--move tempdb
USE MSDB
GO
EXEC dbo.sp_helpfile


USE MSDB
GO
SELECT
 'ALTER DATABASE '+db_name()+' MODIFY FILE (NAME = '+NAME+', FILENAME = '''+PHYSICAL_NAME+''')',
 db_name(), NAME, PHYSICAL_NAME
FROM
 SYS.DATABASE_FILES

Leave a Reply

Your email address will not be published. Required fields are marked *