在 SQL Server 2008 中禁用一个用户/数据库的远程访问

在 SQL Server 2008 中禁用一个用户/数据库的远程访问

是否可以禁用 SQL Server 2008 中一个用户或数据库的远程访问?

谢谢

答案1

这个问题很模糊,但我认为您正在寻找拒绝权限。右键单击相关登录名(在数据库中),并授予他deny_datareader和deny_datawriter角色。

答案2

总是需要限制用户登录 SQL Server 数据库。许多 DBA 都面临这一困难,因为必须针对具有不同要求的不同用户进行登录限制。SQL Server 2005 引入了一个名为“LOGON”触发器的选项,这是一种根据我们的要求限制用户登录次数的简单方法。

此登录触发器直接在数据库服务器上创建,并在主数据库上注册。以下示例演示了如何使用登录触发器通过“SQL 查询分析器”窗口限制用户“john”访问数据库。

USE master
GO
CREATE TRIGGER trgRestrictUser
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
IF (ORIGINAL_LOGIN()= 'john' AND APP_NAME() = 'Microsoft SQL Server Management Studio - Query')
ROLLBACK;
END;

此登录触发器可用于 SQL Server 中的各种审计目的。这是 SQL Sever 2005 Service Pack 2 中引入的新功能。我们需要升级到 SP2 才能使用此功能。

更多想法在这里:
http://www.sqlservercentral.com/Forums/Topic490100-359-1.aspx
http://www.sqlservercentral.com/Forums/Topic501874-146-1.aspx

答案3

我将拒绝 NT 帐户连接权限:

USE [master]
GO
DENY CONNECT SQL TO [DOMAIN\ACCOUNT]
GO

或者拒绝 SQL 帐户连接权限:

USE [master]
GO
DENY CONNECT SQL TO [SQL_ACCOUNT]
GO

相关内容