Výměna "nulté" databáze

PříspěvekNapsal: 07.06.2007 12:39
od jana.krapkova
Pokud potřebujete vyměnit jakoukoliv další databázi (v tomto příkladu Helios002) za tzv. "nultou" nebo též "systémovou" databázi (zpravidla Helios001), postupujte následovně:



1. v Heliosu nesmí být nikdo přihlášen



2. obě databáze zazálohovat



3. v Helios002 zrušit následující tabulky pokud tam jsou:
Kód: Vybrat vše
DROP TABLE TabUserCfg
DROP TABLE TabDbHelios
DROP TABLE TabSetup
DROP TABLE TabHeliosPatches
DROP TABLE TabUserMenuToolbar
DROP TABLE TabToDoList
(nebo pomocí Managament Studia)



4. přetáhnout obsah těchto tabulek z Helios001 do Helios002:
Kód: Vybrat vše
SELECT * INTO Helios002.dbo.TabUserCfg FROM Helios001.dbo.TabUserCfg
SELECT * INTO Helios002.dbo.TabDbHelios FROM Helios001.dbo.TabDbHelios
SELECT * INTO Helios002.dbo.TabSetup FROM Helios001.dbo.TabSetup
SELECT * INTO Helios002.dbo.TabHeliosPatches FROM Helios001.dbo.TabHeliosPatches
SELECT * INTO Helios002.dbo.TabUserMenuToolbar FROM Helios001.dbo.TabUserMenuToolbar
SELECT * INTO Helios002.dbo.TabToDoList FROM Helios001.dbo.TabToDoList




5. přidat do tabulky TabDbHelios v nové nulté databázi (Helios002) sloupec Skupina:
Kód: Vybrat vše
ALTER TABLE Helios002.dbo.TabDbHelios
ADD Skupina  AS (case [TypDB] when (1) then (1) when (2) then (2) else (0) end)




6. odpojit obě databáze od SQL Serveru:
Kód: Vybrat vše
sp_detach_db Helios001
sp_detach_db Helios002




7. soubory Helios001.MDF a Helios001_log.LDF přejmenovat na Helios002 a naopak



8. spustit Helios (nejprve na nultou databázi, pak na první), Helios databáze najde, připojí a v tabulkách dogeneruje nezbytnosti



9. po záměně nulté databáze obě databáze zkontrolovat