通过NAT访问SQL Server实例

2023-11-23

我正在尝试访问通过 IP NAT 映射公开的 SQL Server。所有端口均开放。我不知道 NAT 的详细信息(是否相关),因为那是公司其他地方隐藏在一堆繁文缛节中的内容。

这就是我的想法。当您尝试访问 SQL Server 的命名实例时,客户端会询问命名实例正在哪个端口上运行。如果我通过 RDP 进入 SQL Server,我可以使用netstat找出该实例的端口并可以成功通过防火墙连接。但是,通过实例名称连接不起作用。我的猜测是,服务器在某个时刻使用其内部 IP 地址进行响应,并且客户端正在使用该地址。

有谁知道这是否属实以及是否有解决方法?


实例监听端口协议发现受SQL Server 浏览器服务。这使用 1434 上的 UDP。通过 UDP 1434 的 NAT 转发,您的客户端应该能够与 SQL Server 浏览器服务交互(ifSQL Server Browser 的 UDP 响应数据包可以返回客户端,big如果),但即使是成功的互动也会让你的客户陷入困境:既然它knowsSQL Server动态监听端口,它是如何到达的? NAT 必须动态转发 SQL Server 选择的端口,或者必须转发all ports.

我建议让 SQL Server 侦听每个配置的静态分配的端口。看如何配置 SQL Server 实例以侦听特定 TCP 端口或动态端口。让您的 NAT 转发that港口。然后在您的客户端中在连接字符串中显式使用此端口。不要使用标准端口 1433,因为我假设 NAT 之前是公共互联网,而 1433 会受到各种机器人和恶意集群的持续频繁扫描。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过NAT访问SQL Server实例 的相关文章

  • SQL FORMAT 函数错误

    这个SQL select FORMAT lNum from rpt myView 产生以下错误 参数数据类型 varchar 对于格式的参数 1 无效 功能 lNum is a varchar 10 运行 SQL Server 2012 v
  • 从多行中获取/选择值到sql server中的1行中

    我有一个表格 每列都有一些图像 Acd unq id Emp unq id Acd BImg1 Acd BImg2 Acd RImg1 Acd RImp2 Acd RImg3 Acd Active 1 1745 BinaryImg Bina
  • 从 bak 文件恢复数据库 sql server 的脚本不起作用

    我有一个空数据库 DB Clients 我想从一个恢复数据库 bak file OldDBClients bak 这是路径 C OldDBClients bak 这是我的脚本 USE master GO RESTORE DATABASE D
  • 导入到 SQL Server 时忽略 Excel 文件中的列

    我有多个具有相同格式的 Excel 文件 我需要将它们导入 SQL Server 我当前遇到的问题是 有两个文本列我需要完全忽略 因为它们是自由文本 并且某些行的字符长度超出了服务器允许我导入的长度 这会导致截断错误 因为我的分析不需要这些
  • SQL Server查询麻烦,多对多关系

    不知道如何用一行字来表达这个问题 对标题表示歉意 我的数据库中有3个表 例如 Shop Item 商店库存 Shop 和 Item 具有多对多关系 因此 ShopStock 表将它们链接起来 ShopStock 中的字段是 ID ShopI
  • 从VBA中的数组批量插入到sql中

    我正在尝试在 Excel 中构建一个按钮 将所选区域上传到 SQL Server 中的表中 第一行将自动视为列标题 这件事该怎么继续下去呢 我想要的是简单和超快的上传 这是我的想法 我将选择选定的区域 然后将其保存为 txt 文件 然后对其
  • SQL Server 之间

    我有一个表 其中有年 月和一些数字列 Year Month Total 2011 10 100 2011 11 150 2011 12 100 2012 01 50 2012 02 200 现在 我想要SELECT2011 年 11 月至
  • Invoke-Sqlcmd 运行脚本两次

    我遇到了一个非常奇怪的问题并且可以重复 基本上 我使用invoke sqlcmd通过使用 inputfile来调用脚本文件 但是如果脚本文件存在一些执行错误 例如插入到列不应为空的表中 则脚本文件将被执行两次 我也可以从探查器中看到这两个执
  • Sql 查询:Sum,表中所有可能的行组合

    SQL Server 2008 R2 表结构示例 create table TempTable ID int identity value int insert into TempTable values 6 insert into Tem
  • 打开脚本任务时 SSIS 丢失文件引用

    我们使用自定义审核程序集 C 在脚本任务中记录 SSIS 中的多种操作 我们将在 GAC 中构建自定义程序集 用于运行时 并发布到 IDE VS2008 的公共程序集区域以供设计时文件引用 后构建完成后 自定义程序集可在运行时使用 并可在文
  • 为什么某些字符无法从 CFQUERY 正确注入到 SQL Server?

    我有一个在 Lucee 上运行的 Coldfusion 应用程序 它连接到 SQL Server 数据库 当我直接在 SQL Server 管理器中运行以下查询时 UPDATE article SET content 20m WHERE i
  • 是否可以自动化 SQL Server 2008 分析器?

    有一个post https stackoverflow com questions 488020 what is your most useful sql trick to avoid writing more code关于有用的 SQL
  • 在单个更新语句上使用事务

    我在工作中为一些 SP 配音 我发现编写代码的人在单个更新语句上使用了事务 如下所示 begin transaction single update statment update table whatever with whatever
  • 是否可以使用“WHERE”子句来选择SQL语句中的所有记录?

    晚上好 我很好奇是否可以在 SQL 语句中创建一个 WHERE 子句来显示所有记录 下面一些解释 随机 SQL 语句 Java JSP示例 正常情况 String SqlStatement SELECT FROM table example
  • 如何在 SQL Server 中什么都不做[重复]

    这个问题在这里已经有答案了 可能的重复 T SQL 中的空语句 https stackoverflow com questions 3234871 empty statement in t sql 我怎样才能让它在 SQL Server 中
  • sql server GO 相当于 oracle

    我正在为 Oracle 编写迁移脚本 我需要更改表结构 然后用数据填充它 我想先进行结构更改 然后再进行数据更改 在 SQL Server 中我会使用GO分离批次 是否有 SQL ServerGOOracle 中的等效命令 It s and
  • SQL Server Express 到 .mdf 文件的连接

    两部分问题 我使用 VS 2015 Update 3 创建了一个 ASP NET MVC 5 应用程序 我在本地计算机上完成了该项目 突然 我无法再通过 SQL Server 对象资源管理器连接到 mdf数据库文件并出现以下错误 无法打开数
  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • 如何在动态查询中将行值连接到列名

    我正在开发一个允许配置问题和答案的应用程序 目前最多可以有 20 个答案 但也可能更少 我的结构如下 问题 ID FormId QuestionText AnswerField 1 1 Name Answer01 2 1 Address A
  • 案例陈述以确定我是否应该结合

    我目前想做某种条件联合 给出以下示例 SELECT age name FROM users UNION SELECT 25 AS age Betty AS name 假设我只想在 用户 计数 gt 2 时合并第二个语句 否则不合并两者 总之

随机推荐

  • 运算符的递归应用->

    据说箭头运算符是递归应用的 但是当我尝试执行以下代码时 它在应该打印 4 的情况下却打印出乱码 class dummy public int p int operator gt return 4 class screen public du
  • HAML:仅当条件为真时才创建容器/包装元素

    远景 但我想知道是否有什么办法可以做到这样的事情 p ONLY SHOW THIS IF LOCAL VARIABLE show paras IS TRUE name 换句话说 它总是显示内部的内容 但如果 某些条件 为真 它只会在其周围包
  • 如何以表格格式将对象列表打印到文件

    我必须将对象列表打印到表格格式的文本文件中 例如 如果我有 Person 具有 getName getAge 和 getAddress 方法 对象列表 则文本文件应如下所示 Name Age Address Abc 20 some addr
  • 处理器指令周期执行时间

    我的猜测是 no operation 内在 ARM 指令应花费 1 168 MHz 来执行 前提是每个NOP在一个时钟周期内执行 我想通过文档验证这一点 有关处理器指令周期执行时间的信息是否有标准位置 我试图确定 STM32f407IGh6
  • 按轴分数定位文本

    有没有办法通过轴的分数在图中定位文本 我希望所有绘图的文本都位于相同位置 无论 x 和 y 的范围如何不同 此功能位于 ax annotate 中 但我需要放入额外的 xy 参数 这使得我的代码更难阅读 import matplotlib
  • 我可以从 Qt 程序(在嵌入式 Linux 上)使用什么 EXIF 库?

    有人可以推荐一个可以与 Qt 程序一起使用的 tiff img 的不错的 exif 库吗 我想读取和写入 exif 数据 请注意 我需要一个与闭源程序兼容的许可证 因此 使用 LGPL 或 BSD 风格许可证的库会非常好 我的第一个计划是使
  • 通过 Python 请求模块发出 HTTP 请求无法通过代理工作,而curl却可以工作?为什么?

    使用这个curl命令我能够从Bash获得我正在寻找的响应 curl v u z secret key proxy http proxy net 80 H Content Type application json https service
  • 拖/放 UI 元素时 Android Studio 挂起

    我安装了 Android Studio 1 0 并拥有 JDK 1 8 我创建新项目 使用 带片段的空白活动 并将最低版本设置为棒棒糖 5 0 然后我转到fragment main xml并将一个UI元素拖到手机上 在示例中我使用了一个按钮
  • Angular 5 中的 RequestOptions 已弃用符号错误

    我正在尝试将 Angular 4 中的代码调整为 Angular 5 我做了很多更改 但有一个错误RequestOptions 该代码是关于身份验证的 这就是我遇到错误的地方 import Injectable from angular c
  • 使用反应钩子从父组件触发子函数

    我在父组件中有一些操作按钮 单击此类按钮之一时 我想触发子组件中的一个功能 目前 我正在尝试使用 useRef 钩子来实现它 但该解决方案似乎很乏味 并且还给了我警告 我当前的代码如下所示 import React useContext u
  • iostream线程安全,cout和cerr必须单独加锁吗?

    我知道 为了避免输出混合 多个线程对 cout 和 cerr 的访问必须同步 在同时使用 cout 和 cerr 的程序中 单独锁定它们是否足够 或者同时写入 cout 和 cerr 仍然不安全 编辑澄清 我知道 cout 和 cerr 在
  • Django 抽象模型与常规继承

    除了语法之外 使用 django 抽象模型和使用 django 模型的普通 Python 继承有什么区别 优点和缺点 更新 我认为我的问题被误解了 我收到了关于抽象模型和继承自 django db models Model 的类之间差异的回
  • C# dotnet core 2 将数据从中间件/过滤器传递到控制器方法

    目前我们正在使用 dotnet core 2 编写一个 Web 应用程序 我们实际上创建了某种多托管平台 可以根据传递到应用程序的 URL 注册新客户端 然而目前我们想要创建一个中间件 过滤器来验证我们的客户端 实际上我们想要做的是从数据库
  • Where 子句应用于多种模式

    我有一个具有多种模式的函数 我有两个或多个共享相同的表达式 我想替换它们 现在如果我写一个where子句在底部 缩进它并定义一个新变量 因为我想替换它的表达式不起作用 Example myFunction firstParam second
  • CS0019 运算符不能应用于“bool”和“int”类型的操作数

    该程序是为了响应作业 创建一个名为Sum 接受任意数量的整数参数并且 显示它们的总和 写一个Main 方法证明了Sum 当传递一个 三个 五个或十个整数的数组时 方法可以正常工作 将程序另存为UsingSum cs 来自 Microsoft
  • 如何将

    如何将日本纪元日期字符串输入解析为LocalDate LocalDateTime通过 Java 8 DateTime API 日本日历日期示例 明治23年11月29日 昭和22年5月3日 平成23年3月11日 金 14時46分 令和5年1月
  • 从网络共享运行“部分受信任”的 .NET 程序集

    当我尝试运行 NET 程序集时 boo exe 从网络共享 映射到驱动器 它会失败 因为它仅部分受信任 Unhandled Exception System Security SecurityException That assembly
  • 为什么 C# 扩展方法必须在静态类中定义? [复制]

    这个问题在这里已经有答案了 我知道 C 扩展方法必须是静态的 我不明白的是为什么这些扩展不能在非静态类或通用类中定义 更新 我对这个设计决策背后的原因感兴趣 这更多的是一种观察而不是答案 但是 当您调用实例方法时 对您正在调用的对象的引用将
  • 使用 mongoDB 将嵌入文档与父字段进行比较

    考虑以下集合 其中父文档有一个amount具有值的字段100000并且有一个嵌入的具有相同字段的文档数组amount和相同的值 id ObjectId 5975ce5f05563b6303924914 amount 100000 offer
  • 通过NAT访问SQL Server实例

    我正在尝试访问通过 IP NAT 映射公开的 SQL Server 所有端口均开放 我不知道 NAT 的详细信息 是否相关 因为那是公司其他地方隐藏在一堆繁文缛节中的内容 这就是我的想法 当您尝试访问 SQL Server 的命名实例时 客