powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Размер базы в памяти
50 сообщений из 50, показаны все 2 страниц
Размер базы в памяти
    #35888358
Guset
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Имеется 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?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888375
KiViNs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guset,

А зачём это нужно знать?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888432
Guset
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KiViNs,

Это не ответ на поставленный вопрос.
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888467
GusetKiViNs,

Это не ответ на поставленный вопрос.А тут обязаны отвечать на ... не совсем корректные вопросы?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888476
KiViNs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guset,

Я думаю сама по себе база в оперативной памяти почти ничего не занимает. На неё начинают тратится ресурсы памяти, если с ней начинают работать.
autoclose - всего то лишь "отпускает" файлы базы данных. т.е. скул их закрывает и освобождается память тратившаяся на поддержание отрытости файлов (буферы там всякие и т.д.)
А понятия "сколько места занимает конкретная БД в памяти" наверное не существует.
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888485
KiViNs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
встречный вопрос "А зачём это нужно знать?" остается или Вы хотите оптимизировать использование памяти скулом, дык не с того конца начали.
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888488
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KiViNsGuset,

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

BOL - Memory Used by SQL Server Objects Specifications
"Open database - Not applicable to SQL Server 2005"
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888498
leov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KiViNs,

может приоритет какой хочется выставить для какой-то из баз
в принципе нормальный вопрос
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888509
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leovKiViNs,

может приоритет какой хочется выставить для какой-то из баз
в принципе нормальный вопрос
У баз нет приоритетов. Как и нет управления ресурсами
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888527
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guset
Вопрос: как можно посмотреть сколько места занимает конкретная БД в памяти сервера и действительно ли выгружаются те БД у которых стоит опция autoclose?

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


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
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.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
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
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888539
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guset
Более 10 баз размером от 30 до 800Мб, на редко используемых базах стоит опция autoclose.

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

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

я бы снял эти опции, т.к. если объекты из таких БД уже не используются, то сиквел по мере надобности освобождает кэш для более востребованных данных
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888558
leov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GloryleovKiViNs,

может приоритет какой хочется выставить для какой-то из баз
в принципе нормальный вопрос
У баз нет приоритетов. Как и нет управления ресурсамиа вы точно это знаете?
я вообще-то тоже о таком не слыхал
очень жаль. я встречал такие ситуации когда неудачный запрос к какой-то второстепенной базе может вообще положить сервак или значительно замедлить работу всех остальных
было бы интересно уметь управлять такими ситуациями
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888567
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leov
было бы интересно уметь управлять такими ситуациями
FYI: в SQL2008 появился ресурс-манагер
тынц
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888571
leov[quot Glory]я встречал такие ситуации когда неудачный запрос к какой-то второстепенной базе может вообще положить сервак или значительно замедлить работу всех остальныхИ кто же их не встречал? :)
было бы интересно уметь управлять такими ситуациямиОбычно для этого переписывают вот эти самые неудачные запросы. А вы предлагаете сервак под неудачные запросы крутить? Или я что-то не так понял?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35888573
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leovGloryleovKiViNs,

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

Нет, я сейчас это придумал. Вот захотелось и придумал
...
Рейтинг: 0 / 0
Размер базы в памяти
    #35889864
Guset
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KiViNsвстречный вопрос "А зачём это нужно знать?" остается или Вы хотите оптимизировать использование памяти скулом, дык не с того конца начали.

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

Всем спасибо за ответы!
...
Рейтинг: 0 / 0
Размер базы в памяти
    #36170526
LevranII
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А подскажет ли кто нибудь запрос для SQL 2000 SE, как посмотреть что в памяти?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Размер базы в памяти
    #39811046
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток. Подниму тему, тоже интересует данный вопрос, но уже касаемо продуктов MS SQL Server 2014, 16, 17, версии Standard и Express. Возможно ли посмотреть сколько занимает определенная БД оперативы:
1. Через SSMS
2. Через какие-нибудь запросы.

Зачем мне это нужно ?
- Просто интересно.
- Наша компания занимается хостингом БД 1С, и мне нужно понимать сколько ресурсов сервера ( железо, в частности оператива ) тратится на определенные БД.
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39811065
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanДоброе время суток. Подниму тему, тоже интересует данный вопрос, но уже касаемо продуктов MS SQL Server 2014, 16, 17, версии Standard и Express. Возможно ли посмотреть сколько занимает определенная БД оперативы:
1. Через SSMS
2. Через какие-нибудь запросы.

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

Бесплодное знание.
Ибо сейчас так, через секунду - этак.
Кэш страниц, я подозреваю, ОБЩИЙ.
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39811103
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222
Бесплодное знание.
Ибо сейчас так, через секунду - этак.
Кэш страниц, я подозреваю, ОБЩИЙ.

aleks222:
1. Истории выделения памяти для БД нет ?
2. Насчет кэша страниц, общего. Можно подробнее - как его смотреть ?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39811127
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39811307
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Komrad, т.е. я правильно понимаю, что когда SQL подгружает страницы БД в память, он грузит их только в Buffer Pool, и ваш скрипт как раз отображает сколько данных и каждой БД занимает в этом пуле ?
Если так, не подскажете, почему, например, у меня процесс sqlserv.exe занимает 700 МБ (демо- сервер), а объем баз в нем по скрипту ~ 60 MB, т.е. на что расходовано остальные 640 MB ?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39811391
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanKomrad, т.е. я правильно понимаю, что когда SQL подгружает страницы БД в память, он грузит их только в Buffer Pool, и ваш скрипт как раз отображает сколько данных и каждой БД занимает в этом пуле ?

верно

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

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

Код: sql
1.
2.
select * from sys.dm_os_performance_counters 
where counter_name like 'T%Se%Memory%'



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



на что израсходовано - отсылаю к скрипту Mind
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39811397
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreeman,

20453559
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39811411
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевичguestfreeman,

20453559
это скрипт с просторов sql.ru
автор скрипта - коллега Mind
ссылку на свежую (?) версию этого скрипта я привел выше
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812320
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за ответы, счас "разгребу" срочные по работе моменты и буду смотреть скрипты.
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812402
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 занял в данный момент ( диспетчер задач ).
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812416
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И вопрос еще по скрипту от Mind.
Что за счетчик "Stolen Server Memory" ?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812423
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanselect * 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 и счетчики сиквела
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812426
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanИ вопрос еще по скрипту от Mind.
Что за счетчик "Stolen Server Memory" ?
всё прекрасно гуглится
https://www.sqlshack.com/sql-server-memory-performance-metrics-part-6-memory-metrics/
Stolen Server Memory (KB)
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812447
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопросы касаемо "Stolen Server Memory" для отвечающих в теме.

1. Исходя из вашего опыта, была ли необходимость отслеживать показания этого счетчика, и как-то снижать память, занимаемую SQL'ем, которую показывает этот счетчик ?
2. Как-то на уровне запросов или SSMS есть возможность ограничить память занимаемую SQL'ем, которую отображает этот параметр ? Уточню, ограничить не просто объем оперативы ( max server memory), а именно связанную с этим счетчиком.
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812487
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanВопросы касаемо "Stolen Server Memory" для отвечающих в теме.

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

1 - отслеживать его можно, но повлиять на него напрямую нельзя (регулируется сервером самостоятельно)
2 - есть косвенная возможность - можно писать простые запросы, без развесистых джойнов и сортировок ;)
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812494
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 и временами наблюдается замедление работы, связанное с нехваткой оперативы, когда нужно "найти виновника".
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812586
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanМожно ли на основе этого скрипта создать скрипт который будет автоматически, с задаваемым интервалом выполняться, и писать результаты выполнения в файл с таким форматом, чтобы потом можно было его открыть и построить график занимаемой базами оперативы за какой-то промежуток времени ? Может кто-то что-нибудь такое уже делал ? Было бы удобно ( ИМХО) при "разборе полетов", когда в SQL Server, например "крутится" баз 50 и временами наблюдается замедление работы, связанное с нехваткой оперативы, когда нужно "найти виновника".
Кто вам мешает результаты запроса сохранять в таблицу\файл в джобе по расписанию? И делайте потом с данными что хотите, отображайте как хотите...
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812657
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне мешает отсутствие необходимого опыта, чтобы такой скрипт написать. Просто сохранять мало, надо сохранять в таком формате, чтобы потом по файлу с сохраненными данными график можно было построить. Поэтому и спрашиваю, может у кого уже такой опыт был, и для него мой вопрос "вчерашний день".
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812714
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanВопросы касаемо "Stolen Server Memory" для отвечающих в теме.Из результатов скрипта же видно что этот счетчик состоит из большого количества мемори клерков. По сути это вся память используемая сервером кроме кэша данных.Так что отслеживать просто размер stolen memory без деталей особо смысла нет. На практике встречаются случаи когда один из клерков становится больше чем обычно что может приводить к проблемами. Видел пару раз проблемы из-за багов в самом SQL server, что обычно исправляется патчами. Ну еще могут быть всякие приколы с lock memory, ну и память используемая запросами тоже выделяется в stolen memory.
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812716
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanМне мешает отсутствие необходимого опыта, чтобы такой скрипт написать. Просто сохранять мало, надо сохранять в таком формате, чтобы потом по файлу с сохраненными данными график можно было построить. Поэтому и спрашиваю, может у кого уже такой опыт был, и для него мой вопрос "вчерашний день".Сколько форматов вам приходит на ум для такой нетривиальной задачи? Я бы сохранял в зашифрованном бинарном файле в хадупе. Удобнее не придумаешь.
Ну серьезно? Сложно сделать таблицу и написать пару INSERT/SELECT запросов?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812731
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mind, с помощью чего потом из данных в таблице можно строить график ?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812750
Massa52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreeman,
https://www.youtube.com/results?search_query=power+bi+dashboard
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812773
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OK. Спасибо за ответы. У меня пока нет опыта чтобы написать простой на ваш взгляд скрипт и затем как-то построить график по сохраненным данным.
Но возможно я оплачу время того кто это умеет - если цена устроит все стороны. Резюмирую что мне нужно сейчас:
1. Скрипт который я могу "повесить" в задание SQL Server Agent который будет с изменяемой периодичностью (5, 10 секунд и прочее) записывать куда-нибудь данные о занятой базами памяти в Buffer Pool
2. Инструмент который построит график по данным записанным в п. 1.
3. Объяснить мне как пользоваться скриптом ( менять период, может что-то еще), и инструментом для построения графика.
- Если у кого-то есть время, опыт и желание, пишите на _sa_nya@mail.ru .
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812791
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanOK. Спасибо за ответы. У меня пока нет опыта чтобы написать простой на ваш взгляд скрипт и затем как-то построить график по сохраненным данным.
Но возможно я оплачу время того кто это умеет - если цена устроит все стороны. Резюмирую что мне нужно сейчас: А зачем?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812798
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mind уточню ваш вопрос: зачем мне это нужно, или зачем участникам форума это нужно ?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812799
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanMind уточню ваш вопрос: зачем мне это нужно, или зачем участникам форума это нужно ?
https://www.sql.ru/forum/job
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812822
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanMind уточню ваш вопрос: зачем мне это нужно, или зачем участникам форума это нужно ?Зачем вам это нужно?
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39812902
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mind. Больший объем услуг нашей компании:
1. Изменение конфигураций 1С для клиентов. В штате работают программисты.
2. Предоставление услуг хостинга БД 1С для клиентов - "1С в Облаке".

По 1-му пункту. У нас есть выделенный сервер для БД клиентов, для которых проверяется ТЗ, когда это невозможно сделать на чистой базе с CF клиента или в файловом режиме, т.е. когда используется клиент-серверный режим в связке Сервер 1С + MS SQL Server. Периодически ко мне приходят с вопросами о том что "База работает медленно, вчера работала быстро", "у нас все висит" и прочее. Частично эти вопросы связаны с тем что SQL Server занимает всю оперативу, ему разрешенную, начинает использовать файл подкачки и "поехали". Сервер у нас не старый, но тем не менее ресурсы не безграничны. Этот инструмент позволит мне выявлять базы, которые потребляют много оперативы, затем говорить об этом программистам - т.е. дальше уже не моя зона ответственности и не мои дейтсвия по решению проблемы, код буду смотреть не я
По 2-му пункту. Т.к. ресурсы сервера для облака так же не безграничны в плане оперативы, мне это необходимо чтобы понимать в подобных случаях, чья база может создавать проблемы.
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39813213
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreeman"База работает медленно, вчера работала быстро", "у нас все висит" и прочее. Частично эти вопросы связаны с тем что SQL Server занимает всю оперативу, ему разрешенную, начинает использовать файл подкачки и "поехали".Наверняка для этого был проведен полноценный анализ производительности SQL сервера, чтобы прийти к таким выводам? Вот пусть тот кто делал этот анализ и напишет скрипт, я думаю у него труда это не составит.
SQL Server занимающий всю оперативу, ему разрешенную - это конечно проблема...

guestfreemanЭтот инструмент позволит мне выявлять базы, которые потребляют много оперативы, затем говорить об этом программистам - т.е. дальше уже не моя зона ответственности и не мои дейтсвия по решению проблемы, код буду смотреть не яТо есть даже если это не настоящая проблема, все равно спихнем её программерам - пусть разбираются? Т.е. давайте мне кто нибудь напишет скрипт результаты которого я буду пересылать программистам, а дальше хоть трава не расти. А что вообще тогда ваша зона ответсвенности? У вас в компании есть ДБА чтобы предоставлять услуги хостинга БД? Озвучьте название компании? На месте ваших клиентов я бы бежал сверкая пятками. Доверять свои базы тем кто не может написать пару SQL запросов это жесть
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39813291
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mindguestfreeman"База работает медленно, вчера работала быстро", "у нас все висит" и прочее. Частично эти вопросы связаны с тем что SQL Server занимает всю оперативу, ему разрешенную, начинает использовать файл подкачки и "поехали".Наверняка для этого был проведен полноценный анализ производительности SQL сервера, чтобы прийти к таким выводам? Вот пусть тот кто делал этот анализ и напишет скрипт, я думаю у него труда это не составит.
SQL Server занимающий всю оперативу, ему разрешенную - это конечно проблема...

guestfreemanЭтот инструмент позволит мне выявлять базы, которые потребляют много оперативы, затем говорить об этом программистам - т.е. дальше уже не моя зона ответственности и не мои дейтсвия по решению проблемы, код буду смотреть не яТо есть даже если это не настоящая проблема, все равно спихнем её программерам - пусть разбираются? Т.е. давайте мне кто нибудь напишет скрипт результаты которого я буду пересылать программистам, а дальше хоть трава не расти. А что вообще тогда ваша зона ответсвенности? У вас в компании есть ДБА чтобы предоставлять услуги хостинга БД? Озвучьте название компании? На месте ваших клиентов я бы бежал сверкая пятками. Доверять свои базы тем кто не может написать пару SQL запросов это жесть
- Анализ сервера делал я, и этот сервер устраивает всем параметрам, но когда в базе 1С выполняется какой-нибудь "кривой" запрос, то он может не только занять всю оперативную память, но и в принципе "повесить" службу Сервера 1С:Предприятия. В подобных ситуациях этот скрипт и нужен
- Насчет "Не настоящая проблема, спихнем программерам" - см абзац выше.
- Моя зона ответственности - бесперебойная, должным образом быстрая работа рабочих станций, серверов, служб на серверах. Если возникают проблемы, либо я их устраняю, либо диагностирую неисправность, и их устраняет тот к кому проблема относится. И дело не в "спихивании проблемы", а в кривых конфигурациях БД
"Доверять свои базы тем кто не может написать пару SQL запросов это жесть" - 1С не требует от системных администраторов фирм, предоставляющих хостинг умение профессионально писать скрипты в SQL Server'е. Если есть проблема производительности, программисты решают ее на уровне 1С и ее механизмов
"На месте ваших клиентов я бы бежал сверкая пятками." Наши клиенты как раз полностью довольны нашим сервисом. Мы следим за стабильностью работы, и большинство проблем не решаем, а предупреждаем.
На ваше месте я бы не давал таких "занозливых" советов, если вы не специалист в инфраструктуре 1С. По вашим ответам я понял что это так. В ином случае вы бы не писали свой последний пост.
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39813416
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guestfreemanOK. Спасибо за ответы. У меня пока нет опыта чтобы написать простой на ваш взгляд скрипт и затем как-то построить график по сохраненным данным.
Но возможно я оплачу время того кто это умеет - если цена устроит все стороны. Резюмирую что мне нужно сейчас:
1. Скрипт который я могу "повесить" в задание SQL Server Agent который будет с изменяемой периодичностью (5, 10 секунд и прочее) записывать куда-нибудь данные о занятой базами памяти в Buffer Pool
2. Инструмент который построит график по данным записанным в п. 1.
3. Объяснить мне как пользоваться скриптом ( менять период, может что-то еще), и инструментом для построения графика.
- Если у кого-то есть время, опыт и желание, пишите на _sa_nya@mail.ru .



дарю

1: скрипт ниже
2: с инструментом всё просто - графики в экселе
3: последний запрос - выборка данных за текущий день
Код: 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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
/*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()))

...
Рейтинг: 0 / 0
Размер базы в памяти
    #39813420
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* опечатка, надо исправить в скрипте numeric(5,1) на numeric(8,1)
...
Рейтинг: 0 / 0
Размер базы в памяти
    #39813586
guestfreeman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad, спасибо, буду пробовать.
...
Рейтинг: 0 / 0
50 сообщений из 50, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Размер базы в памяти
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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