Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
Хочу дать доступ в базу MS SQL Server 2017 доступ пользователям, чьи запросы я не смогу контролировать. Можно ли для конкретной учётки/роли указать что все запросы (разрешён только SELECT), которые выполняются от имени данной учётки, выполняются только в неблокирующем режиме? Также интересует, можно ли для конкретной учётки задать таймаут запросов, чтобы по истечении определённого времени они просто останавливались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 08:45 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
Max_11111, Нет. Просто включите RCSI и забудьте про ваше грязное чтение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 08:58 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
TaPaK, RCSI больше подходит для OLTP систем с множеством коротких транзакций. У меня же хранилище данных, а к нему RCSI применять не рекомендуется из-за наличия длительных транзакций. Спасибо за ответ, я потестирую, попробую применить данную технологию к своей базе и посмотреть что получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:10 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
[quot Max_11111]TaPaK, авторRCSI больше подходит для OLTP систем с множеством коротких транзакций. нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:25 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
Max_11111Можно ли для конкретной учётки/роли указать что все запросы (разрешён только SELECT), которые выполняются от имени данной учётки, выполняются только в неблокирующем режиме? Также интересует, можно ли для конкретной учётки задать таймаут запросов, чтобы по истечении определённого времени они просто останавливались? А может просто разобраться что тормозит и лочит ? И переписать по людски ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:47 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
MaxxMax_11111Можно ли для конкретной учётки/роли указать что все запросы (разрешён только SELECT), которые выполняются от имени данной учётки, выполняются только в неблокирующем режиме? Также интересует, можно ли для конкретной учётки задать таймаут запросов, чтобы по истечении определённого времени они просто останавливались? А может просто разобраться что тормозит и лочит ? И переписать по людски ? Так запросы-то не его. Другой вопрос, что проанализировать отсутствующие индексы всегда можно. И кстати, Resourse Governor тут не поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 12:09 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryiMaxxпропущено... А может просто разобраться что тормозит и лочит ? И переписать по людски ? Так запросы-то не его. Другой вопрос, что проанализировать отсутствующие индексы всегда можно. И кстати, Resourse Governor тут не поможет? главное слово ресурс. И DDL logon тоже не поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 12:26 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
Maxx, DaniilSeryi, TaPaK, Все известные запросы оптимизированы, проблемы могут возникнуть только с неконтролируемыми запросами, написанными пользователями. В этом случае я не знаю к каким таблицам и с какими запросами они обратятся. И я не могу наложить индексы на каждую комбинацию всех полей всех таблиц. А в базе есть таблицы с сотнями миллионов строк, к которым даже максимально оптимизированные запросы подтормаживают. Соответственно в идеале, чтобы не повесить систему, необходимо иметь механизм контроля, который будет: 1. Выполнять запросы этих пользователей с минимальным приоритетом, не блокируя ресурсы для других (важных) запросов 2. отрубать долгие запросы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 03:50 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
Max_11111, вы можете создать моментальный снимок базы для таких пользователей, но это связано с некоторым снижением дисковой производительности и требует Enterprise редакции, если не ошибаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 13:05 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
Max_111112. отрубать долгие запросы С этим у вас, наверное, нет никаких сложностей: настроить раз в N минут джоб, который ищет запросы дольше N минут от указанных пользователей, отправляет вам на почту отчет, что данные долгие запросы были прерваны, и выполняет kill для всех session_id из списка. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 13:39 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
В общем, читаем про Resourse Governor: https://blog.sqlauthority.com/2012/06/04/sql-server-simple-example-to-configure-resource-governor-introduction-to-resource-governor/ Max_11111 Соответственно в идеале, чтобы не повесить систему, необходимо иметь механизм контроля, который будет: 1. Выполнять запросы этих пользователей с минимальным приоритетом, не блокируя ресурсы для других (важных) запросов А для Max_11111 2. отрубать долгие запросы можно рассмотреть нижеприведённый вариант. Но тут не будет сортировки по логинам, так что могут пострадать и "свои" пользователи/запросы. Tip: Use the Query Governor to Control Excessive Query Execution The query governor does not allow the execution of any query that has a running time that exceeds a specified query cost. The query cost is the estimated time, in seconds, required to execute a query, and it is estimated prior to execution based on an analysis by the query engine. By default, the query governor is turned off, meaning there is no maximum cost. To activate the query governor, complete the following steps: 1. In the Server Properties dialog box, go to the Connections page. 2. Select the option Use Query Governor To Prevent Long-Running Queries. 3. In the box below the option, type a maximum query cost limit. The valid range is 0 through 2,147,483,647. A value of 0 disables the query governor; any other value sets a maximum query cost limit. 4. Click OK. With sp_configure, the following Transact-SQL statement will activate the query governor: exec sp_configure "query governor cost limit", <limit> You can also set a per-connection query cost limit in Transact-SQL using the following statement: set query_governor_cost_limit <limit> Note Before you activate the query governor, you should use the Query view to estimate the cost of current queries you are running on the server. This will give you a good idea of a value to use for the maximum query cost. You can also use the Query view to optimize queries. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 13:49 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryi, а вы точно понимаете разницу между долго и дорого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 14:02 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
TaPaKDaniilSeryi, а вы точно понимаете разницу между долго и дорого? Вы про "query cost"? В данном случае это the estimated time, in seconds, required to execute a query. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 14:07 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryiTaPaKDaniilSeryi, а вы точно понимаете разницу между долго и дорого? Вы про "query cost"? В данном случае это the estimated time, in seconds, required to execute a query. так суть то одна и таже, оценивается стоимость запроса и для обывателя переводится во время для его конфигурации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 14:26 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryi, ТС хотел, чтобы запросы останавливались после N секунд работы, а не в принципе не запускались на выполнение: The query cost is the estimated time, in seconds, and it is estimated prior to execution based on an analysis by the query engine. Для интереса попробовала, как работает данный функционал. Задала порог в 26 секунд и запустила у себя тестовый запрос (subtree cost был 46) - успешно отработал 5 минут. Все-таки оценка времени выполнения у оптимизатора может быть очень грубой. Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 14:27 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
У меня какая-то проблема с сервером: настройка на уровне сервера sp_configure 'query governor cost limit', 26 почему-то не работает. Reconfigure, рестарт инстанса ничего не дает. Зато опция работает на уровне отдельного соединения set query_governor_cost_limit 26, и запрос при попытке запуска сразу дает ошибку The query has been canceled because the estimated cost of this query (46) exceeds the configured threshold of 26 Т.е все-таки query governor cost limit - это estimated cost из плана, а не estimated time в секундах, что бы ни говорила документация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 00:49 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
Eleanorнастройка на уровне сервера sp_configure 'query governor cost limit', 26 почему-то не работает. Reconfigure, рестарт инстанса ничего не дает Не обратила внимания на настройки ssms - там 0, и они переписывают серверные. Все нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 01:02 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
[quot DaniilSeryi]В общем, читаем про Resourse Governor: https://blog.sqlauthority.com/2012/06/04/sql-server-simple-example-to-configure-resource-governor-introduction-to-resource-governor/ [quot] Спасибо за ссылку. Думаю так и сделаю EleanorMax_111112. отрубать долгие запросы С этим у вас, наверное, нет никаких сложностей: настроить раз в N минут джоб, который ищет запросы дольше N минут от указанных пользователей, отправляет вам на почту отчет, что данные долгие запросы были прерваны, и выполняет kill для всех session_id из списка. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Была схожая идея, но с другим способом получения информации. Ваш запрос лучше подходит для этого, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 09:00 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
TaPaKMax_11111, Нет. Просто включите RCSI и забудьте про ваше грязное чтение Вот так просто возьмите и включите. А вы в курсе, что есть несовместимые с RCSI запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 10:44 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
a_voroninTaPaKMax_11111, Нет. Просто включите RCSI и забудьте про ваше грязное чтение Вот так просто возьмите и включите. А вы в курсе, что есть несовместимые с RCSI запросы. просвящайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 10:49 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
Max_11111, как вариант, можно рассмотреть разделение системы на 2 слоя: расчетный и витрины (по сути - зеркало) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 10:58 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
TaPaKa_voroninА вы в курсе, что есть несовместимые с RCSI запросы. просвящайте. +1 Тоже интересно, с учетом того, что MS сделал этот уровень дефолтным в Азуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 11:37 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
EleanorTaPaKпропущено... просвящайте. +1 Тоже интересно, с учетом того, что MS сделал этот уровень дефолтным в Азуре. 3й год живу с RSCI, хочу всё знать. Может быть расхождения с требованиями бизнес-логики, но прям несовместимые запросы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 11:40 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
КритикMax_11111, как вариант, можно рассмотреть разделение системы на 2 слоя: расчетный и витрины (по сути - зеркало) В планах добавить второй сервер, прикрутить синхронизацию (возможно через AlwaysOn), и настроить один сервер на запись и обработку данных, а другой - на чтение. но пока это планы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 11:51 |
|
||
|
Можно ли для конкретного пользователя задать режим грязного чтения?
|
|||
|---|---|---|---|
|
#18+
EleanorTaPaKпропущено... просвящайте. +1 Тоже интересно, с учетом того, что MS сделал этот уровень дефолтным в Азуре. Азуре совершенно другая база, где нет многого к чему привыкли. На обычном SQL Server не работает обновление колумнсторов под RSCI на 2014, DDL операции внутри транзакций и был список из других фич. В общем, полной совместимости, чтобы вот так взять и переключить не тестируя сначала -- нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 17:59 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39663987&tid=1689498]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 264ms |
| total: | 469ms |

| 0 / 0 |
