我将与主database.Table中包含用户名(相同的名称,登录)单个表和日子里,他们有机会获得
create table usersacess
(
username varchar(30),
accessdays char(10)
)
insert into usersacess
select 'testlogin1','sunday'
union all
select 'testlogin','monday'
union all
select 'testlogin','tuesday'
去一旦你有了上述信息,你需要创建一个登录触发器,您可以选择登录到DB以及..
alter TRIGGER connection_limit_trigger
ON ALL SERVER with execute as 'sa'
FOR LOGON
AS
BEGIN
if exists(select 1 from usersacess where username=original_login())
begin
if not exists(select 1 from usersacess where username=ORIGINAL_LOGIN() and accessdays=datename(dw,getdate()))
begin
rollback;
end
end
END;
几点要注意:
1.with作为SA执行很重要,因为某些登录可能无法读取用户访问表
2.首先确认我们没有检查所有用户
3.用户访问表中的登录名应该匹配与用户
创建现在,如果你尝试测试,testlogin1只能访问的今天,因为它是星期天
感谢您的评论原来的名称。但在这里,我希望平日访问的业务逻辑,而不是存储密码。我只是创建了一个表格,以方便。请关注主要问题。谢谢! – nischalinn
感谢您的建议。如果您有任何问题的解决方案,请回复。这将非常感激。 – nischalinn
一种方法是在您的数据库中添加2个表格: 一个将保存星期几,一个将加入用户和工作日。 –