powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / default schema, отличия в БД
5 сообщений из 5, страница 1 из 1
default schema, отличия в БД
    #39808288
teo609
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, господа инженеры.

Есть сервер Microsoft SQL Server 2008 R2 (SP3) - 10.50.6000.34 (X64).
Есть две базы на нем, основная, и тестовая, периодически восстанавливаемая из основной.
Есть на сервере два логина и привязанные к ним две группы доменных пользователей, с виндовой авторизацией, редакторы и админы.
(Задать дефолтную схему этим логинам на вкладке User Mapping студия не дает - говорит не положено для групповой доменной авторизации)
В каждой базе есть два пользователя, редактор и админ, привязанных к этим логинам сервера.
В каждой базе есть Datebase Role roleAdmin, в которую входит пользователь базы админ.
В свойствах базы этой роли права CreateTable и CreateProcedure проставлены (галочками).

Группа редакторы есть давно, в ней часть пользователей домена, они давно работают без проблем.
Группа админы добавлена недавно, и сейчас тестируется.
Перед добавлением произошло очередное восстановление основной базы в тестовую, поэтому они практически идентичны.
Мой доменный логин состоит в обеих группах, и из приложения своего тестового я к базам подключаюсь им.

Пользователи работают в группе редакторы, и не создают ни таблиц ни ХП.
В админах я пока один юзер, и пытаюсь создать таблицу и ХП в тестовой функции.
Создаются они запросами, подобными тем, что я запускал от sa и они работали, создавали объекты в схеме dbo.

CREATE TABLE testTable (key_int int, bit_fld1 bit, ...)
CREATE PROC testProc1 @key_int int...

Штука в том, что одинаковые (во всем что могу проверить) базы реагируют на эти запросы по-разному.
В одной из них запросы выполняются.
При этом создается в Security\Users юзер названный как мой DomainName\UserLogin, и с таким же именем схема.
Как объекты этой схемы создаются и таблица и ХП.
В другой базе запрос на создание таблицы не выполняется с ошибкой The default schema does not exist.

Попытка выяснить в чем же разница между базами привела к сравнению их с помощью SqlSchemaCompare из MS Visual Studio 2015.
Никакой особой разницы между базами таким способом не выявлено.
В той базе, в которой запросы выполнялись, у схемы есть свойство Authorizer, в GUI нигде такого не видел.
(картинка)

Вопрос в том, как лучше реализовать возможность создавать таблицы для админов.
Чтобы создавался при этом для каждого из них свой пользователь DomainName\UserLogin в Security\Users - не хочется, некрасиво.
Правильно ли создавать таблицы в схеме dbo, можно ли этого добиться.

Вопросы эти не степени жизни и смерти, тестовые таблицы и ХП можно создать и держать в базах постоянно.
Но интересно, как сделать лучше, что логичнее с точки зрения сервера.
...
Рейтинг: 0 / 0
default schema, отличия в БД
    #39808348
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The default schema does not exist

Не, просто посмотреть дефолтную схему пользователя - это слишком просто.
...
Рейтинг: 0 / 0
default schema, отличия в БД
    #39808431
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teo609,

авторПри этом создается в Security\Users юзер названный как мой DomainName\UserLogin, и с таким же именем схема.

Если при создании пользователя не укажете явно схему по умолчанию, то так и будет.
...
Рейтинг: 0 / 0
default schema, отличия в БД
    #39808474
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teo609Правильно ли создавать таблицы в схеме dboПравильно.
teo609можно ли этого добиться.Лучше всего указывать схему явно.
То есть не CREATE TABLE testTable ..., а CREATE TABLE dbo.testTable ...
...
Рейтинг: 0 / 0
default schema, отличия в БД
    #39812609
teo609
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg CREATE TABLE dbo.testTable ...

Спасибо.

Попробовал так, и вышел на то, что надо дать права бд-роли на схему dbo.

DB\Security\Schemas\dbo, Properties, Permissions, в верхний список внести нужную роль, в нижнем списке отметить нужные права.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / default schema, отличия в БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]