Нет, вы не можете сделать это - по крайней мере, не декларативным способом (просто укажите максимальное количество баз данных, принадлежащих каждому пользователю).
Ближе всего вы можете получить стандартную функциональность SQL Server, чтобы создать триггер DDL для CREATE DATABASE
, и в этом триггере проверьте, имеет ли текущий пользователь уже пять баз данных, и в этом случае разрешить триггеру операция.
Что-то вдоль линий этого (взято из TechNet sample):
CREATE TRIGGER ddl_trig_database
ON ALL SERVER
FOR CREATE_DATABASE
AS
-- here, check to see if current user already owns five databases
-- and if so, fail the trigger by using RAISERROR
GO
I» Думаю, есть что-то, что вы могли бы сделать с функциями управления на основе политик, даже если это ежедневная проверка, чтобы убедиться, что кто-то превысил это правило. Однако я не знаком с этой подсистемой. –