`
编程足球
  • 浏览: 256951 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

SQL 限制账号登入时间

    博客分类:
  • SQL
 
阅读更多
使用触发器来限制账号是否能登入

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
分享到:
评论

相关推荐

    SQLServer 批量禁用、启用登录账号

    ### SQL Server 批量禁用、启用登录账号 在日常的数据库管理工作中,经常会遇到需要对大量登录账号进行批量操作的情况。例如,在某些特定的情况下,可能需要临时禁用某些登录账号,以确保系统的安全性;而在其他...

    新建并启用MS SQL Server登录名的步骤

    ### 新建并启用MS SQL Server登录名的步骤 在日常工作中,我们经常需要对Microsoft SQL Server进行维护和管理。其中一个常见的需求就是在SQL Server上新建登录名,并确保该登录名能够正常使用。有时候,即使新建了...

    C++连接SQL数据库

    在C++编程中,连接和操作SQL数据库是一项常见的任务,特别是在开发桌面应用程序或者需要与后端数据交互的系统中。本篇文章将详细讲解如何使用ADO(ActiveX Data Objects)技术来实现C++与SQL数据库的连接,以及如何...

    调用数据库账号密码登入

    在IT领域,数据库账号密码登录是一项基础且重要的功能,它涉及到用户身份验证和授权,确保只有合法用户可以访问系统资源。本项目是一个基于C#语言实现的登录界面,结合了SQL Server 2005数据库,为用户提供安全的...

    SQL账号注册系统.rar_ASP+SQL 注册_SQL注册账号_asp+mssql搭建_sql 账号系统_网站简易注册系统源码

    ASP+SQL账号注册系统是一种基于ASP(Active ...综上所述,ASP+SQL账号注册系统涉及到了动态网页开发、数据库管理、网络安全等多个方面的知识,对于想要学习Web开发或者构建网站的人员来说,是一个很好的实践项目。

    sqlserver sa 账号被锁定的解决办法

    在开发过程中,如果遇到sa账号被锁定,是一件很棘手的事情,本教程可以指导你解决这个问题,附带详细代码。

    原创SqlDbx3.53取消限制最新版

    SqlDbx 3.53的"取消限制最新版"为数据库管理和开发带来了更广阔的使用空间,无论是小型项目还是大型企业级应用,都能从中受益。它简化了数据库操作,提高了开发效率,是数据库专业人士的得力助手。通过下载并安装...

    J2EE限制同一账号同一时刻只能一个用户登录使用,向QQ一样

    6. **优化措施**:为了防止恶意用户尝试登录并强制下线其他用户,可以设置登录失败次数限制,超过次数则锁定账号一段时间。此外,可以使用分布式Session存储,如Redis或Memcached,以支持大规模并发和高可用性。 ...

    SqlDbx 5.11专业版-无任何功能限制(中文版)

    这个是SqlDbx 5.11专业版汉化和谐版,解除了各种限制 支持多窗口链接查询;支持Unicode编码,编辑器中汉字不会再出现乱码。目前专业版最新版本是5.11,官方也很久没发布新版本,本人也换了其他的多数据库管理工具,...

    sql数据库管理员账号SA密码清除工具

    描述中并未提供具体工具的详细信息,但可以理解为该工具是为了帮助用户恢复对SQL Server SA账号的访问。使用这类工具时,通常会遵循以下步骤: 1. **下载并安装工具**:找到可靠的来源获取工具,然后在本地计算机上...

    关于 SQL Server 登录问题(错误 233和18456)的解决方法

    ### 关于 SQL Server 登录问题(错误 233 和 18456)的解决方法 #### 错误 233 的解决方法 **背景:** 当您尝试使用特定的身份验证方式(例如 sa 账户)登录到 SQL Server 实例时,可能会遇到错误 233。这个错误...

    sql数据库管理员账号sa密码清除工具

    SQL数据库管理员账号“sa”是SQL Server中的一个特殊账户,具有最高的系统权限,通常用于数据库的管理和维护。在日常操作中,如果意外忘记了sa账号的密码,可能会导致无法正常访问数据库,这时就需要使用专门的工具...

    在SQL语句如何获得MSSQLSERVER登录用户和密码

    sysusers 系统视图包含了 SQL Server 实例中的所有登录用户信息,可以使用以下语句来获取登录用户和密码: ``` SELECT name, password FROM sysusers WHERE name = USER_NAME() ``` 五、穷举法破解 SQL Server ...

    SQL 语法 SQL 总结 SQL教程

    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 ...

    SqlDbx(多数据库链接查询工具)V4.12 解除多开限制版

    支持多窗口以及多连接,有限制的地方就是导出数据有限制,在生成数据库脚本的时候,只能导出10个对象。支持的DBMS类型包括SQL Server,Orade Server,Sybase ASE Server Sybase IQ,Sybase Anywhere IBM DB2数据库,...

    MS SERVER SQL 限制用户登陆和使用权限

    MS SERVER SQL 限制用户登陆和使用权限

    sql server 导入超大SQL脚本文件

    SQL Server 导入超大 SQL 脚本文件 SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业。然而,在实际应用中,我们经常会遇到导入超大 SQL 脚本文件的问题。本文将介绍如何使用 osql 工具来导入超大 SQL ...

    sqlserver自动生成sql语句工具sqlserver转oracle

    在IT行业中,数据库管理系统是核心组成部分,SQL Server和Oracle分别是微软和甲骨文公司推出的两款广泛应用的关系型数据库系统。在企业级应用中,有时需要在不同的数据库系统间进行数据迁移或兼容性处理,这就涉及到...

    SQLPrompt for SQLServer2016 智能提示插件 SQL2016 提示

    SQLPrompt for SQLServer2016 智能提示插件 SQL2016 提示 SQLPrompt最新版本 绿色版 SQL Prompt 是一款拥有SQL智能提示功能的SQL Server和VS插件。SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动...

    利用SQL注入漏洞登录后台的实现方法

    SQL注入是一种常见的网络安全威胁,它发生在web应用程序未能充分验证或过滤用户输入的数据时。当攻击者成功利用SQL注入漏洞,他们可以构造恶意的SQL语句,以操纵数据库查询,获取敏感信息,甚至完全控制服务器。以下...

Global site tag (gtag.js) - Google Analytics