Pracujesz jako programista SQL Server w firmie ubezpieczeniowej na życie. Mają nazwę bazy danych TechBrothersIT, a jedną z nazw schematów używanych przez obiekty jest TB. Przydzielili ci zadanie zmiany nazwy schematu na ŻYCIE. Jak byś to zrobił?
Rozwiązanie:
Nie ma prostego sposobu zmiany nazwy schematu w bazie danych SQL Server. Aby wprowadzić tę zmianę, musimy wykonać poniższe kroki.Krok 1:Utwórz nowy schemat Utwórz nowy schemat o nazwie LIFE, możemy użyć poniższego skryptu.
Create Schema [LIFE]
Krok 2:Przenieś obiekty do nowego schematu. Możemy użyć poniższego skryptu, aby przenieść pojedynczy obiekt (tabela, widok, procedura składowana itp.) do nowego schematu.
Use Database ALTER SCHEMA NewSchema TRANSFER OldSchema.ObjectName GO
Powiedzmy, że mam tabelę w schemacie TB i mogę użyć poniższego skryptu, aby przejść do schematu życia.
Alter Schema [LIFE] Transfer TB.[test] ;
Powyższe zapytanie należy powtórzyć dla każdego obiektu, który ma zostać przeniesiony ze schematu TB do schematu LIFE. Możemy użyć poniższego zapytania wybierającego, aby wygenerować nasze zapytanie Alter dla innych obiektów w bazie danych, aby przenieść obiekty z jednego schematu do drugiego.
Declare @SourceSchema VARCHAR(100) Declare @DestinationSchema VARCHAR(100) SET @SourceSchema='TB' SET @DestinationSchema='LIFE' Select 'Alter Schema ['+@DestinationSchema+'] Transfer '
+@SourceSchema+'.['+name+']'
from sys.objects where schema_name(schema_id)=@SourceSchema
Podaj wartości zmiennych @SourceSchema i @DestinationSchema, a zapytanie wygeneruje dla Ciebie instrukcje Alter. Skopiuj i uruchom w oknie zapytania.
Uwaga: Upewnij się, że przetestowałeś zmiany w środowisku programistycznym przed uruchomieniem w środowiskach UAT i produkcyjnych.
Prezentacja wideo:Jak przenieść obiekty z jednego schematu do innych w SQL Server