背景
只想使某个IP的计算机才能连接到SQL Server服务器,不允许其他客户端连接。
解决方法
可以直接在防火墙中做限制,只允许与指定的IP地址建立1433的通讯。当然,从更为安全的角度来考虑,应该把1433端口改成其他的端口。
其他解决方法1(
限制指定IP接入的客户端)
如果使用SQL Server 2005,还可以通过端点限制的方法来实现,此方法要求一块专门的网卡,所有可以连接SQL Server的客户端均通过此网卡接入(假设此网卡的IP是192.168.1.1):
1. 在“SQL Server 配置管理器”的“SQL Server 2005网络配置中”,禁止除TCP/IP之外的所有协议;
2. 使用如下的T-SQL禁止默认的TCP端点
ALTER ENDPOINT [TSQL Default TCP]
STATE = STOPPED
3. 使用如下的T-SQL建立新的TCP端点和授权
USE master
GO
-- 建立一个新的端点
CREATE ENDPOINT [TSQL User TCP]
STATE = STARTED
AS TCP(
LISTENER_PORT = 1433,
LISTENER_IP = (192.168.1.1) -- 侦听的网络地址
)
FOR TSQL()
GO
-- 授予所有登录(或者指定登录)使用此端点的连接权限
GRANT CONNECT ON ENDPOINT::[TSQL User TCP]
TO [public]
完成上述配置之后,只有通过网络地址配置为192.168.1.1的网卡接入的客户端才能访问SQL Server;另外,如果只授予指定登录对端点的连接权限,则只有指定的登录才能接入SQL Server实例。
其他解决方法2(限指定IP的客户端接入)
当SQL Server 2005升级到SP2或者更高的版本的时候,还可以通过新增的触发器来实现控制。
执行下面的T-SQL后,将使除IP地址为192.168.1.1之外的客户端连接失败。
USE master
GO
CREATE TRIGGER tr_LoginCheck
ON ALL SERVER
FOR LOGON
AS
IF EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'varchar(15)') <> '192.168.1.1'
ROLLBACK TRAN
GO
分享到:
相关推荐
在远程连接SQL Server数据库时,关键在于构建正确的连接字符串。例如,在上述代码中,连接字符串"server=.;database=" + textBox1.Text.Trim() + ";Integrated Security=SSPI;"指定了服务器(本机,即"."),数据库...
在SQL Server 2012中,连接到外部数据源如PostgreSQL数据库是通过设置链接服务器来实现的。链接服务器允许SQL Server查询和操作非本地的数据,提供了与异构数据库系统交互的能力。以下是一个详细步骤,说明如何在SQL...
在连接SQL Server时,客户端需要指定服务器名称和登录凭证。如果是在应用程序中进行连接,通常需要配置连接字符串。连接字符串可能包括如下参数: - 数据库服务器的名称或IP地址 - 端口号,通常SQL Server的默认...
- **服务器名称**:指定SQL Server的实例名,可能是本地机器的"."或"localhost",或者远程服务器的IP地址。 - **身份验证**:可以选择“Windows身份验证”(使用操作系统账户登录)或“SQL Server身份验证”(输入...
- **Profile Name**:首先,你需要为你的连接创建一个识别名称,例如“SQLServer2008Conn”,以便在后续使用中方便引用。 - **Provider**:选择适合的OLE DB提供程序来连接SQL Server。对于SQL Server 2008,通常...
Access 连接 SQL Server 中的表可以使用链接表、传递查询和直接在本地查询串中指定连接信息三种方式。每种方式都有其优缺点,选择合适的方式取决于具体的应用场景和需求。同时,在创建链接表时,需要选择合适的 DSN ...
### Java连接SQL Server 2000方法及错误处理 #### 一、引言 在进行Java应用程序开发过程中,连接数据库是一项基本且重要的任务。本文将详细介绍如何使用Java连接SQL Server 2000数据库,并解决连接过程中可能出现...
标题“连接SQLServer2008”和描述“PHP连接SQLServer2008PHP”指出了本文将探讨如何使用PHP编程语言与SQL Server 2008数据库进行交互。以下是一些关于这个主题的关键知识点: 1. **PHP扩展支持**: - PHP通过`...
在本文中,我们将详细讲解如何安装和配置SQL Server 2000 服务器,这对于初学者来说是一份非常实用的指南。 一、SQL Server 2000 数据库的安装 1. **启动安装程序**:首先,将SQL Server 2000的安装光盘放入CD-ROM...
### Oracle透明网关连接SQL Server 2008:详细指南 #### 一、环境配置与准备 在探讨Oracle透明网关(Transparent Gateway)如何连接到SQL Server 2008之前,首先需要确保所有涉及的系统环境都已正确设置。以下是...
服务器名通常指的是SQL Server实例的网络位置,可能是本地机器的"."或远程服务器的IP地址。数据库名是你想要访问的具体数据库,如"AdventureWorks"。用户名和密码则是数据库管理员或特定用户账户的凭据,用于验证...
机器A、机器B,都装有Sql Server2000,C#程序从A连B上的数据库OK,但是从B连A的数据库总是有异常,异常提示“在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程...
1. **Data Source** 或 **Server**: 指定SQL Server实例的地址,可以是IP地址、主机名或机器名,如 "localhost" 或 "127.0.0.1"。 2. **Initial Catalog** 或 **Database**: 定义要连接的数据库名称,例如 ...
1. **安装MySQL-ODBC驱动**:在开始之前,确保已经安装了MySQL服务器,并在目标机器上安装适用于SQL Server的MySQL ODBC驱动。可以从MySQL官方网站下载并安装适合操作系统版本的驱动程序。 2. **创建数据源**:安装...
如果要连接某台机器上的默认实例,只需要指定机器名即可。 * -U login_id:指定连接 SQL Sever 的用户名。 * -P password:指定连接 SQL Server 的用户名密码。 * -T:指定 bcp 使用信任连接登录 SQL Server。如果未...
【Eclipse连接SQL Server 2005数据库】 在IT行业中,开发人员经常需要与各种数据库进行交互,其中SQL Server 2005是一个广泛使用的数据库管理系统。本篇将详细介绍如何在Eclipse集成开发环境中配置并连接SQL Server...
8. **创建数据库订阅**:在订阅服务器上同样通过 SQL Server Management Studio 创建数据库订阅,连接到发布服务器的数据库发布,并设置订阅类型(如推送订阅)。之后,手动启动发布服务器的代理程序生成数据库快照...
然后,选择“文件数据源(与机器无关)”,接着是“SQL Server”,并指定DSN文件的位置,例如桌面的“test”文件。 DSN文件的配置需要输入SQL Server数据库的详细信息,包括服务器地址、数据库名称、用户名和密码。...
使用相对路径的好处是可以让你的绿色SQL Server随时复制到任意目录或任意其他机器上启动,并且原有的数据库都可以正常使用。这是因为相对路径不会绑定到特定的目录结构上。 **2.2 修改路径的方法** 为了修改数据库...
- 最后,可以通过尝试从本机或其他机器连接数据库来验证配置是否正确。如果一切正常,那么从其他机器应该无法连接到数据库服务器。 #### 小结 通过上述步骤,我们可以有效地设置SQL Server 2005仅允许本机访问。...