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

Откуда:
Сообщений: 1368
Как выполнить sp_configure без прав sysadmins, serveradmin и ALTER SETTINGS у пользователя?
Пытался настроить через процедуру и execute as через IMPERSONATE, в итоге ошибочка:

Msg 15247, Level 16, State 1, Procedure sp_configure, Line 106
User does not have permission to perform this action.
Msg 5812, Level 14, State 1, Procedure sp_ChangeServerMaxDOP, Line 9
You do not have permission to run the RECONFIGURE statement.

imperonate проходит но вот дальше в sp_configure оно видно не работает.

Задача: в определенный момент на время одного расчета нужно поменять maxdop, затем его назад вернуть. Хинты использовать не получается, запросы зашиты, выше права давать пользовательской учетке не разумно.
Как кто выкручивался из такого?
sql 2012
17 ноя 16, 11:33    [19902703]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
смотрю_тут,

желания конечно :)
в вашем случае в Plan Guide прикрутить хинты думаю решит
17 ноя 16, 11:37    [19902722]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
смотрю_тут
Member

Откуда:
Сообщений: 1368
TaPaK
смотрю_тут,

желания конечно :)
в вашем случае в Plan Guide прикрутить хинты думаю решит



желания конечно,

была бы возможность, давно бы сделал.
planguide нет возможности использовать, запросы всегда разные
17 ноя 16, 11:47    [19902773]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
invm
Member

Откуда: Москва
Сообщений: 9913
смотрю_тут
в определенный момент на время одного расчета нужно поменять maxdop, затем его назад вернуть
Для чего? Может Resource Governor подойдет?
17 ноя 16, 12:00    [19902877]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
o-o
Guest
смотрю_тут
Хинты использовать не получается, запросы зашиты

plan guide
17 ноя 16, 12:04    [19902901]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
автор
planguide нет возможности использовать, запросы всегда разные

автор
на время одного расчета нужно поменять maxdop

тут что-то не сходится
17 ноя 16, 12:05    [19902911]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
смотрю_тут
Member

Откуда:
Сообщений: 1368
invm,

я выше описал .
Задача: в определенный момент на время одного расчета нужно поменять maxdop, затем его назад вернуть.

с сервера приложения запускается расчет на несколько часов, используется одна учетка и непрерывность, время когда начнется этот расчет \закончится неизвестно.

Resource Governor - думал. но:
а) он должен работать только в нужный момент
б) для его активации и деактивации нужны права CONTROL SERVER что выше чем ALTER SETTINGS, насколько я понял.
17 ноя 16, 12:09    [19902929]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
o-o
Guest
смотрю_тут
Пытался настроить через процедуру и execute as
Msg 15247, Level 16, State 1, Procedure sp_configure, Line 106
User does not have permission to perform this action.
Msg 5812, Level 14, State 1, Procedure sp_ChangeServerMaxDOP, Line 9
You do not have permission to run the RECONFIGURE statement.

execute as USER:
процедура может выполняться только от имени юзера, не логина.
BOL
To execute sp_configure with both parameters to change a configuration option
or to run the RECONFIGURE statement, you must be granted the ALTER SETTINGS server-level permission.

а разрешение требуется уровня сервера, и дать его можно только логину.
это можно сделать через сертификат
17 ноя 16, 12:09    [19902935]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
смотрю_тут
Member

Откуда:
Сообщений: 1368
o-o
смотрю_тут
Хинты использовать не получается, запросы зашиты

plan guide


еще раз ,запросы каждый раз разные по структуре.

сегодня запрос
select from t1 inner join t2 whre id=1 id =2
а потом запрос
select from t2 inner join t1 whre id=2 id =1
или
select from t2 inner join t1 whre id=1

синтаксически разные порядок запросов в тексте, неизвестсное количество условий и их порядок
я уже пытался для этого использовать
17 ноя 16, 12:12    [19902959]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
o-o
Guest
смотрю_тут
Resource Governor...
для его активации и деактивации нужны права CONTROL SERVER что выше чем ALTER SETTINGS, насколько я понял.

дак вы админ или нет?
надо ж начинать с собственных прав.
настраивает Resource Governor админ, а влияет на всех,
ну не на того же, у кого CONTROL SERVER и только, иначе в чем смысл вообще?
17 ноя 16, 12:13    [19902962]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
o-o
Guest
смотрю_тут
o-o
пропущено...

plan guide


еще раз ,запросы каждый раз разные по структуре.

сегодня запрос
select from t1 inner join t2 whre id=1 id =2
а потом запрос
select from t2 inner join t1 whre id=2 id =1
или
select from t2 inner join t1 whre id=1

синтаксически разные порядок запросов в тексте, неизвестсное количество условий и их порядок
я уже пытался для этого использовать

а какой-то общий отличительный признак есть?
а то и не подойдет,
ну как настроить Governor на то, что всегда меняется?
время меняется, запрос меняется, что остается-то, юзер-исполнитель?
17 ноя 16, 12:15    [19902976]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
invm
Member

Откуда: Москва
Сообщений: 9913
смотрю_тут
я выше описал .
Задача: в определенный момент на время одного расчета нужно поменять maxdop, затем его назад вернуть.
Это не задача. Это ваш способ решения какой-то задачи. Саму задачу вы держите в тайне.
смотрю_тут
Resource Governor - думал. но:
а) он должен работать только в нужный момент
Resource Governor не нужно включать/выключать, его нужно настроить один раз под ваши потребности.
17 ноя 16, 12:21    [19903013]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
смотрю_тут
Member

Откуда:
Сообщений: 1368
o-o
смотрю_тут
пропущено...


еще раз ,запросы каждый раз разные по структуре.

сегодня запрос
select from t1 inner join t2 whre id=1 id =2
а потом запрос
select from t2 inner join t1 whre id=2 id =1
или
select from t2 inner join t1 whre id=1

синтаксически разные порядок запросов в тексте, неизвестсное количество условий и их порядок
я уже пытался для этого использовать

а какой-то общий отличительный признак есть?
а то и не подойдет,
ну как настроить Governor на то, что всегда меняется?
время меняется, запрос меняется, что остается-то, юзер-исполнитель?



постоянный только юзер, на время расчетов его нельзя менять.
еще раз более подробно , для тех кто не понял:
в 20-00 запускается процесс рассчета с сервера приложения под учеткой test1 на сервер sql в бд1

Расчет 1 сегодня выполнился за 10
расчет 2 сегодня выполнился за 12
Расчет 3 сегодня выполнился за 3


так вот, во время "расчет 2" нужно чтобы запросы выполнялись с maxdop=1 , далее по умолчанию на сервере
Запросы в расчет 2 разные , учетка во всех расчетах одна,
17 ноя 16, 12:45    [19903153]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
смотрю_тут,

автор
так вот, во время "расчет 2" нужно чтобы запросы выполнялись с maxdop=1 , далее по умолчанию на сервере

а уточните зачем?
17 ноя 16, 12:47    [19903170]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
o-o
Guest
приложение трогать нельзя, так?
кто же собирается менять maxdop и когда?
сидите вы с профайлером и видите: о, сейчас пошел первый расчет,
еще не время, а вот сейчас пойдет второй, так я поменяю,
а потом сразу обратно, ведь надо успеть до расчета номер 3, так?
17 ноя 16, 12:51    [19903184]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
o-o,

а после расчёта №3 надо сервер выключить и убрать рабочее место:)

сделайте джоб, в нем придумайте как ловить начало/конец или джоб/пакет толкайте клиентом, процедуру же вы как то толкать собирались
17 ноя 16, 12:54    [19903204]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
смотрю_тут
Member

Откуда:
Сообщений: 1368
o-o,

расчеты идет последовательно

1->2->3

я могу между этими расчетами единственно подпихнуть свой скрипт\код, расчеты это вызов кода с приложения, которые не меняется.
Расчет это не одна процедра\батч -то куча транзакций


автор
а уточните зачем?
- ответьте себе для чего данные параметр и на что влияет, вот и ответ.

не понятно: время расчета2 при maxdop=1 довольно хорошее, чем при maxdop установленно на сервере, но maxdop=1 для расчетов 1 и 3 довольно плохое значение и время расчетов увеличивается.
17 ноя 16, 12:59    [19903232]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
o-o
Guest
т.е. ваш код по смене maxdop должен выполнить юзер test1?
пишите процедуру, подписывайте ее сертификатом.
---
может лучше расскажете, как выяснили, что именно параллельное выполнение тормозит?
причем в РАЗНЫХ запросах!
достаточно, чтобы запрос шел под цифрой 2 и магически параллельно начинает тормозить?
а поставить этот вечно меняющийся расчет третим, и все наладится?
17 ноя 16, 13:20    [19903367]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
смотрю_тут,

автор
- ответьте себе для чего данные параметр и на что влияет, вот и ответ.

для себя я то ответил, но это как лечить насморк ампутацией, оптимизировать не? ну или поднимите порог парралелизма
17 ноя 16, 13:27    [19903410]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
смотрю_тут
Member

Откуда:
Сообщений: 1368
o-o,
да, я планировал test1 перед запуском расчета2 выполняет код по смене maxdop

Параметры maxdop берется на основании нагрузочных тестов, а не с потолка, как и все параметры сервера.Я ставлю так, не знаю как вы выбираете параметры сервера.


в каком смысле процедуру с сертификатом?
Бывает логин с сертификатом, шифрование , а про процедуру подробнее можно?
17 ноя 16, 14:25    [19903766]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
o-o
Guest
смотрю_тут
не знаю как вы выбираете параметры сервера.

я никак не выбираю, это не мои обязанности.
-----
а мой вопрос был такой:
у вас имеется куча запросов, и для всех них подходит распараллеливание, правильно?
и НЕ ПОДХОДИТ только для расчета номер2, так?
внимание, вопрос: под расчетом номер 2 у вас идет не конкретный запрос, а каждый раз разные, вы сами так написали.
и вот для всех этих РАЗНЫХ запросов распараллеливание не подходит, для всех.

нет, ну я понимаю для конкретного запроса,
но у вас-то запросы каждый раз разные, а объединяет их лишь название "расчет номер 2"

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

смотрю_тут
в каком смысле процедуру с сертификатом?
Бывает логин с сертификатом, шифрование , а про процедуру подробнее можно?

1. Create a certificate in the master database.
2. Create a login for that certificate.
3. Grant that login ALTER SETTINGS.
4. Export the certificate to file.
5. Switch to the application database.
6. Import the certificate from the file.
7. Delete the file from disk.
8. Create a user for the certificate.
9. Sign the stored procedure with the certificate, each time you have changed the procedure
17 ноя 16, 14:38    [19903879]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
komrad
Member

Откуда:
Сообщений: 5919
смотрю_тут
в каком смысле процедуру с сертификатом?
Бывает логин с сертификатом, шифрование , а про процедуру подробнее можно?


https://www.sqlskills.com/blogs/jonathan/certificate-signing-stored-procedures-in-multiple-databases/
17 ноя 16, 16:45    [19904537]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 9160
Сервис брокер выполняет брокерные процедуры от имени sa. Может как-то поможет.
17 ноя 16, 16:51    [19904567]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
o-o
Guest
komrad
смотрю_тут
в каком смысле процедуру с сертификатом?
Бывает логин с сертификатом, шифрование , а про процедуру подробнее можно?


https://www.sqlskills.com/blogs/jonathan/certificate-signing-stored-procedures-in-multiple-databases/

ему не надо попадать в другую базу.
ему надо дать права уровня сервера
17 ноя 16, 16:54    [19904577]     Ответить | Цитировать Сообщить модератору
 Re: sp_configure без прав sysadmins  [new]
komrad
Member

Откуда:
Сообщений: 5919
o-o
komrad
пропущено...


https://www.sqlskills.com/blogs/jonathan/certificate-signing-stored-procedures-in-multiple-databases/

ему не надо попадать в другую базу.
ему надо дать права уровня сервера


ну так голову-то приложить надо! :)
по ссылке указан усложненный пример со скриптами
отрежь половину и получишь скрипт для себя - у меня это заняло 2 минуты для своей задачи
17 ноя 16, 17:49    [19904866]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить