Jak změnit schéma MS SQL tabulek, uložených procedur a zobrazení najednou
Někdy změna uživatele databáze změní vlastníka databáze pro tabulku z dbo.tablename na badschema.tablename. To také ovlivní všechny uložené procedury vytvořené pod tabulkami s nesprávným schématem. Pokud potřebujete změnit schéma pro tyto tabulky zpět na výchozí schéma dbo, postupujte podle následujících kroků.
Tyto kroky vyžadují, abyste měli na svém počítači nainstalované Microsoft SQL Server Management Studio. Pokud nemáte nainstalovaný Microsoft SQL Server Mangement Studio Express 2008, je k dispozici zdarma od společnosti Microsoft a lze jej stáhnout prostřednictvím tohoto odkazu:http://www.microsoft.com/download/en/details.aspx?id=22985
Pokud se chystáte provést tyto kroky, měli byste se dobře orientovat v MS SQL. Pokud se s tím necítíte dobře, požádejte o pomoc podporu. Před provedením jakýchkoli změn v databázi se ujistěte, že jste si zazálohovali svůj web. Pokud jste zákazníkem sdíleného hostingu, můžete to provést prostřednictvím ovládacího panelu podle následujících kroků:Zálohujte svůj web pomocí Plesk. Pokud jste zákazníkem dedikovaného serveru, můžete svůj web zálohovat buď prostřednictvím ovládacího panelu, nebo přímo prostřednictvím sady Control Suite podle následujících kroků:Jak zálohovat doménu pomocí sady Control Suite.
Část 1
- Otevřete Microsoft SQL Server Management Studio a přihlaste se.
- Klikněte na Nový dotaz tlačítko.
- Vložte následující skript do pole Nový dotaz změnou starého schématu na název aktuálního schématu:
SELECT'ALTER SCHEMA dbo TRANSFER '+ s.Name+'.'+ o.NameFROMsys.Objects oINNERJOINsys.Schemas sono.schema_id = s.schema_idWHEREs.Name='oldschema'And(o.Type ='U'Oro.Type ='P'Oro.Type ='V') - Klikněte na tlačítko Provést
Výsledkem tohoto dotazu bude výstup v poli Výsledky, který vypadá podobně jako výstup níže:
ALTERSCHEMAdbo TRANSFER yourschema.Table1ALTERSCHEMAdbo TRANSFER yourschema.Table2ALTERSCHEMAdbo TRANSFER yourschema.Table3ALTERSCHEMAdbo TRANSFER yourschema.Table4ALTERSCHEMAdbo TRANSFER yourschema.Table5ALTERSCHEMAdbo TRANSFER yourschema.Table6
Část 2
- Klikněte na Nový dotaz tlačítko.
- Vložte dotazy z výstupu části 1 do nového pole Dotaz
- Klikněte na tlačítko Provést
Tím se přenese název schématu do nového schématu a také se změní uložené procedury a pohledy.