如何设置MS SQL 2005按用户区分不允许远程连接

ltayo 2010-04-12 11:04:35
在MS SQL 2005除了sa帐号外,还创建了test帐号,如何设置只允许sa帐号能够远程连接
...全文
151 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltayo 2010-04-21
  • 打赏
  • 举报
回复
用上述代码的确可以解决我提的需求,还想请救,如何查看哪些用户不可远程连接?如何解除用户禁止远程连接?
xiaoyanaid 2010-04-20
  • 打赏
  • 举报
回复
真的可以吗?
ltayo 2010-04-20
  • 打赏
  • 举报
回复
上述报错提示是在SQL2005里的,正在打SP3补丁
ltayo 2010-04-20
  • 打赏
  • 举报
回复
打了SP3补丁运行上述代码再没有报错,明天再建个TEST帐号试试
Garnett_KG 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ltayo 的回复:]

引用 2 楼 garnett_kg 的回复:
SQL code

CREATE TRIGGER SA_LoginIP_Check
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
DECLARE @ip nvarchar(max)
DECLARE @loginName nvarchar(max)
SELECT @ip=……
[/Quote]

2000不行
2005要打sp3 补丁
ltayo 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 garnett_kg 的回复:]
SQL code

CREATE TRIGGER SA_LoginIP_Check
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
DECLARE @ip nvarchar(max)
DECLARE @loginName nvarchar(max)
SELECT @ip=EVENTDATA().value
(……
[/Quote]

消息 1084,级别 15,状态 1,过程 SA_LoginIP_Check,第 3 行
'LOGON' 是无效事件类型。
--小F-- 2010-04-12
  • 打赏
  • 举报
回复
2005以上可以用DDL触发器
Garnett_KG 2010-04-12
  • 打赏
  • 举报
回复

CREATE TRIGGER SA_LoginIP_Check
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
DECLARE @ip nvarchar(max)
DECLARE @loginName nvarchar(max)
SELECT @ip=EVENTDATA().value
('(/EVENT_INSTANCE/ClientHost)[1]','nvarchar(max)')
SELECT @loginName=EVENTDATA().value
('(/EVENT_INSTANCE/LoginName)[1]','nvarchar(max)')
--这里可根据@ip 及@loginname 来自定义登录规则,以下则为只允许sa本机登录的例子
IF @loginName='sa'
BEGIN
IF @ip<>'<local machine>'
ROLLBACK
END
END

Garnett_KG 2010-04-12
  • 打赏
  • 举报
回复
Login Trriger可解决
ltayo 2010-04-12
  • 打赏
  • 举报
回复
在sql2000里SQL Server Browser是为了解决什么问题?
--小F-- 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ltayo 的回复:]
请问上述方法在sql2000里有效吗?
[/Quote]

2000里面是没有的
ltayo 2010-04-12
  • 打赏
  • 举报
回复
请问上述方法在sql2000里有效吗?

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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