![通过 SQL Server 用户帐户限制并发数据库连接](https://linux22.com/image/497662/%E9%80%9A%E8%BF%87%20SQL%20Server%20%E7%94%A8%E6%88%B7%E5%B8%90%E6%88%B7%E9%99%90%E5%88%B6%E5%B9%B6%E5%8F%91%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5.png)
我想创建一个 SQL Server 2005 用户帐户,但限制该用户一次只能与数据库建立两个并发连接。有没有办法通过 SQL Server 配置来实现这一点?
答案1
您可以尝试登录触发器:http://technet.microsoft.com/en-us/library/bb326598.aspx
TechNet 建议:
您可以使用登录触发器来审核和控制服务器会话,例如通过跟踪登录活动、限制 SQL Server 的登录或限制特定登录的会话数。
他们的第一个代码示例将用户限制为 3 个连接(引用 TechNet):
USE master;
GO
CREATE LOGIN login_test WITH PASSWORD = '3KHJ6dhx(0xVYsdf' MUST_CHANGE,
CHECK_EXPIRATION = ON;
GO
GRANT VIEW SERVER STATE TO login_test;
GO
CREATE TRIGGER connection_limit_trigger
ON ALL SERVER WITH EXECUTE AS 'login_test'
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()= 'login_test' AND
(SELECT COUNT(*) FROM sys.dm_exec_sessions
WHERE is_user_process = 1 AND
original_login_name = 'login_test') > 3
ROLLBACK;
END;