Создание схемы базы данных
В этой статье описывается, как создать схему в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
Ограничения
- Новая схема принадлежит одному из следующих участников уровня базы данных: пользователю базы данных, роли базы данных или роли приложения. Объекты, создаваемые в схеме, принадлежат владельцу схемы и имеют значение NULL для principal_id в sys.objects. Владение объектами, содержащимися в схеме, можно передать любому участнику уровня базы данных, однако у владельца схемы всегда остается разрешение CONTROL на объекты в схеме.
- Если при создании объекта базы данных указать допустимый субъект домена (пользователя или группу) в качестве владельца объекта, то этот субъект добавляется в базу данных в качестве схемы. Новая схема принадлежит этому субъекту домена.
Разрешения
- Требует разрешения 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 dec(10,2));
CREATE SCHEMA Sprockets AUTHORIZATION Joe CREATE TABLE NineProngs (source int, cost int, partnumber int) GRANT SELECT ON SCHEMA::Sprockets TO Bob DENY SELECT ON SCHEMA::Sprockets TO John; GO
SELECT * FROM sys.schemas;
Следующие шаги
Дополнительные сведения см. в статье CREATE SCHEMA (Transact-SQL).
Получить список таблиц в пользовательских БД в SQL Server
Добрый день. Подскажите запрос на получение списка таблиц пользовательских (не системных) баз данных в SQL Server 2008.
Отслеживать
51.4k 87 87 золотых знаков 267 267 серебряных знаков 508 508 бронзовых знаков
задан 6 июл 2011 в 7:33
285 2 2 золотых знака 4 4 серебряных знака 17 17 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Есть ещё вариант SELECT * FROM INFORMATION_SCHEMA.TABLES
Он более кроссплатформенный относительно СУБД, т.к. INFORMATION_SCHEMA является частью стандарта SQL, а sys.objects нет.
Хотя там есть не всё, многие вещи без представлений из схемы sys не получить.
Отслеживать
ответ дан 6 июл 2011 в 9:04
8,895 26 26 серебряных знаков 67 67 бронзовых знаков
Запомню, спасибо
6 июл 2011 в 10:52
//Выдает все базы данных на сервере
SELECT name FROM sys.databases
//Выдает все таблицы в Базе данных
SELECT * FROM sys.objects WHERE type in (N’U’)
Отслеживать
ответ дан 6 июл 2011 в 7:43
841 1 1 золотой знак 9 9 серебряных знаков 26 26 бронзовых знаков
Второй запрос возвращает список таблиц из СИСТЕМНОЙ базы master. Наверное я неправильно сформулировал вопрос: Нужно получать список таблиц из баз, которые созданы пользователем, т.е. создана база БАЗА1 с таблицами ТАБЛИЦА1, ТАБЛИЦА2 и т.д. Нужно получить список этих таблиц: ТАБЛИЦА1, ТАБЛИЦА2
6 июл 2011 в 8:07
Второй запрос выведет вам таблицы из базы данных, которую вы выберите. USE [MyDataBase] для выбора базы данных
Открытие диаграммы базы данных (визуальные инструменты для баз данных)
Можно открыть диаграммы базы данных, чтобы просмотреть или изменить структуру схемы.
Открытие диаграммы базы данных
- В обозревателе объектов разверните папку Диаграммы баз данных .
- Дважды щелкните имя диаграммы базы данных, которую нужно открыть. -или- Щелкните правой кнопкой мыши имя диаграммы базы данных, которую нужно открыть, а затем выберите Создать диаграмму базы данных.
Диаграмма базы данных открывается в конструкторе диаграмм базы данных, где можно изменить диаграмму.
Только владелец диаграммы или член роли базы данных db_owner может открыть диаграмму.
См. также:
Обратная связь
Были ли сведения на этой странице полезными?
Обратная связь
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе https://aka.ms/ContentUserFeedback.
Отправить и просмотреть отзыв по
Открытие диаграммы базы данных (визуальные инструменты для баз данных)
Можно открыть диаграммы базы данных, чтобы просмотреть или изменить структуру схемы.
Открытие диаграммы базы данных
- В обозревателе объектов разверните папку Диаграммы баз данных .
- Дважды щелкните имя диаграммы базы данных, которую нужно открыть. -или- Щелкните правой кнопкой мыши имя диаграммы базы данных, которую нужно открыть, а затем выберите Создать диаграмму базы данных.
Диаграмма базы данных открывается в конструкторе диаграмм базы данных, где можно изменить диаграмму.
Только владелец диаграммы или член роли базы данных db_owner может открыть диаграмму.
См. также:
Обратная связь
Были ли сведения на этой странице полезными?
Обратная связь
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе https://aka.ms/ContentUserFeedback.
Отправить и просмотреть отзыв по