Вие работите като разработчик на SQL Server в Животозастраховане. Те имат име на база данни TechBrothersIT и едно от имената на схемата, които използват обектите, е TB. Те ви дадоха задача да преименувате схемата на LIFE. Как бихте направили това?
Решение:
Няма пряк начин за преименуване на схема в базата данни на SQL Server. Трябва да изпълним стъпките по-долу, за да направим тази промяна.Стъпка 1:Създайте нова схема Създайте нова схема с име LIFE, можем да използваме скрипта по-долу.
Създаване на схема [LIFE]Стъпка 2:Прехвърлете обектите в нова схема. Можем да използваме скрипта по-долу, за да прехвърлим един обект (таблица, изглед, съхранена процедура и т.н.) към нова схема.
Използвайте DatabaseALTER SCHEMA NewSchemaTRANSFER OldSchema.ObjectNameGO
Да приемем, че имам таблица в TB Schema и мога да използвам скрипта по-долу, за да премина към Life Schema.
Промяна на схемата [LIFE] Transfer TB.[тест];> предварително>
Горената заявка трябва да се повтори за всеки обект, който да се прехвърли от TB схема към схема LIFE. Можем да използваме заявка за избор по-долу, за да генерираме нашата Alter заявка за други обекти в база данни за прехвърляне на обекти от една схема в друга.Декларирайте @SourceSchema VARCHAR(100) Декларирайте @DestinationSchema VARCHAR(100 )SET @SourceSchema='TB'SET @DestinationSchema='LIFE'Изберете 'Промяна на схемата ['+@DestinationSchema+'] Прехвърляне'+@SourceSchema+'.['+name+']'от sys.objectswhere schema_name(schema_id)=@SourceSchemaПредоставете стойностите на променливите @SourceSchema и @DestinationSchema и заявката ще генерира изрази Alter вместо вас. Копирайте и стартирайте в прозореца на заявката си.
Забележка: Уверете се, че сте тествали промените в средата за разработка, преди да стартирате в UAT и производствени среди.
Видео демонстрация:Как да прехвърляте обекти от една схема към други в SQL Server