Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: ←Ctrl назад 1 [2] 3 вперед Ctrl→ все |
step_ks Member Откуда: Сообщений: 936 |
Кэш процедур в момент вылета, судя по всему, вообще вычищается. Procedure Cache Value Что касается -g384 - вылеты остаются. И даже не реже.
|
|||||
4 окт 12, 08:53 [13265344] Ответить | Цитировать Сообщить модератору |
antair Member Откуда: Сообщений: 3 |
У меня, похоже, вылечилось последними апдейтами. (SQL 2012). |
14 окт 12, 15:02 [13315682] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
EV.P Member Откуда: Сообщений: 134 |
antair, MS SQL SERVER 2017 Developer Edition. Все баги с 701 ошибкой снова проявились во всей красе с первых же секунд с момента старта приложения. Не помог ни один совет с Microsoft и даже со stackoverflow. |
25 фев 19, 20:14 [21819114] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
|
||
25 фев 19, 20:17 [21819119] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
|
||
1 мар 19, 01:45 [21822314] Ответить | Цитировать Сообщить модератору |
EV.P Member Откуда: Сообщений: 134 |
Конкретный вопрос - как избежать ошибки 701 "There is insufficient system memory in resource pool"? Не помогло даже обновление до MS SQL Server 2019 CTP 2.2 и установка максимального объёма памяти, выделяемого серверу в 12Гб (при установленных в сервер 32 Гб). |
||||
5 мар 19, 17:57 [21825654] Ответить | Цитировать Сообщить модератору |
EV.P Member Откуда: Сообщений: 134 |
Объём базы - 2 Гб сейчас. Количество транзакций в секунду около 20. В основном это update. Запросы несложные, так как бизнес-логика вынесена в сервер приложений (.Net C#). |
||||
5 мар 19, 17:58 [21825658] Ответить | Цитировать Сообщить модератору |
step_ks Member Откуда: Сообщений: 936 |
Переписать запрос. Можно еще показать @@version, запрос и полное сообщение об ошибке. |
||
5 мар 19, 23:56 [21825829] Ответить | Цитировать Сообщить модератору |
EV.P Member Откуда: Сообщений: 134 |
@@version: Microsoft SQL Server 2019 (CTP2.2) - 15.0.1200.24 (X64) Dec 5 2018 16:51:26 Copyright (C) 2018 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 17763: ) Запрос: exec sp_executesql N'if not exists (select 1 from trades where stellartradeid = @stellartradeid) insert into trades (stellartradeid, tradedate, buysell, traderid, volume, netvolume, price, nettradevolume, orderid, exchangetradeid, outrightid, strategyid, tradestatusid, tradetypeid, modifieddatetime, indatetime, tradedatetimelocal, clearingdate, ispem, issim) values (@stellartradeid, @tradedate, @buysell, @traderid, @volume, @netvolume, @price, @nettradevolume, @orderid, @exchangetradeid, @outrightid, @strategyid, @tradestatusid, @tradetypeid, @modifieddatetime, @indatetime, @tradedatetimelocal, @clearingdate, @ispem, @issim);',N'@stellartradeid int,@tradedate datetime2(7),@buysell int,@traderid int,@volume int,@netvolume decimal(19,8),@price decimal(15,8),@nettradevolume decimal(19,8),@orderid varchar(20),@exchangetradeid varchar(255),@tradestatusid int,@tradetypeid int,@outrightid int,@strategyid int,@modifieddatetime datetime2(7),@indatetime datetime2(7),@tradedatetimelocal datetime2(7),@clearingdate datetime2(7),@ispem bit,@issim bit',@stellartradeid=388716293,@tradedate='2019-03-05 16:03:28',@buysell=-1,@traderid=4787,@volume=5,@netvolume=-5.00000000,@price=158.08000000,@nettradevolume=-790.40000000,@orderid='978204193',@exchangetradeid='20190305:72060810968432684:1551767405020376916:50000:5231100:14139:5231102',@tradestatusid=7,@tradetypeid=9,@outrightid=423,@strategyid=NULL,@modifieddatetime='2019-03-05 16:03:28',@indatetime='2019-03-05 18:13:13.7111830',@tradedatetimelocal='2019-03-05 14:03:28',@clearingdate='2019-03-05 00:00:00',@ispem=0,@issim=0 Полное сообщение об ошибке: "Для выполнения этого запроса недостаточно системной памяти в пуле ресурсов "bm"." Источник: MSSQLSERVER Код: 701 Уровень: Ошибка Категория задачи: Сервер Во. Сообщение было отредактировано: 6 мар 19, 11:02 |
||||
6 мар 19, 10:12 [21825945] Ответить | Цитировать Сообщить модератору |
EV.P Member Откуда: Сообщений: 134 |
step_ks, Что может быть проще, чем 'if not exists (select 1 from ...) insert into ... else update....'? |
6 мар 19, 10:25 [21825948] Ответить | Цитировать Сообщить модератору |
step_ks Member Откуда: Сообщений: 936 |
1. "else update" не видать 2. trades - таблица? триггеров нет? 3. пул 'bm' - ваш? если да, то без него работает? |
||
6 мар 19, 10:44 [21825974] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5515 |
у товарища, похоже, Resource Governor включен |
||
6 мар 19, 10:52 [21825983] Ответить | Цитировать Сообщить модератору |
EV.P Member Откуда: Сообщений: 134 |
step_ks, 1. Пул BM - мой. На него отведено 80% памяти через Resource Governor. 2. Resource Governor включён. 3. trades - memory optimized таблица. Триггеров нет. Update действительно нет. if not exists нужен чтобы не вставлять дубль. Ошибка стабильно вылетает. Поможет ли добавление учётной записи MS SQL Server в групповую учётку по "allow lock pages in memory"? Без Resource Governor ошибка также появляется. |
6 мар 19, 11:49 [21826063] Ответить | Цитировать Сообщить модератору |
step_ks Member Откуда: Сообщений: 936 |
По memory optimized опыта нет. Можно посоветовать не делать memory optimized - 12 ГБ, имхо, эт не тот объем ОЗУ, чтобы использовать inmemory.
В любом случае не помешает. |
||||
6 мар 19, 11:54 [21826077] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5515 |
есть текст ошибки? |
||
6 мар 19, 12:01 [21826085] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8346 |
Оно уже там. Да и не поможет, поскольку Вы лимитировали пул. У вас может быть настолько неудачная стратегия выполнения запроса, что он требует большое количество памяти. Т.е. хочет грант, который не помещается в пул. Отдайте запросу всю память и посмотрите, сколько будет выделено и сколько использовано фактически. Потом прикрутите фитилёк выделения памяти в своём пуле на запрос до фактического +10..15%. |
||
6 мар 19, 12:03 [21826087] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8346 |
step_ks, возможно, allow lock pages in memory как раз и мешает. Мало памяти, а в своп использовать нельзя блокировкой. |
6 мар 19, 12:05 [21826091] Ответить | Цитировать Сообщить модератору |
EV.P Member Откуда: Сообщений: 134 |
step_ks, Memory optimized крайне нужен для OLAP. Сейчас делаю приложение, которое как раз использует кубы данных. |
6 мар 19, 12:08 [21826095] Ответить | Цитировать Сообщить модератору |
EV.P Member Откуда: Сообщений: 134 |
Error: 701, Severity: 17, State: 123 There is insufficient system memory in resource pool 'bm' to run this query. |
||||
6 мар 19, 12:10 [21826098] Ответить | Цитировать Сообщить модератору |
EV.P Member Откуда: Сообщений: 134 |
Владислав Колосов, Как отдать всю память запросу? Где это лимитируется? |
6 мар 19, 12:11 [21826100] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8346 |
Не буду врать, по-моему, выделяется до трети объема памяти, доступной серверу, на запрос. |
6 мар 19, 12:19 [21826108] Ответить | Цитировать Сообщить модератору |
EV.P Member Откуда: Сообщений: 134 |
Владислав Колосов, Нашёл информацию, что это стандартный баг сервера. Для 2008 Этот баг пофиксили в SP3. Для 2012 и более поздних - ещё нет. Также нашёл, что memory optimized базы работают крайне ужасно (нет редактора колонок и ключей и т.д.). |
6 мар 19, 12:34 [21826126] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5515 |
это ошибка при выключенном Resource Governor? |
||||
6 мар 19, 12:39 [21826136] Ответить | Цитировать Сообщить модератору |
step_ks Member Откуда: Сообщений: 936 |
allow lock pages in memory не запрещает же своп совсем. |
||
6 мар 19, 12:45 [21826142] Ответить | Цитировать Сообщить модератору |
EV.P Member Откуда: Сообщений: 134 |
komrad, Нет, при включённом. При выключенном текст ошибки: Insufficient memory to continue the execution of the query. Error: 701, Severity: 17, State: 103 |
6 мар 19, 12:47 [21826147] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: ←Ctrl назад 1 [2] 3 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |