Создание схемы базы данных
применяется к:SQL ServerAzure SQL DatabaseУправляемому экземпляру Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Хранилищу в Microsoft Fabric
В этой статье описывается, как создать схему в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
Разрешения
Чтобы создать схему, необходимо иметь разрешение CREATE SCHEMA в базе данных.
Чтобы назначить другого пользователя владельцем создаваемой схемы, у участника должно быть разрешение IMPERSONATE на этого пользователя. Если роль базы данных указана в качестве владельца, то вызывающий объект должен входить в роль или иметь на нее разрешение ALTER.
Создание схемы с помощью SQL Server Management Studio
В обозревателе объектов раскройте папку Базы данных .
Разверните базу данных, в которой создается новая схема базы данных.
Щелкните правой кнопкой мыши папку Безопасность , укажите на пункт Создатьи выберите Схема.
В диалоговом окне Схема — создать на странице Общие введите имя новой схемы в поле Имя схемы .
В поле Владелец схемы введите имя пользователя или роли базы данных, которые будут владельцем схемы. Кроме того, выберите "Поиск", чтобы открыть диалоговое окно "Роли поиска" и "Пользователи".
Нажмите ОК.
Примечание.
Диалоговое окно не будет отображаться, если вы создаете схему с помощью SSMS для Базы данных SQL Azure или Azure Synapse Analytics. Необходимо запустить созданную инструкцию T-SQL шаблона схемы.
Диалоговое окно "Схема — новая" также предлагает параметры на двух дополнительных страницах: разрешения и расширенные свойства.
На странице Разрешения перечислены все возможные защищаемые объекты и разрешения на эти объекты, которые могут быть предоставлены для имени входа.
Страница Расширенные свойства позволяет добавлять пользовательские свойства пользователям базы данных.
Создание схемы с помощью Transact-SQL
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
В следующем примере создается схема
Chains
, а затем таблицаSizes
.CREATE SCHEMA Chains; GO CREATE TABLE Chains.Sizes ( ChainID INT, width DECIMAL (10, 2) );
Дополнительные параметры можно выполнить в одной инструкции. В следующем примере создается схема
Sprockets
, принадлежающаяJoe
таблицеNineProngs
. Инструкция предоставляет разрешениеSELECT
дляBob
и запрещаетSELECT
дляJohn
.CREATE SCHEMA Sprockets AUTHORIZATION Joe; GO CREATE TABLE NineProngs ( source INT, cost INT, partnumber INT ); GO GRANT SELECT ON SCHEMA::Sprockets TO Bob; GO DENY SELECT ON SCHEMA::Sprockets TO John; GO
Выполните следующую инструкцию, чтобы просмотреть схемы в текущей базе данных:
SELECT * FROM sys.schemas;
ограничения
Новая схема принадлежит одному из следующих участников уровня базы данных: пользователю базы данных, роли базы данных или роли приложения. Объекты, созданные в схеме, принадлежат владельцу схемы и имеют
NULL
principal_id
вsys.objects
Владение объектами, содержащимися в схеме, можно передать любому субъекту уровня базы данных, но владелец схемы всегда сохраняет разрешение CONTROL на объекты в схеме.Субъект домена добавляется в базу данных в качестве схемы при создании объекта базы данных, если указать допустимый субъект домена (пользователь или группа) в качестве владельца объекта. Новая схема принадлежит этому субъекту домена.