Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
squidw
Member

Откуда:
Сообщений: 25
Здравствуйте.
Есть возможность ограничить на самом MSSQLServer объем максимально доступной ему ОЗУ, а как управлять этим на уровне БД? То есть не всему SQL скажем 64GB максимальных, а вот этой БД base1 максимум 4GB?
С PostgreSQL знаком меньше, но вопрос аналогичен, ограничение ОЗУ на БД а не на весть экземпляр сервера. Не хочется плодить еще одну аналогичную тему в другой ветке.
19 июл 19, 13:13    [21930185]     Ответить | Цитировать Сообщить модератору
 Re: Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
L_argo
Member

Откуда:
Сообщений: 1209
Не морочьте себе голову.
Сколько серверу надо, столько и возьмет. Больше возьмет - быстрее отработает.
19 июл 19, 13:15    [21930188]     Ответить | Цитировать Сообщить модератору
 Re: Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
Владислав Колосов
Member

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

по-моему, начиная с 2016 для этого можно использовать resource governor, но не для базы в целом, а для запросов этой базы.
19 июл 19, 13:27    [21930200]     Ответить | Цитировать Сообщить модератору
 Re: Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
msLex
Member

Откуда:
Сообщений: 8066
Владислав Колосов
squidw,

по-моему, начиная с 2016 для этого можно использовать resource governor, но не для базы в целом, а для запросов этой базы.


Для ресурсных пулов, если точнее.
19 июл 19, 13:49    [21930229]     Ответить | Цитировать Сообщить модератору
 Re: Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
squidw
Member

Откуда:
Сообщений: 25
L_argo
Не морочьте себе голову.
Сколько серверу надо, столько и возьмет. Больше возьмет - быстрее отработает.

Да? А если сервер идет в качестве предоставления услуги? Каждый клиент может в БД хранить что ему вздумается и тут возникают вопросы ограничения ОЗУ хотя бы из соображений расчета тарифов, раз. Во вторых БД в случае допустим той же 1С из-за ошибок может иметь утечку памяти как результат страдают все базы сразу, а не одна ограниченная. Ограничение ОЗУ на уровне БД нужная вещь, то что написал как малый частный пример.
22 июл 19, 10:17    [21931468]     Ответить | Цитировать Сообщить модератору
 Re: Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
sti
Member

Откуда:
Сообщений: 769
squidw
L_argo
Не морочьте себе голову.
Сколько серверу надо, столько и возьмет. Больше возьмет - быстрее отработает.

Да? А если сервер идет в качестве предоставления услуги? Каждый клиент может в БД хранить что ему вздумается и тут возникают вопросы ограничения ОЗУ хотя бы из соображений расчета тарифов, раз. Во вторых БД в случае допустим той же 1С из-за ошибок может иметь утечку памяти как результат страдают все базы сразу, а не одна ограниченная. Ограничение ОЗУ на уровне БД нужная вещь, то что написал как малый частный пример.


БД разных клиентов на одном сервере плюс возможность каждого делать что хочет - как минимум странное решение. Логичнее виртуализировать и выдать каждому свою ВМ. Ну или хотя бы установить разные инстансы на одном сервере.
22 июл 19, 11:30    [21931548]     Ответить | Цитировать Сообщить модератору
 Re: Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
msLex
Member

Откуда:
Сообщений: 8066
sti
squidw
пропущено...

Да? А если сервер идет в качестве предоставления услуги? Каждый клиент может в БД хранить что ему вздумается и тут возникают вопросы ограничения ОЗУ хотя бы из соображений расчета тарифов, раз. Во вторых БД в случае допустим той же 1С из-за ошибок может иметь утечку памяти как результат страдают все базы сразу, а не одна ограниченная. Ограничение ОЗУ на уровне БД нужная вещь, то что написал как малый частный пример.


БД разных клиентов на одном сервере плюс возможность каждого делать что хочет - как минимум странное решение. Логичнее виртуализировать и выдать каждому свою ВМ. Ну или хотя бы установить разные инстансы на одном сервере.

да?
а для чего ж тогда contained db создавали?
22 июл 19, 12:28    [21931628]     Ответить | Цитировать Сообщить модератору
 Re: Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
msLex
sti
пропущено...


БД разных клиентов на одном сервере плюс возможность каждого делать что хочет - как минимум странное решение. Логичнее виртуализировать и выдать каждому свою ВМ. Ну или хотя бы установить разные инстансы на одном сервере.

да?
а для чего ж тогда contained db создавали?

и можно память ограничить?
22 июл 19, 12:38    [21931641]     Ответить | Цитировать Сообщить модератору
 Re: Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
squidw
Member

Откуда:
Сообщений: 25
sti
squidw
пропущено...

Да? А если сервер идет в качестве предоставления услуги? Каждый клиент может в БД хранить что ему вздумается и тут возникают вопросы ограничения ОЗУ хотя бы из соображений расчета тарифов, раз. Во вторых БД в случае допустим той же 1С из-за ошибок может иметь утечку памяти как результат страдают все базы сразу, а не одна ограниченная. Ограничение ОЗУ на уровне БД нужная вещь, то что написал как малый частный пример.


БД разных клиентов на одном сервере плюс возможность каждого делать что хочет - как минимум странное решение. Логичнее виртуализировать и выдать каждому свою ВМ. Ну или хотя бы установить разные инстансы на одном сервере.


Может неправильно выразился, уточню. Клиент имеет к примеру 1С базу, у клиента доступ только в 1С, но в SQL либо SSMS доступа нет, однако сама база 1с может быть допилена в части конфигурации и соответственно может иметь ту же утечку памяти в случае ошибок кода, даже в условиях типовой это может происходить из-за ошибок разработчиков 1с. Мне соответственно накладно делать на каждого клиента свой отдельный инстанс, возможно не прав, но пока расчитываю делать в пределах одного инстанса.
22 июл 19, 14:47    [21931760]     Ответить | Цитировать Сообщить модератору
 Re: Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
sti
Member

Откуда:
Сообщений: 769
squidw
sti
пропущено...


БД разных клиентов на одном сервере плюс возможность каждого делать что хочет - как минимум странное решение. Логичнее виртуализировать и выдать каждому свою ВМ. Ну или хотя бы установить разные инстансы на одном сервере.


Может неправильно выразился, уточню. Клиент имеет к примеру 1С базу, у клиента доступ только в 1С, но в SQL либо SSMS доступа нет, однако сама база 1с может быть допилена в части конфигурации и соответственно может иметь ту же утечку памяти в случае ошибок кода, даже в условиях типовой это может происходить из-за ошибок разработчиков 1с. Мне соответственно накладно делать на каждого клиента свой отдельный инстанс, возможно не прав, но пока расчитываю делать в пределах одного инстанса.


При чем здесь утечки памяти? Или у вас приложение (или, как я понимаю, приложения) на том же сервере крутятся где и SQL Server? Это плохая практика безотносительно 1С или нет.
22 июл 19, 15:49    [21931823]     Ответить | Цитировать Сообщить модератору
 Re: Как ограничить ОЗУ на БД, а не на весь MS SQL Server/PostgreSQL?  [new]
squidw
Member

Откуда:
Сообщений: 25
sti
При чем здесь утечки памяти? Или у вас приложение (или, как я понимаю, приложения) на том же сервере крутятся где и SQL Server? Это плохая практика безотносительно 1С или нет.

сервер MSSQL и сервер 1с стоят на одном физическом сервере, пользователи и клиент 1с это другой физический сервер.
22 июл 19, 16:07    [21931844]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить