使用触发器来限制账号是否能登入
1. 创建一张表来保存非法时间登入的账号信息
CREATE TABLE [dbo].[sys_login_blocked_log] (
[Id] int IDENTITY(1, 1) NOT NULL,
[session_id] smallint NULL,
[login_time] datetime NULL,
[host_name] nvarchar(128) COLLATE Chinese_PRC_CI_AS NULL,
[original_login_name] nvarchar(128) COLLATE Chinese_PRC_CI_AS NULL,
[client_net_address] varchar(48) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_LogonLog] PRIMARY KEY CLUSTERED ([Id])
)
ON [PRIMARY]
GO
2. 创建限制登入触发器,
账号 test 登入时间限制为7-17点无法登入
CREATE TRIGGER [tr_logon_CheckTime] ON ALL SERVER
WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()='test' AND DATEPART(hh,GETDATE()) BETWEEN 7 AND 17
BEGIN
ROLLBACK;
INSERT INTO [mig_bug].[dbo].[sys_login_blocked_log]
([session_id]
,[login_time]
,[host_name]
,[original_login_name]
,[client_net_address])
SELECT
a.[session_id],a.[login_time],a.[host_name],
a.[original_login_name],b.[client_net_address]
FROM MASTER.sys.dm_exec_sessions a
INNER JOIN MASTER.sys.dm_exec_connections b
ON a.session_id=b.session_id
WHERE a.session_id = @@SPID
END;
END;
GO
- 大小: 175.2 KB
分享到:
相关推荐
【标题】:“基于Web和SQL的留言板登入代码”是指一种实现网页端用户登录功能的程序,它结合了Web技术和SQL数据库来处理用户的身份验证和数据交互。在Web开发中,登录系统是至关重要的,因为它确保了用户账户的安全...
### SQL Server 批量禁用、启用登录账号 在日常的数据库管理工作中,经常会遇到需要对大量登录账号进行批量操作的情况。例如,在某些特定的情况下,可能需要临时禁用某些登录账号,以确保系统的安全性;而在其他...
### 新建并启用MS SQL Server登录名的步骤 在日常工作中,我们经常需要对Microsoft SQL Server进行维护和管理。其中一个常见的需求就是在SQL Server上新建登录名,并确保该登录名能够正常使用。有时候,即使新建了...
在C++编程中,连接和操作SQL数据库是一项常见的任务,特别是在开发桌面应用程序或者需要与后端数据交互的系统中。本篇文章将详细讲解如何使用ADO(ActiveX Data Objects)技术来实现C++与SQL数据库的连接,以及如何...
在IT领域,数据库账号密码登录是一项基础且重要的功能,它涉及到用户身份验证和授权,确保只有合法用户可以访问系统资源。本项目是一个基于C#语言实现的登录界面,结合了SQL Server 2005数据库,为用户提供安全的...
ASP+SQL账号注册系统是一种基于ASP(Active ...综上所述,ASP+SQL账号注册系统涉及到了动态网页开发、数据库管理、网络安全等多个方面的知识,对于想要学习Web开发或者构建网站的人员来说,是一个很好的实践项目。
SqlDbx 3.53的"取消限制最新版"为数据库管理和开发带来了更广阔的使用空间,无论是小型项目还是大型企业级应用,都能从中受益。它简化了数据库操作,提高了开发效率,是数据库专业人士的得力助手。通过下载并安装...
本篇文章将详细介绍如何在SQL Server 2005中启用sa账号,并通过混合验证模式进行登录。 1. **启动SQL Server服务** - 如果SQL Server 2005的服务没有运行,首先需要确保它处于启动状态。这可以通过"服务"管理工具...
6. **优化措施**:为了防止恶意用户尝试登录并强制下线其他用户,可以设置登录失败次数限制,超过次数则锁定账号一段时间。此外,可以使用分布式Session存储,如Redis或Memcached,以支持大规模并发和高可用性。 ...
这个是SqlDbx 5.11专业版汉化和谐版,解除了各种限制 支持多窗口链接查询;支持Unicode编码,编辑器中汉字不会再出现乱码。目前专业版最新版本是5.11,官方也很久没发布新版本,本人也换了其他的多数据库管理工具,...
描述中并未提供具体工具的详细信息,但可以理解为该工具是为了帮助用户恢复对SQL Server SA账号的访问。使用这类工具时,通常会遵循以下步骤: 1. **下载并安装工具**:找到可靠的来源获取工具,然后在本地计算机上...
SQL Server 导入超大 SQL 脚本文件 SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业。然而,在实际应用中,我们经常会遇到导入超大 SQL 脚本文件的问题。本文将介绍如何使用 osql 工具来导入超大 SQL ...
### 关于 SQL Server 登录问题(错误 233 和 18456)的解决方法 #### 错误 233 的解决方法 **背景:** 当您尝试使用特定的身份验证方式(例如 sa 账户)登录到 SQL Server 实例时,可能会遇到错误 233。这个错误...
允许账号登录sqlserver,此脚本为MSSQL10.SQLEXPRESS的脚本 版本不同需要修改bat里面的注册表地址就好了。 自行去修改执行。或者直接按代码里面的意思修改信息就好了。 然后重启服务器就好了。
SQL数据库管理员账号“sa”是SQL Server中的一个特殊账户,具有最高的系统权限,通常用于数据库的管理和维护。在日常操作中,如果意外忘记了sa账号的密码,可能会导致无法正常访问数据库,这时就需要使用专门的工具...
触发器-K3wise出入库单据时间限制,限制K3出入库单据的制单时间范围。
1、在应用中jdbc url最前面添加jdbc:log4;比如oracle的url就变成了jdbc:log4jdbc:oracle:thin:@...3、运行系统测试,到对应日志文件中查看SQL相关信息; zip文件里已经包括所有依赖包,除了数据库驱动。 祝大家顺利。
sysusers 系统视图包含了 SQL Server 实例中的所有登录用户信息,可以使用以下语句来获取登录用户和密码: ``` SELECT name, password FROM sysusers WHERE name = USER_NAME() ``` 五、穷举法破解 SQL Server ...
在SQL Server的安全策略中,除了保护SA账号,还应关注其他方面,比如设置强密码策略、限制对数据库的访问、启用审计和日志记录、以及定期进行安全审查。同时,尽量避免在生产环境中使用SA账号进行日常操作,而是创建...
SQL 基础 SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between ...