Поделиться через


Создание схемы базы данных

применяется к: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

  1. В обозревателе объектов раскройте папку Базы данных .

  2. Разверните базу данных, в которой создается новая схема базы данных.

  3. Щелкните правой кнопкой мыши папку Безопасность , укажите на пункт Создатьи выберите Схема.

  4. В диалоговом окне Схема — создать на странице Общие введите имя новой схемы в поле Имя схемы .

  5. В поле Владелец схемы введите имя пользователя или роли базы данных, которые будут владельцем схемы. Кроме того, выберите "Поиск", чтобы открыть диалоговое окно "Роли поиска" и "Пользователи".

  6. Нажмите ОК.

Примечание.

Диалоговое окно не будет отображаться, если вы создаете схему с помощью SSMS для Базы данных SQL Azure или Azure Synapse Analytics. Необходимо запустить созданную инструкцию T-SQL шаблона схемы.

Диалоговое окно "Схема — новая" также предлагает параметры на двух дополнительных страницах: разрешения и расширенные свойства.

  • На странице Разрешения перечислены все возможные защищаемые объекты и разрешения на эти объекты, которые могут быть предоставлены для имени входа.

  • Страница Расширенные свойства позволяет добавлять пользовательские свойства пользователям базы данных.

Создание схемы с помощью Transact-SQL

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. В следующем примере создается схема Chains, а затем таблица Sizes.

    CREATE SCHEMA Chains;
    
    GO
    
    CREATE TABLE Chains.Sizes
    (
        ChainID INT,
        width DECIMAL (10, 2)
    );
    
  4. Дополнительные параметры можно выполнить в одной инструкции. В следующем примере создается схема 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
    
  5. Выполните следующую инструкцию, чтобы просмотреть схемы в текущей базе данных:

    SELECT *
    FROM sys.schemas;
    

ограничения

  • Новая схема принадлежит одному из следующих участников уровня базы данных: пользователю базы данных, роли базы данных или роли приложения. Объекты, созданные в схеме, принадлежат владельцу схемы и имеют NULLprincipal_id в sys.objects Владение объектами, содержащимися в схеме, можно передать любому субъекту уровня базы данных, но владелец схемы всегда сохраняет разрешение CONTROL на объекты в схеме.

  • Субъект домена добавляется в базу данных в качестве схемы при создании объекта базы данных, если указать допустимый субъект домена (пользователь или группа) в качестве владельца объекта. Новая схема принадлежит этому субъекту домена.