Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 There is insufficient system memory in resource pool 'default' to run this query  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
Я почему то получаю ошибку при создании таблицы. Просто создаю табличку пока.. а уже не хватает памяти.
SQL Server 2014
Msg 701, Level 17, State 137, Line 0
There is insufficient system memory in resource pool 'default' to run this query.



Сделал поиск по гуглу - рекомендовали 1024 Мб поменять на побольше. Поставил 2600 - не помогло. Я понимаю, наверняка есть причина, но как же они определяют сколько надо памяти и для чего?

CREATE TABLE [dbo].[BrTransaction](
	[someId] BIGINT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 1000000000),
	[otId] [bigint] NULL,
	[ptId] [bigint] NULL,
	[ntId] [bigint] NULL,
	[hType] [tinyint] NULL,
	[acId] [int] NOT NULL,
	[prID] [int] NOT NULL,
	[pTypeId] [int] NOT NULL,
	[ilType] [smallint] NOT NULL,
	[vrNumber] [varchar](50) NULL,
	[vdOn] [varchar](50) NULL,
	[ifTranId] [int] NULL,
	[tFeedId] [int] NULL,
	[dQuantity] [decimal](19, 5) NULL,
	[mAmount] [money] NULL,
	[mPrice] [money] NULL,
	[mAccruedInterest] [money] NULL,
	[mValue] [money] NULL ,
	[dtCostDate] [date] NULL,
	[dtSettleDate] [date] NULL,
	[dtPostDate] [date] NOT NULL,
	[ticbTypeId] [tinyint] NULL,
	[itTypeId] [smallint] NOT NULL,
	[bIsCanceling] [bit] NULL,
	[bPostVoid] [bit] NOT NULL,
	[dtEntryDate] [datetime] NOT NULL,
	[cOrigin] [char](1) NULL,
	[bPrepared] [bit] NOT NULL,
	[bProcessed] [bit] NOT NULL,
	[trStatus] [int] NOT NULL,
	[bHidden] [bit] NOT NULL,
	[brFlag] [bit] NOT NULL,
	[cxTran] [bit] NULL,
	[EventId] [int] NULL,
	[pOrder] [tinyint] NOT NULL,
	[oGroup] [tinyint] NOT NULL,
	[tPart] [tinyint] NOT NULL,
	[aOrder] [int] NULL,
	[xOrder] [decimal](38,19),
	[ReferenceId] [bigint] NULL,
	[State] [tinyint] NOT NULL
)WITH (MEMORY_OPTIMIZED = ON)


автор
Microsoft SQL Server 2014 (CTP2) - 12.0.1524.0 (X64)
Oct 3 2013 19:00:26
Copyright (c) Microsoft Corporation
Enterprise Evaluation Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
19 фев 14, 06:27    [15586835]     Ответить | Цитировать Сообщить модератору
 Re: There is insufficient system memory in resource pool 'default' to run this query  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
HASH WITH (BUCKET_COUNT = 1000000000)

вот щас попробовал поэкспериментировать с этой штукой - уменьшал по нолику - как тока дошло до милиона - то стало через раз создавать без ошибки. Вообще странно, во вкладке Storage - дата 0.000 Mb + индексы 8.000 Mb. Все же мне до сих пор соверщенно не очевидно - сколько, и зачем так много, памяти надо серверу просто чтобы создать такую таблицу. И как самому в таких случаях прикинуть в голове в мегабайтах с чем имеем дело?
19 фев 14, 06:53    [15586846]     Ответить | Цитировать Сообщить модератору
 Re: There is insufficient system memory in resource pool 'default' to run this query  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
BusyMan
Я почему то получаю ошибку при создании таблицы. Просто создаю табличку пока.. а уже не хватает памяти.
SQL Server 2014
Msg 701, Level 17, State 137, Line 0
There is insufficient system memory in resource pool 'default' to run this query.



Сделал поиск по гуглу - рекомендовали 1024 Мб поменять на побольше.
RTFM не предлагать?
http://msdn.microsoft.com/en-us/library/dn511012(v=sql.120).aspx
19 фев 14, 21:50    [15593931]     Ответить | Цитировать Сообщить модератору
 Re: There is insufficient system memory in resource pool 'default' to run this query  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
BusyMan
Вообще странно, во вкладке Storage - дата 0.000 Mb + индексы 8.000 Mb. Все же мне до сих пор соверщенно не очевидно - сколько, и зачем так много, памяти надо серверу просто чтобы создать такую таблицу.

Все же описано.
http://msdn.microsoft.com/en-us/library/dn494956(v=sql.120).aspx
Big Tables
For large tables, memory utilization could become a concern. For example, with a 250 million row table that has 4 hash indexes, each with a bucket count of one billion, the overhead for the hash tables is 4 indexes * 1 billion buckets * 8 bytes = 32 gigabytes of memory utilization.

И при чем тут вообще Storage, если это Memory-Optimized Tables.
Также логично предположить что хэш-структура, указанной размерности, создается в момент создания таблицы, а не когда то потом когда таблица будет наполнятся данными.
19 фев 14, 21:56    [15593965]     Ответить | Цитировать Сообщить модератору
 Re: There is insufficient system memory in resource pool 'default' to run this query  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
Mind
И при чем тут вообще Storage, если это Memory-Optimized Tables.

Вот как раз не важно что за таблица, а во вкладке Storage все равно все показано. Вот только что добавил 100К строк в таблицу - и вместо "дата 0.000 Mb + индексы 8.000 Mb" там стало "дата 21.418 Mb + индексы 8.000 Mb".
21 фев 14, 20:17    [15607725]     Ответить | Цитировать Сообщить модератору
 Re: There is insufficient system memory in resource pool 'default' to run this query  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
BusyMan
Mind
И при чем тут вообще Storage, если это Memory-Optimized Tables.

Вот как раз не важно что за таблица, а во вкладке Storage все равно все показано. Вот только что добавил 100К строк в таблицу - и вместо "дата 0.000 Mb + индексы 8.000 Mb" там стало "дата 21.418 Mb + индексы 8.000 Mb".
Hash структура то не показана. А под данные и индексы конечно место надо на диске, про это речи то и не было.
22 фев 14, 03:32    [15609691]     Ответить | Цитировать Сообщить модератору
 Re: There is insufficient system memory in resource pool 'default' to run this query  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
Нашел статейку в BOL - как то она там спрятана и сразу не кидается в глаза
Table and Row Size in Memory-Optimized Tables
22 фев 14, 22:23    [15612498]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить