Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / FILEPROPERTY(name, 'SpaceUsed') / 16 сообщений из 16, страница 1 из 1
11.09.2018, 13:55
    #39700922
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
Выполняется реиндекс и шринк базы данных, после чего нужно посмотреть размер ее файлов. Пытаюсь это сделать следующим образом:

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT name,
		file_size = 8 * size,
		free = 8 * (size - FILEPROPERTY(name, 'SpaceUsed')),
		autogrowth = 8 * 2 * CASE is_percent_growth WHEN 0 THEN growth ELSE growth * size / 100 END
	FROM sys.database_files
	WHERE growth > 0
	ORDER BY [type], name



Вроде работает, но если запускать данный запрос сразу, то значение free будет неверным. С задержкой 10 секунд (для моей тестовой базки) - результат возвращается правильный.

Собственно вопрос - каким образом можно заставить FILEPROPERTY(name, 'SpaceUsed') вернуть правильный результат сразу? Ну или кто знает иное решение?
...
Рейтинг: 0 / 0
11.09.2018, 14:40
    #39700939
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
AndrF Выполняется реиндекс и шринк базы данных , после чего нужно посмотреть размер ее файлов.
бессмысленное мероприятие, если только вы не отрезаете свободное место в хвосте файла
...
Рейтинг: 0 / 0
11.09.2018, 14:52
    #39700944
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
komradбессмысленное мероприятие, если только вы не отрезаете свободное место в хвосте файла

Мне нужно определиться - нужно ли делать шринк данного файла после произведенных операций.
...
Рейтинг: 0 / 0
11.09.2018, 14:58
    #39700946
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
AndrFkomradбессмысленное мероприятие, если только вы не отрезаете свободное место в хвосте файла

Мне нужно определиться - нужно ли делать шринк данного файла после произведенных операций.
так ответ и так известный
...
Рейтинг: 0 / 0
11.09.2018, 15:13
    #39700956
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
TaPaKтак ответ и так известный

Далеко не однозначно.
...
Рейтинг: 0 / 0
11.09.2018, 15:50
    #39700974
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
...
Рейтинг: 0 / 0
11.09.2018, 16:22
    #39700990
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
komrad,

Про фрагментацию индексов известно ( вот, к примеру ), но это решается довольно просто - выполнением INDEX_REORGANIZE для таблиц с высокой фрагментацией.

Так что по прежнему интересует как можно определить размер файлов базы данных после определенный операций.

Проблема в том что FILEPROPERTY(name, 'SpaceUsed')) в данной ситуации возвращает правильное значение лишь через некоторое время...
...
Рейтинг: 0 / 0
11.09.2018, 16:22
    #39700991
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
komrad,

Про фрагментацию индексов известно ( вот, к примеру ), но это решается довольно просто - выполнением INDEX_REORGANIZE для таблиц с высокой фрагментацией.

Так что по прежнему интересует как можно определить размер файлов базы данных после определенный операций.

Проблема в том что FILEPROPERTY(name, 'SpaceUsed')) в данной ситуации возвращает правильное значение лишь через некоторое время...
...
Рейтинг: 0 / 0
11.09.2018, 16:39
    #39700994
WarAnt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
AndrF,

DBCC UPDATEUSAGE
...
Рейтинг: 0 / 0
11.09.2018, 16:39
    #39700995
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
WarAntAndrF,

DBCC UPDATEUSAGE

Пробовал - не помогает :(
...
Рейтинг: 0 / 0
11.09.2018, 16:40
    #39700997
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
AndrFПро фрагментацию индексов известно ( вот, к примеру ), но это решается довольно просто - выполнением INDEX_REORGANIZE для таблиц с высокой фрагментацией.Не путайте внутреннюю и внешнюю фрагментацию.
Shrink порождает внешнюю, reorganize убирает внутреннюю.
...
Рейтинг: 0 / 0
11.09.2018, 16:55
    #39701002
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
invmНе путайте внутреннюю и внешнюю фрагментацию.
Shrink порождает внешнюю, reorganize убирает внутреннюю.

Хм. А где это написано? Вроде он должен работать с уже имеющимся файлом. Или я ошибаюсь, тогда где почитать?

Если ошибаюсь, то какое из зол лучше?
...
Рейтинг: 0 / 0
11.09.2018, 17:02
    #39701006
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
AndrFтогда где почитать? https://blog.devart.com/sql-server-index-fragmentation-in-depth.html

Заезженная рекомендация "опытных собаководов" - если уж и делать shrink. то с опцией truncateonly.
...
Рейтинг: 0 / 0
11.09.2018, 17:58
    #39701035
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
invmAndrFтогда где почитать? https://blog.devart.com/sql-server-index-fragmentation-in-depth.html

Заезженная рекомендация "опытных собаководов" - если уж и делать shrink. то с опцией truncateonly.

В свойствах диска настроена автоматическая дефрагментация файлов раз в неделю. Так что внешняя выправится, пусть и не сразу (сейчас она, кстати, 0% у файла базы в 3,7 ТБ).

Просто он уже вылез за допустимый предел мониторинга и потому дюже хочется его уменьшить.

Ну ладно, этот-то сделаем ручками.

Но на будущее дюже хотелось бы разобраться с вопросом...
...
Рейтинг: 0 / 0
11.09.2018, 18:36
    #39701054
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
AndrFНо на будущее дюже хотелось бы разобраться с вопросом...Для этого нужно внимательно читать предлагаемые материалы.
Чтобы не писать подобное:AndrFВ свойствах диска настроена автоматическая дефрагментация файлов раз в неделю. Так что внешняя выправится
...
Рейтинг: 0 / 0
11.09.2018, 19:10
    #39701067
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FILEPROPERTY(name, 'SpaceUsed')
AndrFinvmесли уж и делать shrink. то с опцией truncateonly.

В свойствах диска настроена автоматическая дефрагментация файлов раз в неделю. Так что внешняя выправится, пусть и не сразу:-)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / FILEPROPERTY(name, 'SpaceUsed') / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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