Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Всем привет прошу помочь sp_spaceused  [new]
dolya
Member

Откуда:
Сообщений: 55
Кто может помочь.
USE [111] exec sp_spaceused
GO

Мне нужно чтобы возвращалась только "unused".
Чет только все данные передает а та чтобы только "unused" нет
12 ноя 20, 16:32    [22230897]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
komrad
Member

Откуда:
Сообщений: 5345
dolya,


SELECT 
	name
	,type_desc
	,size / 128. - FILEPROPERTY(name, 'SpaceUsed') / 128. [FreeMB]
FROM sys.database_files


так?
12 ноя 20, 16:47    [22230921]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
dolya
Member

Откуда:
Сообщений: 55
komrad,

Спасибо. не совсем.
мне нужна общая цифра свободного пространства в БД.
Заббикс будет спрашивать базу, сколько в ней место свободного, и если остается меньше к примеру гига, Оповещение падает от заббикса, типа мало места.
То есть цифра должна быть лдна
12 ноя 20, 17:33    [22230986]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
komrad
Member

Откуда:
Сообщений: 5345
dolya
komrad,

Спасибо. не совсем.
мне нужна общая цифра свободного пространства в БД.
Заббикс будет спрашивать базу, сколько в ней место свободного, и если остается меньше к примеру гига, Оповещение падает от заббикса, типа мало места.
То есть цифра должна быть лдна

это не имеет практического смысла - всё пустое место может быть в логе
если нужно пустое место в дата файлах, то просто измените запрос

SELECT 
	sum(size / 128. - FILEPROPERTY(name, 'SpaceUsed') / 128.) [FreeMB]
FROM sys.database_files
WHERE type_desc ='ROWS'
12 ноя 20, 17:41    [22230996]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
dolya
Member

Откуда:
Сообщений: 55
komrad,
Да, вы правы, спасибо. то что нужно.

А как можно отследить свободное место транзакшенлоге, у меня пару раз он переполнялся при больших транзакциях.
12 ноя 20, 17:55    [22231002]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
komrad
Member

Откуда:
Сообщений: 5345
dolya

А как можно отследить свободное место транзакшенлоге, у меня пару раз он переполнялся при больших транзакциях.


... WHERE type_desc ='LOG'


или

dbcc sqlperf(logspace)
12 ноя 20, 18:02    [22231011]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
komrad
Member

Откуда:
Сообщений: 5345
еще вот эти DMV можно глянуть:

select * from sys.dm_db_file_space_usage
select * from sys.dm_db_log_space_usage
select * from sys.dm_db_log_stats(db_id('ВашаБаза'))
12 ноя 20, 18:10    [22231015]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1590
dolya
komrad,
Да, вы правы, спасибо. то что нужно.

А как можно отследить свободное место транзакшенлоге, у меня пару раз он переполнялся при больших транзакциях.


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

SQLServer:Databases - Percent Log Used
12 ноя 20, 18:17    [22231025]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
dolya
Member

Откуда:
Сообщений: 55
komrad,

Огромное СПАСИБО.
То что надо.
12 ноя 20, 18:30    [22231037]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
dolya
Member

Откуда:
Сообщений: 55
felix_ff,


Спасибо.
12 ноя 20, 18:35    [22231042]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8047
dolya,

вы идете экстенсивным путём типа опроса грубой силой. Сделайте информирование о событии, для этого:
1. Настройте Alert на допустимое значение свободного места в базе.
2. Создайте джоб, который сработает при этом событии. Настройте джоб так, чтобы он выполнял запись в журнал Windows/
3. Установите клиент Заббикс на сервер. Настройте клиент на сбор определенных данных журнала Windows.

В результат вы сможете собирать любые нужные предупреждения, за заспамливая сервер запросами.
12 ноя 20, 19:21    [22231062]     Ответить | Цитировать Сообщить модератору
 Re: Всем привет прошу помочь sp_spaceused  [new]
dolya
Member

Откуда:
Сообщений: 55
Владислав Колосов,
Спасибо. попробую.
19 ноя 20, 09:01    [22235083]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить