powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Размер базы в памяти
25 сообщений из 50, страница 2 из 2
Размер базы в памяти
    #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
25 сообщений из 50, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Размер базы в памяти
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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