我们正在尝试基于主机名限制mssql数据库上的sql类型登录。这些主机名的ip地址是动态的。我可以使用下面的查询打印当前登录的用户。
我试着四处寻找,但找不到太多的信息。我们是否可以根据主机名限制sql类型的登录。提前谢谢
SELECT DB_NAME(database_id) as [DB]
, login_name
, nt_domain
, nt_user_name
, status
, host_name
, program_name
, COUNT(*) AS [Connections] FROM sys.dm_exec_sessions
WHERE database_id > 0
and login_name='MySQLLogin'
GROUP BY database_id, login_name, status, host_name, program_name, nt_domain, nt_user_name;
1条答案
按热度按时间wmomyfyw1#
您可能想看看在身份验证阶段之后但在用户会话建立之前触发的登录触发器,例如:
在此示例中,从坏主机、坏主机或最坏主机连接的用户将收到类似以下的错误消息:
当然这取决于
HOST_NAME()
返回您所说的“正确”结果。主机名(transact-sql)明确表示:重要的
客户端应用程序提供工作站名称,并且可能提供不准确的数据。不要将主机名作为安全功能。
你应该试着找到一些机制
HOST_NAME()
确定应拒绝的登录。