Получить память, выделенную для SQL Server 2008, используя C # - PullRequest
2 голосов
/ 19 августа 2011

Я разработал установщик, и теперь я хочу добавить функцию (в основном проверку), которая будет проверять память, выделенную для SQL Server.

Я могу войти в SQL Server и получить информацию о памяти, но на стороне клиента они не предоставляют доступ к SQL Server, и поэтому мне нужно разработать инструмент для получения этой информации. Они предоставят учетные данные в инструменте для подключения к SQL Server.

Я знаю, как изменить память

EXEC master.dbo.sp_configure
GO
EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC master.dbo.sp_configure 'min server memory', 1024
RECONFIGURE
GO
EXEC master.dbo.sp_configure
GO

Но есть ли способ узнать, сколько памяти выделено?

Ответы [ 2 ]

0 голосов
/ 19 августа 2011

Откройте объект PerformanceCounter для экземпляра категории Процесс , соответствующего процессу SQL Server на целевом хост-компьютере.Затем найдите счетчики памяти:

  • Рабочий набор : Показывает текущее число байтов в рабочем наборе этого процесса.
  • Private Bytes : показывает текущее число байтов, выделенных этим процессом, которые нельзя использовать совместно с другими процессами.
  • Virtual Bytes : показывает текущий размер в байтахвиртуальное адресное пространство, используемое процессом.

Вы также можете запросить собственные счетчики SQL Server через объект PerformanceCounter или sys.dm_os_performance_counters.Последнее, однако, требует, чтобы вы знали, как вычислять значения счетчиков из последовательных выборок, потому что представление предоставляет необработанное значение.алгоритмы вычисления значения, основанные на типе счетчика, описаны в Типы счетчиков производительности WMI .

0 голосов
/ 19 августа 2011

Вы можете запросить представление каталога sys.configurations - как насчет этой настройки здесь?

SELECT value_in_use
FROM sys.configurations
WHERE name = 'max server memory (MB)'

Это значение, которое вы ищете?

Или, может быть, выищите значение для «минимальной памяти сервера (МБ)»?(как видно из кода в вашем посте)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...