Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как перенести права нужному пользователю ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Здравствуйте, коллеги !
Был проделан анинстал и инстал системы заново
Microsoft SQL Server 2000 - 8.00.2282 (Intel X86) Dec 30 2008 02:22:41 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

пароли и пользователей переносил из бэкапа mastera этого сервера развернув на другом аналогичном сервере согласно этой инструкции
Так вот есть пользователь sl_report который в 3х БД был как db_datareader(сами БД на сервер переезжали деттач\аттач, в права туда не лезли) и есть сторонний сервер
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4286.0 (X64) May 29 2013 15:04:02 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

искомый сервер и сторонний взаимноприлинкованы по пользователю sl_report.
После переноса стала появляться ошибка со стороны сервера который не трогали.
Произошла ошибка при обработке отчета. (rsProcessingAborted)
Не удалось выполнить запрос для набора данных "zip_work"(<<<это БД сервера который восстанавливали). (rsErrorExecutingCommand)
Чтобы получить дополнительные сведения об этой ошибке, перейдите к серверу отчетов на локальном сервере или включите удаленный контроль ошибок
.
Я так понимаю что были потерянны права sl_report на некоторые ХП. Ну или в процедурах где-то кренденшиалсы вшиты были. Вообщем куда смотреть и что сличать ?
21 окт 13, 16:19    [15009360]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
stavgreengo
Я так понимаю что были потерянны права sl_report на некоторые ХП.

Откуда вы это понимаете ?
Отсюда - "Чтобы получить дополнительные сведения об этой ошибке, перейдите к серверу отчетов на локальном сервере или включите удаленный контроль ошибок" ?
21 окт 13, 16:21    [15009381]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Glory
stavgreengo
Я так понимаю что были потерянны права sl_report на некоторые ХП.

Откуда вы это понимаете ?
Отсюда - "Чтобы получить дополнительные сведения об этой ошибке, перейдите к серверу отчетов на локальном сервере или включите удаленный контроль ошибок" ?

К большому сожалению смогу проверить на практике только завтра по данному сообщению(потом конкретикой дополню). А пока просто хотел поинтересоваться вашим мнением, что может быть теоретически ? Если выдача прав owner пользователю sl_report на искомом сервере приводит вот к такой ошибке на подключённом.
21 окт 13, 17:13    [15009806]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
stavgreengo
А пока просто хотел поинтересоваться вашим мнением, что может быть теоретически ?

Все, что угодно
21 окт 13, 17:16    [15009833]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
ну собственно поправили по результатам перехода к серверу отчётов и рассмотрении случившегося с его стороны, вполне себе конкретное сообщение о том что ему не хватало. А не хватало ему execute на одну ХП и одну скалярную функцию(как я и предположил). Ну и раз начал, то продолжу, с тупыми риторическими вопросами(пообщаться видно захотелось) :) ...почему так получилось что пришлось донакручивать права в искомом сервере пользователю sl_report, они же остались неизменными при деттач и аттач. Что могло не устроить новый экземпляр сервера, что он так себя повёл ?
22 окт 13, 17:24    [15016452]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
После переустановки сервера ms sql, логин sl_report был создан вручную заново. Соответственно права пользователя sl_report в БД которому соответствует логин sl_report с его оригинальным sid слетели. Позже логин sl_report заведённый вручную был удалён и заведён по отработке скрипта переноса логинов из восстановленной БД master на стороннем сервере, соответственно с оригинальным sid. Но до конца права на некоторые ХП так и не прижились, пришлось вручную вбивать. Могу ли я смело заверить начальство в том что в последующем случае восстановления сервера "с нуля" будет достаточно работоспособного бэкапа пользовательской БД + отдельно периодически выгружаемой отработки скрипта по перенесению пользователей с оригинальными sid для всего сервера и кроме этого никакого ручного вмешательства в настройку прав пользователей\логинов не потребуется и права пользователя sl_report будут сохранены в первозданном виде ???
25 окт 13, 11:31    [15030554]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
stavgreengo
Но до конца права на некоторые ХП так и не прижились,

Это значит, что никто не посмотрел, какие ошибки случились при выполнении скрипта с назначением прав ?
25 окт 13, 11:33    [15030564]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Glory
stavgreengo
Но до конца права на некоторые ХП так и не прижились,

Это значит, что никто не посмотрел, какие ошибки случились при выполнении скрипта с назначением прав ?

а какие там могли ошибки случиться ?
-- Login: sl_report
SET @pwd = CONVERT (varbinary(256), 0x01006C29554316298CE872CD788D8716E99CAB52068070D74F4516298CE872CD788D8716E99CAB52068070D74F45)
EXEC master..sp_addlogin 'sl_report', @pwd, @sid = 0x77C78A14C0A4CE47AF557A3C6D3C7466, @encryptopt = 'skip_encryption'

Выполнился успешно. Но до этого пользователь sl_report был заведён в ручную и начались сыпаться из ХП ошибки по доступу. После отработки выше публикуемого скрипта они сохранились, а не упразднились как ожидалось. Это как нибудь объяснимо ? Очень прошу помочь, начальство требует конкретики :(
25 окт 13, 11:41    [15030615]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
stavgreengo
а какие там могли ошибки случиться ?

А где здесь назначение прав ?

stavgreengo
После отработки выше публикуемого скрипта они сохранились, а не упразднились как ожидалось

Данный скрипт добавляет логин. При этом возможно восстановится связь этого логина с имеющимся пользователем базы.
Почему вы ожидаете от скрипта каких то манипуляций с правами ?
25 окт 13, 11:45    [15030641]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Glory
stavgreengo
а какие там могли ошибки случиться ?

А где здесь назначение прав ?

stavgreengo
После отработки выше публикуемого скрипта они сохранились, а не упразднились как ожидалось

Данный скрипт добавляет логин. При этом возможно восстановится связь этого логина с имеющимся пользователем базы.
Почему вы ожидаете от скрипта каких то манипуляций с правами ?

Не ожидаю. Права пользователей сохраняются внутри пользовательской БД(поправьте если не прав, пожалуйста). Ну а соответственно при восстановлении связи логин <--> пользователь БД всё должно быть в первоначальном виде. Но я так понял что я заблуждаюсь, судя по вашим намёкам. Будьте добры, дайте ссылку, просветите :)
25 окт 13, 12:01    [15030770]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
stavgreengo
Ну а соответственно при восстановлении связи логин <--> пользователь БД всё должно быть в первоначальном виде.

Только вот неизвестно, что вы называете первоначальным видом.
Если вы утверждаете, что " Соответственно права пользователя sl_report в БД которому соответствует логин sl_report с его оригинальным sid слетели."
25 окт 13, 12:04    [15030794]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Glory
stavgreengo
Ну а соответственно при восстановлении связи логин <--> пользователь БД всё должно быть в первоначальном виде.

Только вот неизвестно, что вы называете первоначальным видом.
Если вы утверждаете, что " Соответственно права пользователя sl_report в БД которому соответствует логин sl_report с его оригинальным sid слетели."

Так и было. С БД никто ничего не делал(деттач\аттач только). После восстановления сервера и присоединения к нему пользовательских БД, заведения логина вручную, последующего его удаления и последующего заведения логина из скрипта по переносу. Отвалились права пользователя sl_report в БД и мне сказали чтобы я их прописал руками, заходил в БД становился на конкретную ХП, добавлял логин sl_report и выдавал ему права на EXECUTE(простите, сам знаю что бред, не могли права из БД пропасть, поэтому и прошу помощи чтобы разобраться). Скорее всего этих прав до переустановки сервера в БД и не было, но как-то же всё функционировало :\ а после переустановки мы пошли другим путём и стали прописывать права в БД явным образом. Вопрос, как тогда могли строиться доверительные отношения до этого, что всё работало ?
25 окт 13, 12:16    [15030923]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
stavgreengo
Отвалились права пользователя

Что вы называете этим термином ?
25 окт 13, 12:17    [15030941]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Glory
stavgreengo
Отвалились права пользователя

Что вы называете этим термином ?

После переустановки сервера захожу в БД, становлюсь на конкретную ХП(на которую явно указывает сообщение с report server), захожу в свойства, захожу в разрешения - пусто, жму "найти", добавляю пользователя sl_report, даю ему право EXECUTE. Отчёт начинает работать. До переустановки сервера отчёт прекрасно работал.
25 окт 13, 12:27    [15031028]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
stavgreengo
После переустановки сервера захожу в БД, становлюсь на конкретную ХП(на которую явно указывает сообщение с report server), захожу в свойства, захожу в разрешения - пусто, жму "найти", добавляю пользователя sl_report, даю ему право EXECUTE. Отчёт начинает работать.

Вот это вы называете "отвалились права" ?
25 окт 13, 12:28    [15031039]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Glory
stavgreengo
После переустановки сервера захожу в БД, становлюсь на конкретную ХП(на которую явно указывает сообщение с report server), захожу в свойства, захожу в разрешения - пусто, жму "найти", добавляю пользователя sl_report, даю ему право EXECUTE. Отчёт начинает работать.

Вот это вы называете "отвалились права" ?

Ну как бы ситуацию я описал подробно, в терминологии случившегося не силён, за сим помощи и прошу. Как грамотно назвать произошедшие и самое главное не допустить в будущем ?
25 окт 13, 12:33    [15031077]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести права нужному пользователю ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
stavgreengo
Ну как бы ситуацию я описал подробно, в терминологии случившегося не силён, за сим помощи и прошу. Как грамотно назвать произошедшие и самое главное не допустить в будущем ?

Назвать можно так
Я не имел понятия, какие права были у пользователя и логина на одном сервере. И попытался что то сделать на другом сервере. И у меня не получилось.
Потом я еще раз попробовал назначить какие-то права и все заработало.

Чтобы не допустить в будущем, нужно
Разработать список необходимых и достаточных прав.
Разработать/найти программный код для переноса логинов и баз.
Разработать/найти программный код для проверки/создания нужных прав
25 окт 13, 12:39    [15031122]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить