Можно ли ограничить количество подключений для роли / имени входа в SQL Server 2005? - PullRequest
4 голосов
/ 29 мая 2009

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

Ответы [ 3 ]

2 голосов
/ 29 мая 2009

Да, но вам нужно немного кода SQL. Вы можете применить любую понравившуюся вам политику, создав Триггер входа в систему . Этот триггер является новым для SQL Server 2005 с пакетом обновления 2 (, а не в RTM-версии afaik) и запускается каждый раз, когда устанавливается соединение, прежде чем какое-либо утверждение будет принято из указанного соединения. Убедитесь, что вы используете правильное предложение EXECUTE AS для своего триггера. В триггере вы можете проверить sys.dm_exec_sessions и sys.dm_exec_connections и решить, разрешено ли новое подключение да / нет. Пожалуйста, обратите внимание, что в SQL 2005 количество сеансов не обязательно равно количеству соединений из-за MARS . Вы должны решить свою политику, если вы разрешите 2 подключения или 2 сеанса.

0 голосов
/ 29 мая 2009

Вы не можете сделать это декларативно на стороне сервера. Конечно, вы можете сделать это в коде tsql, если хотите доверять приложению себя.

0 голосов
/ 29 мая 2009

Насколько мне известно, это невозможно сделать через саму реализацию безопасности SQL Server.

Однако вы можете глобально настроить максимальное количество подключений к SQL Server.

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

...