Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Could not allocate space / 25 сообщений из 30, страница 1 из 2
15.12.2021, 07:27
    #40120144
alHaos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
Добрый день уважаемые.

Периодически происходит событие

DESCRIPTION: Could not allocate space for object 'INDEX_NAME' in database 'DBNAME' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

Предполагаю во время выполнения задания по перестройки индексов.

В файловой группе PRIMARY несколько файлов на одном из них выставлен AutoGrow.
Места на диске достаточно.

Подскажите пожалуйста в чем может быть дело.
...
Рейтинг: 0 / 0
15.12.2021, 09:20
    #40120152
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
alHaos,

В виндовом Event Viewer на эту тему ничего нет?

Дисковые квоты - ?

Ну и print @@version в студию.
...
Рейтинг: 0 / 0
15.12.2021, 10:23
    #40120164
andy st
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
alHaos,
достаточное место не в момент события может быть следствием модели восстановления simple, автошринка на базах или шринка в регламентных заданиях (варианты, когда одмин удаляет по одному фильму из коллекции на этом сервере по факту окончания места и аналогичные, я пропускаю)
имеет смысл настроить мониторинг свободного места на диске с небольшим интервалом сбора и смотреть наличие места на время появления ошибки. тот же xp_fixeddrives в табличку раз в минуту наверное проканает.
это если с квотами всё норм и автоприращение на правильном файле включено
...
Рейтинг: 0 / 0
15.12.2021, 12:06
    #40120190
alHaos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
Ennor Tiegael,

Посмотрел Application и System журналы, ничего подозрительного нет.

Код: plaintext
1.
2.
3.
4.
Microsoft SQL Server 2014 (SP3) (KB4022619) - 12.0.6024.0 (X64) 
	Sep  7 2018 01:37:51 
	Copyright (c) Microsoft Corporation
	Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
...
Рейтинг: 0 / 0
15.12.2021, 12:11
    #40120192
alHaos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
andy st, Модель sample, автошринк отключен, место тут исчисляется терабайтами... сомневаюсь что свободных четыре терабайта есть возможность забить и освободить за короткое время.
...
Рейтинг: 0 / 0
15.12.2021, 12:13
    #40120194
alHaos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
Может ли как то autogrow влиять?, не хватило место в файле данных во время переиндексации
возникла ошибка, место добавилось.
...
Рейтинг: 0 / 0
15.12.2021, 15:33
    #40120268
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
alHaos,

чудес не бывает, 'PRIMARY' filegroup is full.
...
Рейтинг: 0 / 0
15.12.2021, 15:52
    #40120281
andy st
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
alHaos
andy st, Модель sample, автошринк отключен, место тут исчисляется терабайтами... сомневаюсь что свободных четыре терабайта есть возможность забить и освободить за короткое время.

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

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

Засрать tempdb, при окончании места рестартануть службу mssql, чтобы "почистить" место - это тоже частая success story.
А еще видел скрипт на планировщике, который детачил базу с чрезвычайно разросшимся логом, убивал лог, присоединял базу с пересозданием лога...
Так что вариантов того, что у вас там творится - тьма.
...
Рейтинг: 0 / 0
15.12.2021, 15:56
    #40120284
andy st
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
А еще одмины дисковой подсистемы могут изредка бдить наличие отсутствия свободного места и по прилёту сообщения "ой всё" тупо добавлять место на разделах.
...
Рейтинг: 0 / 0
15.12.2021, 16:16
    #40120297
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
alHaos
Может ли как то autogrow влиять?
Кстати может. Например, у вас на диске свободны 4 Тб, как вы говорите, но при этом автоприращение может быть настроено так, что ему нужно 5 Тб.
...
Рейтинг: 0 / 0
15.12.2021, 16:42
    #40120307
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
alHaos,

предоставьте вывод:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
use <имя вашей бд>;


select
     [file_id],
     [type_desc],
     [size],
     [max_size],
     [growth],
     [is_percent_growth],
     fileproperty([name], 'SpaceUsed') as [used_pages]
from sys.database_files;

exec xp_fixeddrives;
...
Рейтинг: 0 / 0
07.02.2022, 07:23
    #40132152
alHaos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
Добрый день, случился рецидив.

ОшибкаDESCRIPTION: Could not allocate space for object 'dbo.table'.'Idx' in database 'database' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

felix_ff,
file_idtype_descsizemax_sizegrowthis_percent_growthused_pages1ROWS553879200-1005538789682LOG31713744-11016767943ROWS265606176-1002656061524ROWS262233304-1002622331765ROWS280625152-1002803415206ROWS146669568-11310720143640784


driveMB freeC61904E10485130G4288857H5693234I7477990
...
Рейтинг: 0 / 0
07.02.2022, 11:21
    #40132167
programmator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
alHaos,

Добрый день.
чему равен MAXSIZE?
...
Рейтинг: 0 / 0
07.02.2022, 11:44
    #40132172
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
alHaos,

а этот скрипт что покажет?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
SELECT db_name() [DB]
	,isnull(ds.name, 'Not Applicable') AS [FileGroup]
	,df.file_id
	,df.name AS [FileName]
	,df.type_desc AS [Type]
	,left(df.physical_name, 3) [Drive]
	,convert(INT, size / 128.) [Size (MB)]
	,convert(INT, FILEPROPERTY(df.name, 'SpaceUsed') / 128.) [Used Space (MB)]
	,convert(INT, size / 128.0 - FILEPROPERTY(df.name, 'SpaceUsed') / 128.) AS [Available Space (MB)]
	,df.state_desc AS [Status]
	,CASE 
		WHEN df.max_size = - 1
			THEN 'Unlimited'
		ELSE convert(VARCHAR(50), ceiling(df.max_size / 128.))
		END AS [Max Size (MB)]
	,CASE 
		WHEN df.is_percent_growth = 1
			THEN convert(VARCHAR(20), df.growth) + '%'
		ELSE convert(VARCHAR(20), convert(INT, df.growth / 128.)) + ' MB'
		END AS [Growth]
	,df.is_read_only
	,df.is_media_read_only
	,df.is_sparse
FROM sys.database_files df
LEFT JOIN sys.data_spaces ds ON df.data_space_id = ds.data_space_id
ORDER BY df.file_id
...
Рейтинг: 0 / 0
07.02.2022, 12:13
    #40132179
alHaos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
programmator,

- 1

file_idtype_descsizemax_sizegrowthis_percent_growthused_pagesmax_size1ROWS553879200-100553878720-12LOG31713744-1101208960-13ROWS265606176-100265606104-14ROWS262233304-100262232976-15ROWS280625152-100280393464-16ROWS146669568-11310720144386552-1
...
Рейтинг: 0 / 0
07.02.2022, 12:16
    #40132180
alHaos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
komrad,

DBFileGroupfile_idFileNameTypeDriveSize (MB)Used Space (MB)Available Space (MB)StatusMax Size (MB)Growthis_read_onlyis_media_read_onlyis_sparse[database]PRIMARY1DataROWSG:\432718143271773ONLINEUnlimited0 MB000[database]Not Applicable2LogLOGG:\2477631778245985ONLINEUnlimited10%000[database]PRIMARY3Data_01ROWSG:\207504820750470ONLINEUnlimited0 MB000[database]PRIMARY4Data_02ROWSG:\204869720486952ONLINEUnlimited0 MB000[database]PRIMARY5Data_03ROWSG:\219238421905771806ONLINEUnlimited0 MB000[database]PRIMARY6Data_04ROWSG:\1145856112804517811ONLINEUnlimited1024 MB000
...
Рейтинг: 0 / 0
07.02.2022, 12:52
    #40132191
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
alHaos,

у вас для четырех файлов автоприращение выключено, при этом в трех из них свободно менее 5 mb свободного пространства.

начните с того что для каждого файла данных установите автоприращение в 1024 mb
...
Рейтинг: 0 / 0
07.02.2022, 13:29
    #40132200
alHaos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
felix_ff, это намеренно, стараемся на допускать увеличения фала более 2 тб, становится затруднительно то же копирование, когда крайний приблизится к 2тб, добавим новый, у текущего аутогроу выключим.
...
Рейтинг: 0 / 0
07.02.2022, 13:32
    #40132201
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
felix_ff
alHaos,

у вас для четырех файлов автоприращение выключено, при этом в трех из них свободно менее 5 mb свободного пространства.

начните с того что для каждого файла данных установите автоприращение в 1024 mb

у него файл Data_04 должен расти, да и в нем 17ГБ свободно ещё

alHaos, а на папку с файлами БД нет ограничения (квота) на размер?
...
Рейтинг: 0 / 0
07.02.2022, 13:59
    #40132209
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
komrad,
если был бы отказ со стороны файловой системы, то база бы упала в "подозрение". Емнип сервер это считает неисправимой ошибкой.
...
Рейтинг: 0 / 0
07.02.2022, 14:00
    #40132211
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
А как сервер пишет в несколько файлов базы? Разве он не пытается их заполнять равномерно?
...
Рейтинг: 0 / 0
07.02.2022, 14:03
    #40132213
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
Владислав Колосов
А как сервер пишет в несколько файлов базы? Разве он не пытается их заполнять равномерно?

зависит от свободного места в файле - Proportional Fill Algorithm

https://www.sqlshack.com/understanding-sql-server-proportional-fill-algorithm/
...
Рейтинг: 0 / 0
07.02.2022, 14:32
    #40132223
Could not allocate space
alHaos,

dbcc shrinkfile точно не работает на базе? приходилось сталкиваться с таким поведением при одновременной работе alter index reorganize и dbcc shrinkfile. при этом в моем случае об autogrowth даже речи не могло быть, т.к. свободного места в бд было с изрядным запасом.
...
Рейтинг: 0 / 0
07.02.2022, 14:40
    #40132230
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
alHaos,

а, сорри я чет не обратил внимания что все файлы к одной ФГ принадлежат
...
Рейтинг: 0 / 0
07.02.2022, 15:10
    #40132250
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Could not allocate space
РядомСтоял
alHaos,

dbcc shrinkfile точно не работает на базе? приходилось сталкиваться с таким поведением при одновременной работе alter index reorganize и dbcc shrinkfile. при этом в моем случае об autogrowth даже речи не могло быть, т.к. свободного места в бд было с изрядным запасом.


alHaos,
проверьте дефолтный трейс на предмет dbcc shrink*

DBCC
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
WITH trc
AS (
	SELECT reverse(stuff(reverse(path), 1, charindex('_', reverse(path)), '')) + '.trc' [fpath]
		,max_files
	FROM sys.traces
	WHERE is_default = 1
		AND STATUS = 1
	)
SELECT TOP 100 te.name
	,ft.SPID
	,ft.LoginName
	,ft.Hostname
	,ft.ClientProcessID
	,ft.DatabaseName
	,ft.FileName
	,ft.StartTime
	,dateadd(ms, ft.Duration / 1000, ft.StartTime) [FinishTime]
	,ft.ApplicationName
	,ft.ObjectID
	,ft.Duration / 1000 / 1000 [Duration (s)]
	,ft.TextData
	,ft.RoleName
	,ft.TargetUserName
	,ft.TargetLoginName
FROM trc st
CROSS APPLY::fn_trace_gettable(st.fpath, st.max_files) AS ft
INNER JOIN sys.trace_events AS te ON ft.EventClass = te.trace_event_id
WHERE te.name LIKE '%DBCC%'
ORDER BY ft.StartTime DESC;



+ события роста файлов базы

Growth
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
WITH trc
AS (
	SELECT reverse(stuff(reverse(path), 1, charindex('_', reverse(path)), '')) + '.trc' [fpath]
		,max_files
	FROM sys.traces
	WHERE is_default = 1
		AND STATUS = 1
	)
SELECT TOP 100 te.name
	,ft.SPID
	,ft.LoginName
	,ft.Hostname
	,ft.ClientProcessID
	,ft.DatabaseName
	,ft.FileName
	,ft.StartTime
	,dateadd(ms, ft.Duration / 1000, ft.StartTime) [FinishTime]
	,ft.ApplicationName
	,ft.ObjectID
	,ft.Duration / 1000 / 1000 [Duration (s)]
	,ft.TextData
	,ft.RoleName
	,ft.TargetUserName
	,ft.TargetLoginName
FROM trc st
CROSS APPLY::fn_trace_gettable(st.fpath, st.max_files) AS ft
INNER JOIN sys.trace_events AS te ON ft.EventClass = te.trace_event_id
WHERE te.name LIKE '%Growth'
ORDER BY ft.StartTime DESC;

...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Could not allocate space / 25 сообщений из 30, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]