Pracujete jako vývojář SQL Serveru ve společnosti Life Insurance Company. Mají název databáze TechBrothersIT a jeden z názvů schématu, které objekty používají, je TB. Dali vám úkol Přejmenovat schéma na ŽIVOT. Jak byste to udělali?
Řešení:
Neexistuje žádný přímý způsob, jak přejmenovat schéma v databázi SQL Server. K provedení této změny musíme provést následující kroky.Krok 1:Vytvořte nové schéma Vytvořte nové schéma s názvem LIFE, můžeme použít níže uvedený skript.
Vytvořit schéma [LIFE]Krok 2:Přeneste objekty do nového schématu. Níže uvedený skript můžeme použít k přenosu jednoho objektu (tabulky, pohledu, uložené procedury atd.) do nového schématu.
Použít DatabaseALTER SCHEMA NewSchemaTRANSFER OldSchema.ObjectNameGO
Řekněme, že mám tabulku ve schématu TB a mohu použít níže uvedený skript k přechodu na schéma života.
Změnit schéma [LIFE] Transfer TB.[test];
Výše uvedený dotaz je třeba opakovat pro každý objekt, aby se převedl ze schématu TB do schématu LIFE. Níže uvedený výběrový dotaz můžeme použít ke generování našeho Alter dotazu pro jiné objekty v databázi k přenosu objektů z jednoho schématu do druhého.Deklarovat @SourceSchema VARCHAR(100)Deklarovat @DestinationSchema VARCHAR(100 )SET @SourceSchema='TB'SET @DestinationSchema='LIFE'Select 'Alter Schema ['+@DestinationSchema+'] Transfer '+@SourceSchema+'.['+name+']'from sys.objectswhere schema_name(schema_id)=@SourceSchemaZadejte hodnoty proměnných @SourceSchema a @DestinationSchema a dotaz vygeneruje příkazy Alter. Zkopírujte a spusťte v okně dotazu.
Poznámka: Ujistěte se, že jste otestovali změny ve vývojovém prostředí před spuštěním v UAT a produkčním prostředí.
Video ukázka:Jak přenášet objekty z jednoho schématu na jiné v SQL Server