Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Размер базы в памяти  [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]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить