Назад | Перейти на главную страницу

Ограничение максимального размера диска базы данных и ограничение использования общего размера базы данных пользователем

Есть ли способ сделать это в SQL Server 2008 Express?

Мне нужно ограничить максимально допустимый размер конкретной базы данных.

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

Возможно ли это и как, спасибо.

Файл относительно прост по сравнению с ограничением размера пользователя.

alter database test 
modify file
(
  name = 'test_datafile1'
  ,MaxSize = 5 GB
)

С ограничением пользователя вы можете попробовать одно из следующих действий в зависимости от структуры вашей базы данных.

  1. Зарегистрируйте владельца строки и рассчитайте размер строки на основе типов данных и соответствующих требований к хранилищу. Затем умножьте на количество строк, которыми «владеет» пользователь.
  2. запросить размер таблицы, которой «владеет» пользователь, чтобы определить, превысили ли они лимит.

Немного сложно сказать, какой способ будет работать лучше всего, потому что, если все пользовательские данные находятся в одной таблице, а не в отдельных таблицах, тогда подход будет совершенно другим.

HTH