SQL Server 设置端口详解

前言

在数据库管理和开发过程中,SQL Server是一个广泛使用的关系型数据库管理系统。默认情况下,SQL Server使用1433端口进行通信。然而,出于安全性、端口冲突或网络限制等原因,我们有时需要更改SQL Server的默认端口。本文将详细介绍如何在SQL Server中设置和更改端口。

一、为什么要更改SQL Server 的默认端口?

1. 安全性

默认端口1433是众所周知的,这使得你的SQL Server实例容易成为攻击目标。更改端口可以增加安全性,降低被攻击的风险。通过使用非标准端口,可以有效减少自动化攻击脚本对服务器的扫描和攻击。

2. 端口冲突

在同一台服务器上运行多个SQL Server实例时,可能会遇到端口冲突的问题。为每个实例设置不同的端口可以避免这种情况。例如,你可能在同一台服务器上运行多个开发、测试和生产环境的SQL Server实例,它们需要不同的端口来避免互相干扰。

3. 网络限制

在某些网络配置中,默认端口可能被防火墙或网络策略阻止,更改端口可以绕过这些限制,使SQL Server能够正常工作。例如,在某些组织的网络策略中,可能会限制使用默认端口,而允许使用特定范围内的端口。

二、前提条件

在进行以下步骤之前,请确保你具有以下条件:

  • 管理员权限:你需要具有操作系统和SQL Server实例的管理员权限。
  • SQL Server Configuration Manager 已安装:这是SQL Server安装时自带的工具。
  • 知晓当前SQL Server实例的名称:例如,默认实例名为 MSSQLSERVER,命名实例可能为 SQLExpress 等。

三、具体步骤

1. 打开 SQL Server Configuration Manager

SQL Server Configuration Manager是配置SQL Server网络协议的重要工具。具体步骤如下:

  1. 按下 Win + R 键,输入 SQLServerManager15.msc(对于SQL Server 2019)或 SQLServerManager14.msc(对于SQL Server 2017),然后按下回车键。
  2. 在弹出的SQL Server Configuration Manager窗口中,展开 SQL Server Network Configuration,然后选择 Protocols for <你的实例名>
背景知识:

SQL Server Configuration Manager是一个用于配置SQL Server网络协议和服务的工具。它提供了一个图形化界面,方便管理员配置SQL Server的网络设置、协议和服务。

2. 配置 TCP/IP 协议

Protocols for <你的实例名> 中,可以看到多种网络协议配置。我们需要重点关注 TCP/IP 协议。

  1. Protocols for <你的实例名> 中,右键点击 TCP/IP,然后选择 Properties
  2. TCP/IP Properties 窗口中,选择 IP Addresses 选项卡。
  3. 向下滚动到 IPAll 部分,你会看到 TCP PortTCP Dynamic Ports 两个设置。
    • TCP Dynamic Ports:将其值清空。这表示不使用动态端口。
    • TCP Port:输入你想要设置的新端口号,例如 1435
详细步骤说明:
  • IP1、IP2…:这些部分分别对应不同的网络适配器配置,你可以为每一个网络适配器单独配置端口,但通常情况下,我们会统一配置 IPAll 部分。
  • TCP Dynamic Ports:默认情况下,该字段可能包含一个值(例如 0),表示使用动态分配的端口。我们需要将其清空以禁用动态端口。
  • TCP Port:在此字段中输入你想要使用的固定端口,例如 1435
背景知识:

TCP/IP协议是SQL Server与客户端之间进行通信的主要协议。配置TCP/IP协议的端口号可以确保SQL Server通过特定端口进行监听和通信。

3. 重启 SQL Server 服务

更改端口设置后,需要重启SQL Server服务以使更改生效。

  1. 返回到SQL Server Configuration Manager的主界面。
  2. 展开 SQL Server Services,找到你的SQL Server实例(例如 SQL Server (MSSQLSERVER))。
  3. 右键点击实例名,然后选择 Restart 以重启服务,使设置生效。
注意事项:
  • 重启服务过程中,所有连接到该实例的客户端都会断开连接,因此请确保在一个适当的时间窗口内进行此操作,避免影响正常业务运行。
背景知识:

每次更改SQL Server的网络配置后,都需要重启服务以使新的配置生效。重启服务会中断当前的所有连接,因此需要谨慎操作。

4. 配置防火墙

为了确保新的端口能够正常工作,你需要在防火墙中打开该端口。

  1. 打开控制面板,选择 System and Security,然后选择 Windows Defender Firewall
  2. 点击 Advanced settings,打开 Windows Defender Firewall with Advanced Security
  3. 在左侧选择 Inbound Rules,然后在右侧选择 New Rule...
  4. 选择 Port,然后点击 Next
  5. 选择 TCP,并在 Specific local ports 中输入你之前设置的新端口号(例如 1435),然后点击 Next
  6. 选择 Allow the connection,然后点击 Next
  7. 确保所有配置文件(Domain, Private, Public)都被选中,然后点击 Next
  8. 为这条规则命名,例如 SQL Server Custom Port 1435,然后点击 Finish
详细步骤说明:
  • Inbound Rules:入站规则决定哪些入站流量可以访问服务器。创建新的规则可以允许特定端口的流量。
  • Port:选择端口规则类型,允许我们指定特定端口号。
  • Specific local ports:输入你之前配置的端口(例如 1435)。
  • Allow the connection:确保无论何种网络配置,都允许该端口的连接。
  • Profiles:选择所有配置文件(Domain、Private、Public),以确保无论在哪种网络环境下都能正常工作。
背景知识:

防火墙是服务器安全的重要组成部分。配置防火墙规则以允许SQL Server新端口的流量,确保客户端能够正常连接到SQL Server实例。

5. 更新客户端连接字符串

最后,你需要确保客户端应用程序的连接字符串使用新的端口号。例如,连接字符串可以这样配置:

Server=<服务器地址>,1435;Database=<数据库名>;User Id=<用户名>;Password=<密码>;
详细步骤说明:
  • Server:指定服务器地址和端口号。例如 localhost,1435192.168.1.100,1435
  • Database:指定要连接的数据库名称。
  • User IdPassword:提供相应的数据库用户凭据。
背景知识:

连接字符串是客户端应用程序与SQL Server通信的关键配置。指定正确的服务器地址和端口号,确保客户端能够成功连接到SQL Server。

6. 验证新端口

你可以使用SQL Server Management Studio (SSMS) 或其他SQL客户端工具来验证新的端口是否生效。

  1. 打开SSMS,选择 Connect > Database Engine
  2. Server name 中输入 <服务器地址>,1435,例如 localhost,1435
  3. 输入相应的登录凭据,然后点击 Connect

如果成功连接,说明端口配置成功。

背景知识:

SQL Server Management Studio (SSMS) 是微软提供的用于管理SQL Server实例的图形化工具。通过SSMS,可以方便地测试和验证SQL Server的连接配置。

四、常见问题

1. 无法连接到新的端口

  • 检查防火墙配置:确保防火墙已正确配置,允许新的端口通过。
  • SQL Server服务状态:确保SQL Server服务已成功重启且正在运行。
  • 网络配置:检查客户端和服务器之间的网络连接是否正常。
详细说明:
  • 防火墙配置:防火墙可能会阻止新的端口,检查防火墙规则是否正确配置,允许特定端口的流量。
  • 服务状态:使用SQL Server Configuration Manager检查SQL Server服务是否正在运行,确保服务已成功重启。
  • 网络配置:确保客户端和服务器在同一网络中,或者通过VPN等方式连接,确保网络连接正常。

2. 端口仍然被占用

  • 端口冲突:确保新的端口没有被其他应用程序占用,可以使用 netstat -aon | findstr :<端口号> 命令检查端口占用情况。
  • 多实例配置:如果在同一台服务器上运行多个SQL Server实例,请确保每个实例使用不同的端口。
详细说明:
  • 端口冲突:使用命令行工具检查特定端口是否被其他应用程序占用,如果被占用,考虑更改为其他未使用的端口。
  • 多实例配置:在同一台服务器上运行多个SQL Server实例时,确保每个实例配置不同的端口,避免端口冲突。

结论

更改SQL Server的端口虽然看似复杂,但只要按照上述步骤仔细操作,便能轻松实现。通过更改默认端口,不仅可以提升系统的安全性,还能解决端口冲突等问题。希望本文对你有所帮助,如果有任何问题,欢迎在评论区留言讨论。


作者: FLK_9090
CSDN博客: https://blog.csdn.net/FLK_9090
Gitee: https://gitee.com/fantasy_5
日期: 2024年7月7日


如果你觉得本文对你有帮助,请点赞、收藏并关注我,更多精彩内容等你来发现!


希望这篇更详细的文章能够满足您的需求。如果还有其他要求或需要进一步的补充,请随时告诉我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VBA-计时器的数据进行整理

对计时器的数据进行整理 需求原始数据程序步骤VBA程序结果 需求 需要在txt文件中提取出分和秒分别在两列 原始数据 数据结构 计次7 00:01.855 计次6 00:09.028 计次5 00:08.586 计次4 00:08.865 计次3 00:07.371 计次2 00:06.192 计次1 00:05.949 程序步骤 1、利用Trim()去…

易备数据备份软件——低成本、高效能、全方位地守护您的数据安全

在数字化的时代&#xff0c;数据是企业和个人最宝贵的资产。然而&#xff0c;数据丢失、系统故障、恶意攻击等威胁时刻存在。如何确保数据的安全与完整&#xff1f;易备数据备份软件为您提供全方位无死角的解决方案&#xff0c;让您高枕无忧&#xff01; 云备份&#xff1a;畅…

CV每日论文--2024.7.4

1、InternLM-XComposer-2.5: A Versatile Large Vision Language Model Supporting Long-Contextual Input and Output 中文标题&#xff1a;InternLM-XComposer-2.5&#xff1a;支持长上下文输入和输出的多功能大视觉语言模型 简介&#xff1a;我们推出了InternLM-XComposer-…

079、类的继承

继承是对已有的类进行扩展创建出新的类&#xff0c;这个过程就叫做继承。其中&#xff0c;提供继承信息的类叫做父类&#xff08;超类、基类&#xff09;&#xff0c;得到继承信息的类称为子类&#xff08;派生类&#xff09;。 基本语法 继承是通过在类定义语句中使用圆括号…

控制周期与控制频率

控制周期是指控制系统中执行一次完整控制循环所需的时间间隔。它表示了控制系统对输入信号进行处理、执行控制算法、生成输出信号并更新系统状态的频率。在实时控制系统中&#xff0c;控制周期的选择对系统的性能和稳定性具有重要影响。较短的控制周期可以提高系统的响应速度&a…

高级java每日一道面试题-2024年7月8日

文章目录 面试官问: final 在java中有什么作用面试者回答:1. final修饰变量基本数据类型&#xff1a;示例&#xff1a; 对象引用&#xff1a;示例&#xff1a; 2. final修饰方法示例&#xff1a; 3. final修饰类示例&#xff1a; 4. final局部变量和参数示例&#xff1a; 总结 …

互联网十万个为什么之什么是CDN?

CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;是一组分布在不同地理位置的服务器&#xff0c;其目的是更有效地向用户分发互联网内容。通过缓存内容&#xff08;如网页、图片、视频和其他类型的网络数据&#xff09;在多个服务器上&#xff0c…

学生护眼台灯哪个牌子实用?值得入手的学生护眼台灯十大排名分析

在这个数码时代&#xff0c;人们对屏幕的依赖程度越来越高&#xff0c;尤其是孩子们。他们不仅在学校里需要长时间盯着教科书&#xff0c;还会在学习和娱乐中使用各种数码设备。然而&#xff0c;这也使得眼睛健康问题逐渐凸显&#xff0c;尤其是儿童近视的问题。为了保护视力&a…

Flink 提交作业的方式

参考&#xff1a; Flink运行方式及对比-腾讯云开发者社区-腾讯云

IP地址設置的全面指南-okeyproxy

IP地址是每個連接到互聯網的設備的唯一識別字&#xff0c;無論是家庭網路還是企業網路&#xff0c;正確設置IP地址是確保網路穩定和安全的關鍵。IP地址由一系列數字組成&#xff0c;通常分為IPv4和IPv6兩種格式。IPv4是最常見的形式&#xff0c;由四組0到255之間的數字組成&…

济南网站建设费用为什么差距如此之大

济南网站建设费用的差距之所以如此之大&#xff0c;主要是由于以下几个因素的影响。 首先&#xff0c;不同的网站建设公司所提供的服务内容和质量不尽相同&#xff0c;这直接导致了费用的差距。一些知名的大型网络公司会提供全方位的网站建设服务&#xff0c;包括网站设计、页面…

ELFK 8.12.2 部署 -- docker部署方式⚽

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;CSDN博客专家   &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01…

SpringBoot源码阅读(3)——监听器

ApplicationListener类初始化位置 在类SpringApplication的构造方法&#xff0c;第267行 在META-INFO/spring.factories中配置的实现类 spring-boot # Application Listeners org.springframework.context.ApplicationListener\ org.springframework.boot.ClearCachesApplic…

Top级“水刊”!高达10.1分,发文量大,最快1个月左右录用,几乎沾边可录!

本周投稿推荐 SCI • 能源科学类&#xff0c;1.5-2.0&#xff08;来稿即录25天&#xff09; • 计算机类&#xff0c;2.0-3.0&#xff08;纯正刊29天录用&#xff09; EI • 各领域沾边均可&#xff08;2天录用&#xff09; 知网 • 7天录用-检索&#xff08;急录友好&…

【YOLOv5进阶】——替换主干网络(backbone)-MobileNet为例

声明:笔记是做项目时根据B站博主视频学习时自己编写,请勿随意转载! 一、说在前面的一些话 1、torchvision 需要用到torchvision里的一些模块,之前第一期配置环境的时候已经安装过torchvision! torchvision是PyTorch生态系统中的一个关键库,专门为计算机视觉任务设计和优…

个性化微课教学视频推荐系统-计算机毕业设计源码77648

个性化微课教学视频推荐系统 摘 要 随着信息技术的迅猛发展&#xff0c;教育领域正经历着前所未有的变革。微课作为一种新兴的教学资源形式&#xff0c;以其短小精悍、针对性强、易于传播等特点&#xff0c;逐渐受到广大师生的青睐。然而&#xff0c;在微课资源日益丰富的今天…

Python语法基础

python语法 TIPS&#xff1a;本文适合有一定编程语言基础的人快速复习python基本语法 python的IO&#xff1a; 基础input ainput()&#xff1a;默认输入 基础output print():默认输出 默认换行参数end""控制字母之间的距离,可以理解为默认为换行符&#xff0c;修改…

谷粒商城学习笔记-逆向工程错误记录

文章目录 1&#xff0c;Since Maven 3.8.1 http repositories are blocked.1.1 在maven的settings.xml文件中&#xff0c;新增如下配置&#xff1a;1.2&#xff0c;执行clean命令刷新maven配置 2&#xff0c;internal java compiler error3&#xff0c;启动逆向工程报错&#x…

【Linux】网络新手村

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 引言 今天&#xff0c;我们就开始学习Linux网络相关的内容。这篇博客作为Linux网络板块的第一篇博客看&#xff0c;我们首先要带着大家明白Linux网络的一些名词的概念&#xff0c;为之后的学习扫清障碍。然后我…

Bootstrap 按钮下拉菜单

Bootstrap 按钮下拉菜单 简介 Bootstrap 是一个流行的前端框架&#xff0c;用于快速开发响应式和移动设备优先的网页。它提供了一套丰富的组件&#xff0c;包括导航、下拉菜单、按钮等&#xff0c;使得开发者能够轻松构建功能丰富且美观的界面。在本文中&#xff0c;我们将重…