C#远程使用非默认端口(1433)连接windows server 2012 服务器上的Sql server2008r2 (三)

本文介绍如何使用C#通过非默认端口(如8080)远程连接到Windows Server 2012上的SQL Server 2008 R2数据库。详细步骤包括关闭防火墙、配置SQL Server的TCP/IP协议、设置特定端口以及解决sa登录时的18465错误。

之前写过了C#远程连接windows server 2012 服务器上的Sql server2008r2 (二),连接用的是默认端口1433,现在改为非默认端口(8080)远程连接 。

我的配置:已经关掉防火墙,sql server 配置 sa及其他均可,即在默认端口下已经能远程访问   

登录名:127.0.0.1,8080   注意是逗号 英文状态下

现在说明自己测试的最简配置

在SQL SERVER 网络配置节点下的MSSQLSERVER的协议  选择TCP/IP一定要启用,且IP地址属性里面的TCP端口一定要设置称自己要连接的非默认端口 8080 ,其他的端口我没有设置也能成功连接到服务器的数据库中!其他的协议我都禁止了(Shared Memory\Named Pipes\ VIA)

关于SQL Native Client 10.0配置下的客户端协议中的TCP/IP,我试过启动和禁止并没有什么影响,所以看个人,但是我还是开启了就设置一个端口,不费事的。

连接测试,成功!

比较简单,就不多说明了。

其中有一个问题,当连接时用sa登录可能出现18465的错误,这是先用windos身份证验证登录,安全性---sa----属性----设置密码----同时不要勾选强制密码策略。ok 返回用sa登陆试试。

 

 

### 如何配置 SQL Server 2008 R2 实现远程访问 为了使 SQL Server 2008 R2 支持远程访问,需要完成以下几个方面的基本配置: #### 1. 启用 TCP/IP 协议 在 SQL Server 配置管理器中启用 TCP/IP 协议。具体步骤如下: - 打开 **SQL Server Configuration Manager**。 - 展开左侧树形菜单中的 **SQL Server Network Configuration** -> **Protocols for MSSQLSERVER**(如果是默认实例)或对应的命名实例名称。 - 右键单击 **TCP/IP** 并选择 **Enable**[^1]。 #### 2. 设置静态端口 为了让客户端能够稳定连接SQL Server,默认的动态端口可能不够可靠,因此推荐设置固定的静态端口(通常是 1433)。操作方法如下: - 在 SQL Server 配置管理器中打开 **TCP/IP Properties** 对话框。 - 切换到 **IP Addresses** 标签页,在最后一个部分找到 **IPAll**。 - 将 **TCP Port** 字段设置为 `1433` 或其他自定义端口号[^1]。 #### 3. 修改 SQL Server 服务属性并重启服务 - 返回到 SQL Server 配置管理器的服务列表中,右键点击正在运行的 SQL Server 实例。 - 进入其属性对话框,切换至 **Log On** 页面确认账户权限正常。 - 完成以上更改后记得重新启动该服务以应用新的网络协议设定[^2]。 #### 4. 调整 Windows 防火墙规则 确保本地计算机上的防火墙不会阻止来自外部设备的数据包到达指定端口(即之前所设之固定端口1433)。可以通过创建一个新的入站规则来开放特定端口给所有 IP 地址访问: ```plaintext netsh advfirewall firewall add rule name="Open Port 1433" dir=in action=allow protocol=TCP localport=1433 ``` #### 5. 使用 SQL Server Management Studio (SSMS) 检查远程连接选项 进入 SSMS 中的目标数据库服务器节点,“Right Click”->Properties->Connections Tab,勾选 Allow remote connections to this server 复选框[^2]. #### 6. 测试连通性 可以利用 telnet 命令验证目标机器是否能成功抵达预设好的监听端口: ```bash telnet <your_server_ip> 1433 ``` 如果屏幕变为空白无任何字符显示,则表明通道畅通;反之则需排查前面各环节是否存在遗漏之处[^3]. 以下是简单的 C# 示例代码片段展示如何通过 ADO.NET 访问远程 SQL Server 数据库: ```csharp string connectionString = @"Data Source=<Your_Server_Name>;Initial Catalog=<Database_Name>;User ID=<Username>;Password=<Password>"; using(SqlConnection conn=new SqlConnection(connectionString)){ try{ conn.Open(); Console.WriteLine("Connected Successfully!"); } catch(Exception ex){ Console.WriteLine($"Error:{ex.Message}"); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值