使用触发器来限制账号是否能登入
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
分享到:
相关推荐
### 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开发或者构建网站的人员来说,是一个很好的实践项目。
在开发过程中,如果遇到sa账号被锁定,是一件很棘手的事情,本教程可以指导你解决这个问题,附带详细代码。
SqlDbx 3.53的"取消限制最新版"为数据库管理和开发带来了更广阔的使用空间,无论是小型项目还是大型企业级应用,都能从中受益。它简化了数据库操作,提高了开发效率,是数据库专业人士的得力助手。通过下载并安装...
6. **优化措施**:为了防止恶意用户尝试登录并强制下线其他用户,可以设置登录失败次数限制,超过次数则锁定账号一段时间。此外,可以使用分布式Session存储,如Redis或Memcached,以支持大规模并发和高可用性。 ...
这个是SqlDbx 5.11专业版汉化和谐版,解除了各种限制 支持多窗口链接查询;支持Unicode编码,编辑器中汉字不会再出现乱码。目前专业版最新版本是5.11,官方也很久没发布新版本,本人也换了其他的多数据库管理工具,...
描述中并未提供具体工具的详细信息,但可以理解为该工具是为了帮助用户恢复对SQL Server SA账号的访问。使用这类工具时,通常会遵循以下步骤: 1. **下载并安装工具**:找到可靠的来源获取工具,然后在本地计算机上...
### 关于 SQL Server 登录问题(错误 233 和 18456)的解决方法 #### 错误 233 的解决方法 **背景:** 当您尝试使用特定的身份验证方式(例如 sa 账户)登录到 SQL Server 实例时,可能会遇到错误 233。这个错误...
SQL数据库管理员账号“sa”是SQL Server中的一个特殊账户,具有最高的系统权限,通常用于数据库的管理和维护。在日常操作中,如果意外忘记了sa账号的密码,可能会导致无法正常访问数据库,这时就需要使用专门的工具...
sysusers 系统视图包含了 SQL Server 实例中的所有登录用户信息,可以使用以下语句来获取登录用户和密码: ``` SELECT name, password FROM sysusers WHERE name = USER_NAME() ``` 五、穷举法破解 SQL Server ...
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 ...
支持多窗口以及多连接,有限制的地方就是导出数据有限制,在生成数据库脚本的时候,只能导出10个对象。支持的DBMS类型包括SQL Server,Orade Server,Sybase ASE Server Sybase IQ,Sybase Anywhere IBM DB2数据库,...
MS SERVER SQL 限制用户登陆和使用权限
SQL Server 导入超大 SQL 脚本文件 SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业。然而,在实际应用中,我们经常会遇到导入超大 SQL 脚本文件的问题。本文将介绍如何使用 osql 工具来导入超大 SQL ...
在IT行业中,数据库管理系统是核心组成部分,SQL Server和Oracle分别是微软和甲骨文公司推出的两款广泛应用的关系型数据库系统。在企业级应用中,有时需要在不同的数据库系统间进行数据迁移或兼容性处理,这就涉及到...
SQLPrompt for SQLServer2016 智能提示插件 SQL2016 提示 SQLPrompt最新版本 绿色版 SQL Prompt 是一款拥有SQL智能提示功能的SQL Server和VS插件。SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动...
SQL注入是一种常见的网络安全威胁,它发生在web应用程序未能充分验证或过滤用户输入的数据时。当攻击者成功利用SQL注入漏洞,他们可以构造恶意的SQL语句,以操纵数据库查询,获取敏感信息,甚至完全控制服务器。以下...