Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 仅允许特定用户的远程连接_Sql Server_Sql Server 2012 Express - Fatal编程技术网

Sql server 仅允许特定用户的远程连接

Sql server 仅允许特定用户的远程连接,sql-server,sql-server-2012-express,Sql Server,Sql Server 2012 Express,我刚刚在SQL Server Express 2012安装中启用了远程连接。现在我有点担心服务器的安全性,因为允许连接到每个人对我来说都是一个很大的安全漏洞 如果用户试图与不在我的“允许”列表中的用户进行身份验证,是否可以告诉SQL Server断开连接?如果是这样,我可以将我的监控用户添加到此列表中,而不必担心我的管理帐户是可访问的。您应该能够将db服务器设置为仅接受来自特定IP地址的连接,而不是所有IP地址的连接。我不确定T-SQL的语法,但肯定会有人插话说出正确的语法 如果你是认真的,也就

我刚刚在SQL Server Express 2012安装中启用了远程连接。现在我有点担心服务器的安全性,因为允许连接到每个人对我来说都是一个很大的安全漏洞


如果用户试图与不在我的“允许”列表中的用户进行身份验证,是否可以告诉SQL Server断开连接?如果是这样,我可以将我的监控用户添加到此列表中,而不必担心我的管理帐户是可访问的。

您应该能够将db服务器设置为仅接受来自特定IP地址的连接,而不是所有IP地址的连接。我不确定T-SQL的语法,但肯定会有人插话说出正确的语法

如果你是认真的,也就是说,你会想用你给客户的证书来验证他们。请参阅此文章及其链接到的各种文章:


您应该能够将db服务器设置为仅接受来自特定IP地址的连接,而不是所有IP地址的连接。我不确定T-SQL的语法,但肯定会有人插话说出正确的语法

如果你是认真的,也就是说,你会想用你给客户的证书来验证他们。请参阅此文章及其链接到的各种文章:


首先,这可能是一个应该在DBA站点中提出的问题。无论如何,您可以设置服务器的安全性,以便只允许某些用户登录

设置服务器时,先在服务器级别添加登录名,然后在数据库级别添加用户。显然,只有安装的用户才能使用特定的数据库。您可以将用户放置到角色中,例如,他们将具有对数据库的只读访问权限。您可以控制,一直到对象级别,谁有权访问什么

有一篇关于SQL Server安全性的好文章

话虽如此,有时在您设置了安全性之后,您需要禁止某些用户登录。也许您正在对数据库进行一些重大升级。这种情况下的一个选项是创建登录触发器

每次用户登录时都会触发登录触发器。您可以创建一个“允许的”用户表,如果他们不在您回滚的表中,则在触发器中有效地禁止登录


是关于创建登录触发器的信息首先,这可能是DBA站点中应该问的问题。无论如何,您可以设置服务器的安全性,以便只允许某些用户登录

设置服务器时,先在服务器级别添加登录名,然后在数据库级别添加用户。显然,只有安装的用户才能使用特定的数据库。您可以将用户放置到角色中,例如,他们将具有对数据库的只读访问权限。您可以控制,一直到对象级别,谁有权访问什么

有一篇关于SQL Server安全性的好文章

话虽如此,有时在您设置了安全性之后,您需要禁止某些用户登录。也许您正在对数据库进行一些重大升级。这种情况下的一个选项是创建登录触发器

每次用户登录时都会触发登录触发器。您可以创建一个“允许的”用户表,如果他们不在您回滚的表中,则在触发器中有效地禁止登录


是有关创建登录触发器的信息

能够远程连接到SQL Server实例并不意味着他们可以登录到该实例。如果他们没有得到正确授权,他们仍然会被SQL Server登录身份验证序列启动

对于“受信任的登录”(授权来自其Windows登录/域帐户)而言,这是无声/不可见的,但仍然会发生


如果查看服务器的“安全”文件夹(在SSMS中),您将看到SQL Server的授权登录列表。通过添加或删除这些,您可以控制谁可以在您的SQL Server上实际创建会话。

能够远程连接到SQL Server实例并不意味着他们可以登录到该实例。如果他们没有得到正确授权,他们仍然会被SQL Server登录身份验证序列启动

对于“受信任的登录”(授权来自其Windows登录/域帐户)而言,这是无声/不可见的,但仍然会发生


如果查看服务器的“安全”文件夹(在SSMS中),您将看到SQL Server的授权登录列表。通过添加或删除这些,您可以控制谁可以在SQL Server上实际创建会话。

AFAIK,SQL Server中没有像这样的内置功能。Windows防火墙也许可以做到这一点,但对于SQLServer,您必须自己启动(这很危险,不适合新手)。就我自己为git服务器设置的而言,基于证书的安全性发生在SSL级别。基本上,当客户端协商一个安全连接时,服务器的证书颁发机构会请求它签署的证书;如果客户端无法交付,服务器将完全拒绝连接:它将不允许客户端靠近SQL server,更不用说尝试登录到SQL server。尽管如此,这与t-SQL语法无关。我不是说它不起作用,或者OP不能或者不应该使用它,我只是说上面关于它在SQL Server/t-SQL中的说法是不正确的。我可能错了,但我相信这种东西是在域或Windows Server上安装的,而不是在SQL Server中。是的,完全正确。这不是SQL级别的,如果OP不确定他在做什么,那么你和Michael的答案都比我的好。下面是阻止SQL Server级别访问IP地址的代码:。然而,我认为通过研究登录和