如何设置sqlserver2008r2,让管理器只能在特定的机子使用?

DTWUJP 2013-03-01 02:57:03
机房内有监控室,如何能控制管理员只使用监控室内的电脑使用SQL Server Management Studio管理数据库,其他的电脑都不允许连接数据库并用SQL Server Management Studio打开,下面客户端的电脑使用应用程序连接数据库。
主要防止管理员用其他电脑SQL Server Management Studio连接到数据库中修改记录,谢谢!
...全文
259 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
DTWUJP 2013-03-01
  • 打赏
  • 举报
回复
谢谢版主,我试一下。
發糞塗牆 2013-03-01
  • 打赏
  • 举报
回复
2008以上就可以用这个脚本
發糞塗牆 2013-03-01
  • 打赏
  • 举报
回复
那你用2楼的方式,用登录触发器,把电脑地址不再允许范围内的deny connect,可以参考以下脚本获取:
SET NOCOUNT ON ;
DECLARE @EventData XML = EVENTDATA() ;
--返回有关服务器或数据库事件的信息,以XML格式保存。
DECLARE @ip VARCHAR(32) = ( SELECT  client_net_address
                            FROM    sys.dm_exec_connections
                            WHERE   session_id = @@SPID
                          ) ;

      
SELECT  @EventData.value('(/EVENT_INSTANCE/EventType)[1]', 'NVARCHAR(100)') ,
        @EventData.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'NVARCHAR(MAX)') ,
        @EventData ,
        DB_NAME() ,
        @EventData.value('(/EVENT_INSTANCE/SchemaName)[1]', 'NVARCHAR(255)') ,
        @EventData.value('(/EVENT_INSTANCE/ObjectName)[1]', 'NVARCHAR(255)') ,
        HOST_NAME() ,
        @ip ,
        PROGRAM_NAME() ,
        SUSER_SNAME()
DTWUJP 2013-03-01
  • 打赏
  • 举报
回复
sqlserver2008r2
發糞塗牆 2013-03-01
  • 打赏
  • 举报
回复
你的SQLServer是多少版本的?
DTWUJP 2013-03-01
  • 打赏
  • 举报
回复
引用 7 楼 SmithLiu328 的回复:
引用 6 楼 DTWUJP 的回复: 引用 4 楼 DBA_Huangzj 的回复:开启了sql身份验证不代表不能使用Windows身份验证,按照你3楼的方式,你可以把sql账号设为少数人才能访问,然后强制别人只能用Windows登录,这样你可以在Windows层面上建一个组,把允许的人放到这个组里面,然后把这个组添加到SQLServer相关的数据库中,这样不再这个组里面的Windows账号就访……
由于某些原因,管理员都有自己(个人或公司)的电脑并连入网域,这个目前还不能禁止,所以我想这样:你要管理操作数据库,就到监控室的电脑(有监控)上去操作,否则用自己的个人电脑或公司的办公室电脑是不允许管理操作数据库,一个是从规章制度上管理,第二还是从技术上想这样管理,不知能否实现。
KevinLiu 2013-03-01
  • 打赏
  • 举报
回复
引用 6 楼 DTWUJP 的回复:
引用 4 楼 DBA_Huangzj 的回复:开启了sql身份验证不代表不能使用Windows身份验证,按照你3楼的方式,你可以把sql账号设为少数人才能访问,然后强制别人只能用Windows登录,这样你可以在Windows层面上建一个组,把允许的人放到这个组里面,然后把这个组添加到SQLServer相关的数据库中,这样不再这个组里面的Windows账号就访问不了,这是一……
干脆你做个主策略,除了那几台电脑,其他所有电脑不允许安装SSMS.
DTWUJP 2013-03-01
  • 打赏
  • 举报
回复
引用 4 楼 DBA_Huangzj 的回复:
开启了sql身份验证不代表不能使用Windows身份验证,按照你3楼的方式,你可以把sql账号设为少数人才能访问,然后强制别人只能用Windows登录,这样你可以在Windows层面上建一个组,把允许的人放到这个组里面,然后把这个组添加到SQLServer相关的数据库中,这样不再这个组里面的Windows账号就访问不了,这是一种预防措施,如果还想做的深入一点,可以考虑开启审计功能。还有一些ddl、……
版主您好,是这样的,我不是要限定帐号,是想限定使用的电脑,只充许在机房监控室的电脑能用SQL Server Management Studio来管理数据库,,不允许用其他电脑的SQL Server Management Studio来管理数据库。即使是有sa密码也不行,或者说只能用某个IP或MAC地址的电脑来操作SQL Server Management Studio。
發糞塗牆 2013-03-01
  • 打赏
  • 举报
回复
客户端,也就是前端应用程序的连接账号本来就不应该给很多人知道,如果数据库是你管理的,只有你自己知道就可以了。然后禁用sa,当然你前提要先开一个账号有sysadmin权限的。没有Windows账号的人自然也就访问不了,更不用说动你的数据了。
發糞塗牆 2013-03-01
  • 打赏
  • 举报
回复
开启了sql身份验证不代表不能使用Windows身份验证,按照你3楼的方式,你可以把sql账号设为少数人才能访问,然后强制别人只能用Windows登录,这样你可以在Windows层面上建一个组,把允许的人放到这个组里面,然后把这个组添加到SQLServer相关的数据库中,这样不再这个组里面的Windows账号就访问不了,这是一种预防措施,如果还想做的深入一点,可以考虑开启审计功能。还有一些ddl、dml触发器、cdc等
DTWUJP 2013-03-01
  • 打赏
  • 举报
回复
现在服务器设置是sqlserver身份验证登陆, 目的的修改数据时,要不通过应用程序来修改(下面客户端操作员),对于管理员必须用监控室的特定电脑来用SQL Server Management Studio或应用程序来修改,。 主要防止管理员用没有监管的电脑通过SQL Server Management Studio登陆数据库直接修改数据。比如管理员(因为管理员有数据库密码)用自己的电脑安装sqlserver,然后用SQL Server Management Studio进入数据库修改数据。 监控室的电脑视频监控,可以监控管理员的操作。
KevinLiu 2013-03-01
  • 打赏
  • 举报
回复
Login Trigger: 找到APP_NAME()为SSMS 且Client不在你限定的地址则KILL CONNECTION. select client_net_address from sys.dm_exec_connections where session_id = @@spid,
發糞塗牆 2013-03-01
  • 打赏
  • 举报
回复
限制所有人只允许用Windows身份验证登录,然后在ssms那里限定这些Windows账号就可以了

22,199

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧