Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
Есть БД сторонней разработки. Живет на MS Sql Server 2008 R2, ОС MS Server 2008 R2
Для каждого пользователя есть: логин на сервер, пользователь БД, схема с правами.
Из - за особенностей работы сиквела с доменом(и политики ведения учетных данных в домене), приходиться удалять конкретного пользователя с цепочкой его прав. ручками из GUI.
Пишу утилиту, для автоматизации этого дела.
Проблема узнать существует ли конкретная схема в данной БД без GUI?
26 май 15, 11:59    [17690005]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4264
SELECT *   FROM [ВАША_БАЗА].[sys].[schemas]
26 май 15, 12:02    [17690026]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
Из - за особенностей работы сиквела с доменом(и политики ведения учетных данных в домене),

Например, из-за каких ?
26 май 15, 12:04    [17690042]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
SQL2008, спасибо!
Glory, login в домене может быть передан другому пользователю(пересоздан), может быть смена фамилии и т.д. Возникает конфликт прав доступа между доменом и сиквелом в домене. В Бд реализован свой учет пользователей в таблицах, логины которых максимум можно переименовать(для хранения истории) после деактивации. БД - поставлялась в коробочном варианте, поддержка со стороны разработчика и поставщика словами сложно передать.
26 май 15, 12:37    [17690212]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
Glory, login в домене может быть передан другому пользователю(пересоздан), может быть смена фамилии и т.д. Возникает конфликт прав доступа между доменом и сиквелом в домене

Для вас отказ MSSQL авторизовать SID, которого у него нет - это конфликт доступа ?
26 май 15, 12:39    [17690230]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
Glory
FatumX
Glory, login в домене может быть передан другому пользователю(пересоздан), может быть смена фамилии и т.д. Возникает конфликт прав доступа между доменом и сиквелом в домене

Для вас отказ MSSQL авторизовать SID, которого у него нет - это конфликт доступа ?

выражусь точнее:
MSSQL отказывается даже запрашивать этот новый SID, пока не проведена процедура удаления.
С другой стороны SID может быть старым, а профиль в домене переименован. При этом у должностного лица совершенно другие обязанности в БД и ведется, по сути, заведение нового должностного лица в БД. Плюс сейчас ведется внедрение MS Exchange. И из-за почты, администраторы домена будут только переименовывать профиля.
26 май 15, 12:56    [17690344]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
Насколько я понимаю, все само должно разруливатся, но не разруливается. где-то корч(((
26 май 15, 12:58    [17690359]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
MSSQL отказывается даже запрашивать этот новый SID, пока не проведена процедура удаления.

Что ?
Новой сетевой учетной записи можно предоставить доступ только через создание нового логина.

FatumX
С другой стороны SID может быть старым, а профиль в домене переименован.

И что вам мешает переименовать sql логин ?
26 май 15, 13:00    [17690372]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
Glory, не помню, что было с ренеймом на сервере(2 года прошло). Вроде пробовали.
Когда создается, должностное лицо в БД. Вводится идентификатор этого лица. Софт из коробки, создает логин, пользователя, схему, запись в таблице пользователей системы. Всюду один и тот же идентификатор. Если оказывается так, что логин, пользователь, схема существует, то софт тупо сопоставляет идентификатор с существующей цепочкой прав. В случае доменной аутентификации, sid у логина остается старый, а на сервер пользователь лезет уже с другим sid-ом, хоть и вэлидным логином. И тут проблема.
Другой случай. Когда дама вышла замуж. Сменила фамилию (в домене подправили одно поле в учетке). Из домена попасть никак. Почему? ответа не нашли.
С третьей стороны. Все что нужно, хранится в таблице пользователей. Поэтому можно учетные данные доступа смело удалять. К сожалению вручную. Сейчас это дело стало частым. Контора большая, текучка тоже. Хотим отдать девочке, которая и так ведет пользователей и не смыслит в БД.
Не исключено, что я че-то не допонимаю в мат. части. Если есть вариант решения проще, с удовольствием приму.
26 май 15, 14:42    [17691025]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
В случае доменной аутентификации, sid у логина остается старый, а на сервер пользователь лезет уже с другим sid-ом, хоть и вэлидным логином. И тут проблема.

Это, извините, как ? На рабочей станции пользователь залогинен под одной учетной записью, а в коннект к mssql вдруг передается другая учетная запись ?
26 май 15, 14:51    [17691070]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
Простите. Не так выразился. В MS SQL server связка login-sid не меняется.
26 май 15, 15:02    [17691158]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
В MS SQL server связка login-sid не меняется.

И что ? При windows authentication имя логина не используется
26 май 15, 15:08    [17691203]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
Glory
FatumX
В MS SQL server связка login-sid не меняется.

И что ? При windows authentication имя логина не используется

Не используется. Но в чем тогда собака зарыта?
26 май 15, 15:16    [17691247]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
Но в чем тогда собака зарыта?

Не знаю. Это вы решили, что она где то зарыта
26 май 15, 15:17    [17691253]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
Glory
Не знаю. Это вы решили, что она где то зарыта

Других решений не нашел. Разработчик умыл руки, хоть о проблеме знает. Могу допустить, что где-то косяк у разработчика. Софт из каробки. А проблема от версии к версии таже.
26 май 15, 15:23    [17691294]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
Других решений не нашел.

Решений чего ?
Вы с чем вюете то ?
У вашего "врага" есть сообщение об ошибке ? Оно серверное ?
26 май 15, 15:25    [17691306]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
Glory
Решений чего ?
Вы с чем вюете то ?
У вашего "врага" есть сообщение об ошибке ? Оно серверное ?

Клиентская часть софта из коробки, на все попытки соеденения через домен у пользователя говорит, что не может соеденится. Дословно "Неверный идентификатор или пароль" на все случаи жизни.
26 май 15, 15:42    [17691420]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
говорит, что не может соеденится

это очень информативное сообщение
Только причем здесь MSSQL ?

Сообщение было отредактировано: 26 май 15, 15:45
26 май 15, 15:45    [17691442]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
потому, что клиент соеденяется с MS SQL Server, и windows authentication не проходит . Потому как, после описанного выше танца с бубном на MS SQL Server, клиент нормально конектится через домен.
26 май 15, 16:19    [17691713]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
потому, что клиент соеденяется с MS SQL Server,

Железная логика.
А вдруг тогда это windows причем ? Все же на нем работает.

Сообщение было отредактировано: 26 май 15, 16:28
26 май 15, 16:28    [17691768]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
FatumX
потому, что клиент соеденяется с MS SQL Server, и windows authentication не проходит
ОС аутентифицирует по SID, а не по наименованию учетной записи. Так что сохраненное в sys.server_principals старое наименование Windows-логина на возможность аутентификации не влияет.
26 май 15, 16:31    [17691792]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
Glory
А вдруг тогда это windows причем ? Все же на нем работает.

Не понимаю. Разве MS SQL server не взоимодействует сомастоятельно с домен контроллером? Ему что-то еще нужно?
26 май 15, 16:37    [17691827]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
Не понимаю. Разве MS SQL server не взоимодействует сомастоятельно с домен контроллером? Ему что-то еще нужно?

Взаимодействует. И имя логина при этом не использует. Использует только sid. И получает он его от вашего приложения.
26 май 15, 16:42    [17691851]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
FatumX
Member

Откуда: Минск
Сообщений: 61
invm
FatumX
потому, что клиент соеденяется с MS SQL Server, и windows authentication не проходит
ОС аутентифицирует по SID, а не по наименованию учетной записи. Так что сохраненное в sys.server_principals старое наименование Windows-логина на возможность аутентификации не влияет.

Тогда почему пересоздание учетных данных помогает? И почему если изменилась фамилия у человека, то возникает проблема с доступом?
26 май 15, 16:43    [17691860]     Ответить | Цитировать Сообщить модератору
 Re: как узнать есть ли схема в БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
FatumX
Тогда почему пересоздание учетных данных помогает?

Наверное потому, что приложение хреново написано.

FatumX
И почему если изменилась фамилия у человека, то возникает проблема с доступом?

Наверное потому, что приложение хреново написано.
26 май 15, 16:45    [17691878]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить