Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Размер базы в памяти  [new]
Guset
Guest
Добрый день!

Имеется Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) Nov 24 2008 13:01:59 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

RAM 4Gb

Более 10 баз размером от 30 до 800Мб, на редко используемых базах стоит опция autoclose.

Вопрос: как можно посмотреть сколько места занимает конкретная БД в памяти сервера и действительно ли выгружаются те БД у которых стоит опция autoclose?
24 мар 09, 14:39    [6968572]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
KiViNs
Member

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

А зачём это нужно знать?
24 мар 09, 14:44    [6968612]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Guset
Guest
KiViNs,

Это не ответ на поставленный вопрос.
24 мар 09, 15:00    [6968737]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
проходящий.
Guest
Guset
KiViNs,

Это не ответ на поставленный вопрос.
А тут обязаны отвечать на ... не совсем корректные вопросы?
24 мар 09, 15:08    [6968814]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
KiViNs
Member

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

Я думаю сама по себе база в оперативной памяти почти ничего не занимает. На неё начинают тратится ресурсы памяти, если с ней начинают работать.
autoclose - всего то лишь "отпускает" файлы базы данных. т.е. скул их закрывает и освобождается память тратившаяся на поддержание отрытости файлов (буферы там всякие и т.д.)
А понятия "сколько места занимает конкретная БД в памяти" наверное не существует.
24 мар 09, 15:11    [6968841]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
KiViNs
Member

Откуда:
Сообщений: 12
встречный вопрос "А зачём это нужно знать?" остается или Вы хотите оптимизировать использование памяти скулом, дык не с того конца начали.
24 мар 09, 15:13    [6968862]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Glory
Member

Откуда:
Сообщений: 104764
KiViNs
Guset,

Я думаю сама по себе база в оперативной памяти почти ничего не занимает. На неё начинают тратится ресурсы памяти, если с ней начинают работать.
autoclose - всего то лишь "отпускает" файлы базы данных. т.е. скул их закрывает и освобождается память тратившаяся на поддержание отрытости файлов (буферы там всякие и т.д.)
А понятия "сколько места занимает конкретная БД в памяти" наверное не существует.


BOL - Memory Used by SQL Server Objects Specifications
"Open database - Not applicable to SQL Server 2005"
24 мар 09, 15:13    [6968869]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
KiViNs,

может приоритет какой хочется выставить для какой-то из баз
в принципе нормальный вопрос
24 мар 09, 15:14    [6968881]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Glory
Member

Откуда:
Сообщений: 104764
leov
KiViNs,

может приоритет какой хочется выставить для какой-то из баз
в принципе нормальный вопрос

У баз нет приоритетов. Как и нет управления ресурсами
24 мар 09, 15:17    [6968919]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
Guset

Вопрос: как можно посмотреть сколько места занимает конкретная БД в памяти сервера и действительно ли выгружаются те БД у которых стоит опция autoclose?


по базам сиквела
A. Returning cached page count for each database
The following example returns the count of pages loaded for each database.



SELECT count(*)AS cached_pages_count, count(*)/128  'Size (Mb)'
    ,CASE database_id 
        WHEN 32767 THEN 'ResourceDb' 
        ELSE db_name(database_id) 
        END AS Database_name
FROM sys.dm_os_buffer_descriptors
GROUP BY db_name(database_id) ,database_id
ORDER BY cached_pages_count DESC


по объектам текущей БД
B. Returning cached page count for each object in the current database
The following example returns the count of pages loaded for each object in the current database.


SELECT count(*)AS cached_pages_count , count(*)/128  'Size (Mb)',
    name ,index_id 
FROM sys.dm_os_buffer_descriptors AS bd 
    INNER JOIN 
    (
        SELECT object_name(object_id) AS name 
            ,index_id ,allocation_unit_id
        FROM sys.allocation_units AS au
            INNER JOIN sys.partitions AS p 
                ON au.container_id = p.hobt_id 
                    AND (au.type = 1 OR au.type = 3)
        UNION ALL
        SELECT object_name(object_id) AS name   
            ,index_id, allocation_unit_id
        FROM sys.allocation_units AS au
            INNER JOIN sys.partitions AS p 
                ON au.container_id = p.hobt_id 
                    AND au.type = 2
    ) AS obj 
        ON bd.allocation_unit_id = obj.allocation_unit_id
WHERE database_id = db_id()
GROUP BY name, index_id 
ORDER BY cached_pages_count DESC
24 мар 09, 15:21    [6968970]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
Guset

Более 10 баз размером от 30 до 800Мб, на редко используемых базах стоит опция autoclose.

Вопрос: как можно посмотреть сколько места занимает конкретная БД в памяти сервера и действительно ли выгружаются те БД у которых стоит опция autoclose?


имхо, нафиг не нужна опция autoclose
т.к. при первом же обращении к базе сервер начинает её подключать и рекаверить
коннекты пропали - он её отключает
в итоге лишние телодвижения для сервера + засирается лог сиквела

я бы снял эти опции, т.к. если объекты из таких БД уже не используются, то сиквел по мере надобности освобождает кэш для более востребованных данных
24 мар 09, 15:25    [6969009]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
Glory
leov
KiViNs,

может приоритет какой хочется выставить для какой-то из баз
в принципе нормальный вопрос

У баз нет приоритетов. Как и нет управления ресурсами
а вы точно это знаете?
я вообще-то тоже о таком не слыхал
очень жаль. я встречал такие ситуации когда неудачный запрос к какой-то второстепенной базе может вообще положить сервак или значительно замедлить работу всех остальных
было бы интересно уметь управлять такими ситуациями
24 мар 09, 15:30    [6969054]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
leov

было бы интересно уметь управлять такими ситуациями

FYI: в SQL2008 появился ресурс-манагер
тынц
24 мар 09, 15:32    [6969083]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
проходящий.
Guest
leov
[quot Glory]я встречал такие ситуации когда неудачный запрос к какой-то второстепенной базе может вообще положить сервак или значительно замедлить работу всех остальных
И кто же их не встречал? :)

было бы интересно уметь управлять такими ситуациями
Обычно для этого переписывают вот эти самые неудачные запросы. А вы предлагаете сервак под неудачные запросы крутить? Или я что-то не так понял?
24 мар 09, 15:33    [6969091]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Glory
Member

Откуда:
Сообщений: 104764
leov
Glory
leov
KiViNs,

может приоритет какой хочется выставить для какой-то из баз
в принципе нормальный вопрос

У баз нет приоритетов. Как и нет управления ресурсами
а вы точно это знаете?

Нет, я сейчас это придумал. Вот захотелось и придумал
24 мар 09, 15:33    [6969095]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Guset
Guest
KiViNs
встречный вопрос "А зачём это нужно знать?" остается или Вы хотите оптимизировать использование памяти скулом, дык не с того конца начали.


Просто с некоторыми базами не работают неделями вот и хочется посмотреть действительно ли они выгружаются из памяти когда с ними не работают и как на это влияет опция autoclose

Всем спасибо за ответы!
25 мар 09, 07:24    [6971534]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
LevranII
Member

Откуда: Рига
Сообщений: 132
А подскажет ли кто нибудь запрос для SQL 2000 SE, как посмотреть что в памяти?
31 авг 09, 13:34    [7597757]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
Доброе время суток. Подниму тему, тоже интересует данный вопрос, но уже касаемо продуктов MS SQL Server 2014, 16, 17, версии Standard и Express. Возможно ли посмотреть сколько занимает определенная БД оперативы:
1. Через SSMS
2. Через какие-нибудь запросы.

Зачем мне это нужно ?
- Просто интересно.
- Наша компания занимается хостингом БД 1С, и мне нужно понимать сколько ресурсов сервера ( железо, в частности оператива ) тратится на определенные БД.
8 май 19, 06:05    [21880561]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
aleks222
Member

Откуда:
Сообщений: 708
guestfreeman
Доброе время суток. Подниму тему, тоже интересует данный вопрос, но уже касаемо продуктов MS SQL Server 2014, 16, 17, версии Standard и Express. Возможно ли посмотреть сколько занимает определенная БД оперативы:
1. Через SSMS
2. Через какие-нибудь запросы.

Зачем мне это нужно ?
- Просто интересно.
- Наша компания занимается хостингом БД 1С, и мне нужно понимать сколько ресурсов сервера ( железо, в частности оператива ) тратится на определенные БД.


Бесплодное знание.
Ибо сейчас так, через секунду - этак.
Кэш страниц, я подозреваю, ОБЩИЙ.
8 май 19, 07:52    [21880592]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
aleks222

Бесплодное знание.
Ибо сейчас так, через секунду - этак.
Кэш страниц, я подозреваю, ОБЩИЙ.


aleks222:
1. Истории выделения памяти для БД нет ?
2. Насчет кэша страниц, общего. Можно подробнее - как его смотреть ?
8 май 19, 09:42    [21880658]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
guestfreeman,

https://sqlserverperformance.wordpress.com/2010/04/29/a-dmv-a-day-–-day-30/
8 май 19, 10:12    [21880697]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
Komrad, т.е. я правильно понимаю, что когда SQL подгружает страницы БД в память, он грузит их только в Buffer Pool, и ваш скрипт как раз отображает сколько данных и каждой БД занимает в этом пуле ?
Если так, не подскажете, почему, например, у меня процесс sqlserv.exe занимает 700 МБ (демо- сервер), а объем баз в нем по скрипту ~ 60 MB, т.е. на что расходовано остальные 640 MB ?
8 май 19, 14:07    [21881045]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
guestfreeman
Komrad, т.е. я правильно понимаю, что когда SQL подгружает страницы БД в память, он грузит их только в Buffer Pool, и ваш скрипт как раз отображает сколько данных и каждой БД занимает в этом пуле ?

верно

guestfreeman
Если так, не подскажете, почему, например, у меня процесс sqlserv.exe занимает 700 МБ (демо- сервер), а объем баз в нем по скрипту ~ 60 MB, т.е. на что расходовано остальные 640 MB ?


съеденную (total) и верхнюю границу (target) потенциально потребимой памяти лучше смотреть через счетчики:

select * from sys.dm_os_performance_counters 
where counter_name like 'T%Se%Memory%'


проверить текущие настройки памяти:
select * from sys.configurations where name like '%server memory%'


на что израсходовано - отсылаю к скрипту Mind
8 май 19, 15:24    [21881209]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36317
guestfreeman,

20453559
8 май 19, 15:28    [21881216]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
Гавриленко Сергей Алексеевич
guestfreeman,

20453559

это скрипт с просторов sql.ru
автор скрипта - коллега Mind
ссылку на свежую (?) версию этого скрипта я привел выше
8 май 19, 15:39    [21881243]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
Всем спасибо за ответы, счас "разгребу" срочные по работе моменты и буду смотреть скрипты.
13 май 19, 06:52    [21882958]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
select * from sys.dm_os_performance_counters
where counter_name like 'T%Se%Memory%'

- komrad, подскажите пожалуйста по этому скрипту, на выходе что значит Target Server memory и TotalServer Memory ? Эти значения у меня не совпадают ни с тем, сколько серверу разрешено занимать (max server memory), ни с тем, сколько процесс sqlserv занял в данный момент ( диспетчер задач ).
13 май 19, 11:19    [21883136]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
И вопрос еще по скрипту от Mind.
Что за счетчик "Stolen Server Memory" ?
13 май 19, 11:31    [21883156]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
guestfreeman
select * from sys.dm_os_performance_counters
where counter_name like 'T%Se%Memory%'

- komrad, подскажите пожалуйста по этому скрипту, на выходе что значит Target Server memory и TotalServer Memory ? Эти значения у меня не совпадают ни с тем, сколько серверу разрешено занимать (max server memory), ни с тем, сколько процесс sqlserv занял в данный момент ( диспетчер задач ).


тут описано с картинками
https://blobeater.blog/2017/03/01/sql-server-target-vs-total-memory/

диспетчер задач зачастую (почти всегда) неправильно отображает потребление памяти сиквелом
стоит ориентироваться на perfmon и счетчики сиквела
13 май 19, 11:39    [21883165]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
guestfreeman
И вопрос еще по скрипту от Mind.
Что за счетчик "Stolen Server Memory" ?

всё прекрасно гуглится
https://www.sqlshack.com/sql-server-memory-performance-metrics-part-6-memory-metrics/
Stolen Server Memory (KB)
13 май 19, 11:41    [21883170]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
Вопросы касаемо "Stolen Server Memory" для отвечающих в теме.

1. Исходя из вашего опыта, была ли необходимость отслеживать показания этого счетчика, и как-то снижать память, занимаемую SQL'ем, которую показывает этот счетчик ?
2. Как-то на уровне запросов или SSMS есть возможность ограничить память занимаемую SQL'ем, которую отображает этот параметр ? Уточню, ограничить не просто объем оперативы ( max server memory), а именно связанную с этим счетчиком.
13 май 19, 12:07    [21883204]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
guestfreeman
Вопросы касаемо "Stolen Server Memory" для отвечающих в теме.

1. Исходя из вашего опыта, была ли необходимость отслеживать показания этого счетчика, и как-то снижать память, занимаемую SQL'ем, которую показывает этот счетчик ?
2. Как-то на уровне запросов или SSMS есть возможность ограничить память занимаемую SQL'ем, которую отображает этот параметр ? Уточню, ограничить не просто объем оперативы ( max server memory), а именно связанную с этим счетчиком.


1 - отслеживать его можно, но повлиять на него напрямую нельзя (регулируется сервером самостоятельно)
2 - есть косвенная возможность - можно писать простые запросы, без развесистых джойнов и сортировок ;)
13 май 19, 12:58    [21883272]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
Komrad, спасибо большое за ответы, и вообще всем ответившим. Приобрел для себя полезный опыт.
Вопрос по скрипту отображения информации по занятой оперативе в Buffer Pool для каждой базы.
+

SELECT DB_NAME(database_id) AS [Database Name],
COUNT(*) * 8/1024.0 AS [Cached Size (MB)]
FROM sys.dm_os_buffer_descriptors
WHERE database_id > 4 /*exclude system databases*/
AND database_id <> 32767 /*–- exclude ResourceDB */
GROUP BY DB_NAME(database_id)
ORDER BY [Cached Size (MB)] DESC;

Возможно то что спрошу на "уровне фантастики" или высказываний типа "эти пользователи хотят чтобы за них уже и кнопочки понажимали", но все же.
Можно ли на основе этого скрипта создать скрипт который будет автоматически, с задаваемым интервалом выполняться, и писать результаты выполнения в файл с таким форматом, чтобы потом можно было его открыть и построить график занимаемой базами оперативы за какой-то промежуток времени ? Может кто-то что-нибудь такое уже делал ? Было бы удобно ( ИМХО) при "разборе полетов", когда в SQL Server, например "крутится" баз 50 и временами наблюдается замедление работы, связанное с нехваткой оперативы, когда нужно "найти виновника".
13 май 19, 13:13    [21883290]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 4812
guestfreeman
Можно ли на основе этого скрипта создать скрипт который будет автоматически, с задаваемым интервалом выполняться, и писать результаты выполнения в файл с таким форматом, чтобы потом можно было его открыть и построить график занимаемой базами оперативы за какой-то промежуток времени ? Может кто-то что-нибудь такое уже делал ? Было бы удобно ( ИМХО) при "разборе полетов", когда в SQL Server, например "крутится" баз 50 и временами наблюдается замедление работы, связанное с нехваткой оперативы, когда нужно "найти виновника".

Кто вам мешает результаты запроса сохранять в таблицу\файл в джобе по расписанию? И делайте потом с данными что хотите, отображайте как хотите...
13 май 19, 16:07    [21883543]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
Мне мешает отсутствие необходимого опыта, чтобы такой скрипт написать. Просто сохранять мало, надо сохранять в таком формате, чтобы потом по файлу с сохраненными данными график можно было построить. Поэтому и спрашиваю, может у кого уже такой опыт был, и для него мой вопрос "вчерашний день".
13 май 19, 20:01    [21883732]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2277
guestfreeman
Вопросы касаемо "Stolen Server Memory" для отвечающих в теме.
Из результатов скрипта же видно что этот счетчик состоит из большого количества мемори клерков. По сути это вся память используемая сервером кроме кэша данных.Так что отслеживать просто размер stolen memory без деталей особо смысла нет. На практике встречаются случаи когда один из клерков становится больше чем обычно что может приводить к проблемами. Видел пару раз проблемы из-за багов в самом SQL server, что обычно исправляется патчами. Ну еще могут быть всякие приколы с lock memory, ну и память используемая запросами тоже выделяется в stolen memory.
14 май 19, 02:44    [21883921]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2277
guestfreeman
Мне мешает отсутствие необходимого опыта, чтобы такой скрипт написать. Просто сохранять мало, надо сохранять в таком формате, чтобы потом по файлу с сохраненными данными график можно было построить. Поэтому и спрашиваю, может у кого уже такой опыт был, и для него мой вопрос "вчерашний день".
Сколько форматов вам приходит на ум для такой нетривиальной задачи? Я бы сохранял в зашифрованном бинарном файле в хадупе. Удобнее не придумаешь.
Ну серьезно? Сложно сделать таблицу и написать пару INSERT/SELECT запросов?
14 май 19, 02:47    [21883923]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
Mind, с помощью чего потом из данных в таблице можно строить график ?
14 май 19, 06:34    [21883944]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Massa52
Member

Откуда:
Сообщений: 349
guestfreeman,
https://www.youtube.com/results?search_query=power bi dashboard
14 май 19, 08:11    [21883981]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
OK. Спасибо за ответы. У меня пока нет опыта чтобы написать простой на ваш взгляд скрипт и затем как-то построить график по сохраненным данным.
Но возможно я оплачу время того кто это умеет - если цена устроит все стороны. Резюмирую что мне нужно сейчас:
1. Скрипт который я могу "повесить" в задание SQL Server Agent который будет с изменяемой периодичностью (5, 10 секунд и прочее) записывать куда-нибудь данные о занятой базами памяти в Buffer Pool
2. Инструмент который построит график по данным записанным в п. 1.
3. Объяснить мне как пользоваться скриптом ( менять период, может что-то еще), и инструментом для построения графика.
- Если у кого-то есть время, опыт и желание, пишите на _sa_nya@mail.ru .
14 май 19, 08:49    [21884019]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2277
guestfreeman
OK. Спасибо за ответы. У меня пока нет опыта чтобы написать простой на ваш взгляд скрипт и затем как-то построить график по сохраненным данным.
Но возможно я оплачу время того кто это умеет - если цена устроит все стороны. Резюмирую что мне нужно сейчас:
А зачем?
14 май 19, 09:14    [21884048]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
Mind уточню ваш вопрос: зачем мне это нужно, или зачем участникам форума это нужно ?
14 май 19, 09:31    [21884057]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6420
guestfreeman
Mind уточню ваш вопрос: зачем мне это нужно, или зачем участникам форума это нужно ?

https://www.sql.ru/forum/job
14 май 19, 09:33    [21884059]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2277
guestfreeman
Mind уточню ваш вопрос: зачем мне это нужно, или зачем участникам форума это нужно ?
Зачем вам это нужно?
14 май 19, 10:18    [21884099]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
Mind. Больший объем услуг нашей компании:
1. Изменение конфигураций 1С для клиентов. В штате работают программисты.
2. Предоставление услуг хостинга БД 1С для клиентов - "1С в Облаке".

По 1-му пункту. У нас есть выделенный сервер для БД клиентов, для которых проверяется ТЗ, когда это невозможно сделать на чистой базе с CF клиента или в файловом режиме, т.е. когда используется клиент-серверный режим в связке Сервер 1С + MS SQL Server. Периодически ко мне приходят с вопросами о том что "База работает медленно, вчера работала быстро", "у нас все висит" и прочее. Частично эти вопросы связаны с тем что SQL Server занимает всю оперативу, ему разрешенную, начинает использовать файл подкачки и "поехали". Сервер у нас не старый, но тем не менее ресурсы не безграничны. Этот инструмент позволит мне выявлять базы, которые потребляют много оперативы, затем говорить об этом программистам - т.е. дальше уже не моя зона ответственности и не мои дейтсвия по решению проблемы, код буду смотреть не я
По 2-му пункту. Т.к. ресурсы сервера для облака так же не безграничны в плане оперативы, мне это необходимо чтобы понимать в подобных случаях, чья база может создавать проблемы.
14 май 19, 12:04    [21884241]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2277
guestfreeman
"База работает медленно, вчера работала быстро", "у нас все висит" и прочее. Частично эти вопросы связаны с тем что SQL Server занимает всю оперативу, ему разрешенную, начинает использовать файл подкачки и "поехали".
Наверняка для этого был проведен полноценный анализ производительности SQL сервера, чтобы прийти к таким выводам? Вот пусть тот кто делал этот анализ и напишет скрипт, я думаю у него труда это не составит.
SQL Server занимающий всю оперативу, ему разрешенную - это конечно проблема...

guestfreeman
Этот инструмент позволит мне выявлять базы, которые потребляют много оперативы, затем говорить об этом программистам - т.е. дальше уже не моя зона ответственности и не мои дейтсвия по решению проблемы, код буду смотреть не я
То есть даже если это не настоящая проблема, все равно спихнем её программерам - пусть разбираются? Т.е. давайте мне кто нибудь напишет скрипт результаты которого я буду пересылать программистам, а дальше хоть трава не расти. А что вообще тогда ваша зона ответсвенности? У вас в компании есть ДБА чтобы предоставлять услуги хостинга БД? Озвучьте название компании? На месте ваших клиентов я бы бежал сверкая пятками. Доверять свои базы тем кто не может написать пару SQL запросов это жесть
14 май 19, 20:47    [21884773]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
Mind
guestfreeman
"База работает медленно, вчера работала быстро", "у нас все висит" и прочее. Частично эти вопросы связаны с тем что SQL Server занимает всю оперативу, ему разрешенную, начинает использовать файл подкачки и "поехали".
Наверняка для этого был проведен полноценный анализ производительности SQL сервера, чтобы прийти к таким выводам? Вот пусть тот кто делал этот анализ и напишет скрипт, я думаю у него труда это не составит.
SQL Server занимающий всю оперативу, ему разрешенную - это конечно проблема...

guestfreeman
Этот инструмент позволит мне выявлять базы, которые потребляют много оперативы, затем говорить об этом программистам - т.е. дальше уже не моя зона ответственности и не мои дейтсвия по решению проблемы, код буду смотреть не я
То есть даже если это не настоящая проблема, все равно спихнем её программерам - пусть разбираются? Т.е. давайте мне кто нибудь напишет скрипт результаты которого я буду пересылать программистам, а дальше хоть трава не расти. А что вообще тогда ваша зона ответсвенности? У вас в компании есть ДБА чтобы предоставлять услуги хостинга БД? Озвучьте название компании? На месте ваших клиентов я бы бежал сверкая пятками. Доверять свои базы тем кто не может написать пару SQL запросов это жесть

- Анализ сервера делал я, и этот сервер устраивает всем параметрам, но когда в базе 1С выполняется какой-нибудь "кривой" запрос, то он может не только занять всю оперативную память, но и в принципе "повесить" службу Сервера 1С:Предприятия. В подобных ситуациях этот скрипт и нужен
- Насчет "Не настоящая проблема, спихнем программерам" - см абзац выше.
- Моя зона ответственности - бесперебойная, должным образом быстрая работа рабочих станций, серверов, служб на серверах. Если возникают проблемы, либо я их устраняю, либо диагностирую неисправность, и их устраняет тот к кому проблема относится. И дело не в "спихивании проблемы", а в кривых конфигурациях БД
"Доверять свои базы тем кто не может написать пару SQL запросов это жесть" - 1С не требует от системных администраторов фирм, предоставляющих хостинг умение профессионально писать скрипты в SQL Server'е. Если есть проблема производительности, программисты решают ее на уровне 1С и ее механизмов
"На месте ваших клиентов я бы бежал сверкая пятками." Наши клиенты как раз полностью довольны нашим сервисом. Мы следим за стабильностью работы, и большинство проблем не решаем, а предупреждаем.
На ваше месте я бы не давал таких "занозливых" советов, если вы не специалист в инфраструктуре 1С. По вашим ответам я понял что это так. В ином случае вы бы не писали свой последний пост.
15 май 19, 06:37    [21884902]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
guestfreeman
OK. Спасибо за ответы. У меня пока нет опыта чтобы написать простой на ваш взгляд скрипт и затем как-то построить график по сохраненным данным.
Но возможно я оплачу время того кто это умеет - если цена устроит все стороны. Резюмирую что мне нужно сейчас:
1. Скрипт который я могу "повесить" в задание SQL Server Agent который будет с изменяемой периодичностью (5, 10 секунд и прочее) записывать куда-нибудь данные о занятой базами памяти в Buffer Pool
2. Инструмент который построит график по данным записанным в п. 1.
3. Объяснить мне как пользоваться скриптом ( менять период, может что-то еще), и инструментом для построения графика.
- Если у кого-то есть время, опыт и желание, пишите на _sa_nya@mail.ru .




+ дарю


1: скрипт ниже
2: с инструментом всё просто - графики в экселе
3: последний запрос - выборка данных за текущий день
/*PREPARE: create database and table*/
create database BufferWatcher
go

alter database BufferWatcher set recovery simple
go

use BufferWatcher
go


SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[BufferUsed](
	[id] numeric(8,0) identity,
	[dt] [smalldatetime] NULL,
	[db] [nvarchar](128) NULL,
	[TotalMB] numeric(8,1) NULL,
	[DirtyMB] numeric(8,1) NULL,
	[CleanMB] numeric(8,1) NULL
) ON [PRIMARY]
GO


/*run the query to save data on regular basis  */
insert into [dbo].[BufferUsed] ([dt],[db],[TotalMB],[DirtyMB],[CleanMB])
SELECT 
	convert(smalldatetime,getdate()) [dt]
	,DB_NAME(database_id) [db]
	,convert(numeric(5,1),COUNT(*)/128.0) AS [TotalMB]
	,convert(numeric(5,1),sum(convert(tinyint,is_modified)) /128.0) [DirtyMB]
	,convert(numeric(5,1),sum(case when is_modified=1 then 0 else 1 end) /128.0) [CleanMB]
FROM sys.dm_os_buffer_descriptors
WHERE database_id <> 32767 /*–- exclude ResourceDB */
GROUP BY database_id

/*get data for today*/
select [dt],[db],[TotalMB],[DirtyMB],[CleanMB]
from dbo.BufferUsed
where 
	dt between convert(date,getdate()) and convert(date,dateadd(dd,1,getdate()))
15 май 19, 11:09    [21885072]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4929
* опечатка, надо исправить в скрипте numeric(5,1) на numeric(8,1)
15 май 19, 11:13    [21885078]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы в памяти  [new]
guestfreeman
Member

Откуда:
Сообщений: 91
komrad, спасибо, буду пробовать.
15 май 19, 14:42    [21885344]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Microsoft SQL Server Ответить