背景
只想使某个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身份验证”(输入...
### PHP连接SQL Server 同时...综上所述,通过以上步骤,我们可以实现在同一台机器上,利用Apache和IIS同时支持PHP连接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 修改路径的方法** 为了修改数据库...