标签: connectivity

SQL Server 2008 使用多个服务器名称加密连接

我有一个必须使用各种 DNS 名称(SQL1、sql1.contoso.local、sql1.contoso.com 等)访问的 SQL Server。

我正在努力创建可用于保护所有这些名称的正确 SSL 证书。使用 Windows 集成安全性的应用程序使用它的本地地址连接到服务器,因为在 Internet 上只启用了 SQL 登录。

我创建了包含 sql1.contoso.com 的主题 (CN) 和几个 SAN 条目的 SSL 证书:DNS=SQL1、DNS=sql1.contoso.local 等。

使用此证书,我只能在使用服务器 sql1.contoso.com 时使用加密连接进行连接。使用其他名称将导致 SQL Server Management Studio 中出现此错误消息:

已成功与服务器建立连接,但在登录前握手期间发生错误。(提供者:SSL 提供者,错误:0 - 证书的 CN 名称与传递的值不匹配。)(Microsoft SQL Server,错误:-2146762481)

我正在从信任颁发在 SQL Server 上使用的 SSL 证书的 CA 的计算机连接到服务器,并且所有防火墙都已正确打开以允许使用 1433 端口进行连接。客户端也信任 CA。证书是使用 Web 服务器模板生成的。

是否可以通过 SQL Server 进行配置,以便我可以使用加密连接使用服务器的多个域名连接到它?

我只能将一个证书分配给一个 SQL Server 实例,因此我必须为每个可访问的服务器名称使用一个证书。如果我可以为本地连接分配不同的证书,我可以使用由受信任的 CA 签名的正确证书而不是自签名证书。

我试图生成一个包含多个 CN 条目的新证书,但我无法使用 CN 条目中定义的任何名称连接到服务器。

sql-server sql-server-2008-r2 configuration connectivity

5
推荐指数
1
解决办法
676
查看次数

如何将 Oracle 数据库与 MySQL 工作台连接?

我有点困惑:我想将 Oracle DB 与应用程序“MySQL Workbench”连接起来。为了它也来自 Oracle,我认为这是可能的。但直到现在我不能这样做。

使用“Oracle SQL Developer”可以正常工作,因此我的凭据必须正确。

将 oracle db 与 mysql workbench 连接是不可能的吗?

亲切的问候马里奥

oracle mysql-workbench connectivity

5
推荐指数
1
解决办法
4万
查看次数

客户端应用程序在 10 分钟不活动后与其连接的数据库断开连接

当使用 pgAdmin 4(实际上是其他几个充当数据库客户端的程序)时,与服务器的连接在闲置 10 或 15 分钟后断开。一杯咖啡和一个电话,您会收到一条类似于“抱歉,与数据库的连接已丢失。您希望我尝试重新连接吗?”的消息。

而且pgAdmin重新连接总是需要多次尝试,并且已经展开的对象树被折叠了......所以,这有点烦人。

pgAdmin 似乎没有与该行为相关的任何参数。(似乎有一些方法可以更改某些连接超时,但它们与 pgAdmin 在服务器连接时间过长时的行为方式有关)。

可以做些什么来避免 pgAdmin 与数据库断开连接?


披露:这实际上是一个“伪问题”。它是另一个的衍生产品,最终与失去连接无关......鉴于我已经有了一个答案,我(不是很谦虚地)认为值得“问”,以防万一回答对某人有帮助。

postgresql client pgadmin network connectivity

5
推荐指数
1
解决办法
2万
查看次数

SQL Server 2016 可用性组命名管道?

我们配置了一个 SQL Server 2016 集群(两个 VM),我们的数据库分布在多个可用性组 (AG) 中。

我们的 Sharepoint 管理员向我报告说某些功能失败,因为它需要命名管道。现在,命名管道已启用,但从一些非常旧的文章(2013 年之前)中,我可以看到多个 IP 地址不支持命名管道,这会导致 AG 侦听器出现问题。

任何人都可以确认是否是这种情况?或者指出我正确的方向?

sql-server availability-groups connectivity sql-server-2016

5
推荐指数
1
解决办法
550
查看次数

通过 Internet 连接到 SQL Server

我想通过 Internet 连接到 SQL Server:

  1. 我关闭了防火墙
  2. 我在路由器中启用了DMZ,主机地址是192.168.1.24,这是SQL Server LAN IP
  3. 我在路由器中为 SQL Server 和 SQL Server 浏览器打开了端口 (1433 - 1434)
  4. 我通过(canyouseeme)网站检查了开放端口,结果是1433成功,1434错误(不知道错误原因)
  5. 我为 TCP 协议做了必要的配置
  6. 我检查了服务器是否允许远程连接

但是我无法通过 Internet 连接到服务器。

我的局域网IP是192.168.1.24
实例是默认实例
我的公网IP是95.218.156.146(例如)

当我在服务器名称文本框中输入 (192.168.1.24) 时,我成功连接到服务器,但是当我输入 195.218.156.146 或 95.218.156.146 ,1433 时我无法连接

笔记:

  1. 当我将公共IP放入浏览器时,就会出现路由器页面(意味着公共IP是正确的)
  2. 我在我的路由器中没有找到端口转发,但是我已经配置了 DMZ 和端口映射 在此处输入图片说明 在此处输入图片说明

sql-server remote connectivity

5
推荐指数
1
解决办法
4万
查看次数

无法从 Ubuntu sqlcmd 客户端连接到 SQL Server

我正在尝试从 Linux Ubuntu 16.04 计算机连接到 SQL Server Express 服务器。我为 linux 机器安装了所有 SQL 命令行实用程序,并按照 Linux 文档上的 Microsoft SQL Server 的说明进行操作。

当我跑

sqlcmd -S ip/SQLEXPRESS -U SA -P 1234
Run Code Online (Sandbox Code Playgroud)

该命令总是返回以下错误:

适用于 SQL Server 的 Microsoft ODBC 驱动程序 13:登录超时已过期。
适用于 SQL Server 的 Microsoft ODBC 驱动程序 13:TCP 提供程序:错误代码 0x2AF9

我能够从 Windows 10 计算机运行相同的命令,并且没有任何缺陷。

linux 计算机可以与服务器机器和 SQL Server 1433 端口进行通信。我使用 linux nc 命令 (netcat) 对此进行了测试。

Linux nc 命令结果:

nc -z -v -w5 192.168.0.1 1433
Run Code Online (Sandbox Code Playgroud)

连接到 192.168.0.1 1433 端口 [tcp/ms-sql-s] 成功!

有什么建议或缺少什么吗?

我曾尝试更改端口、参数顺序等……但 Linux 版本 …

sql-server linux sqlcmd connectivity

5
推荐指数
1
解决办法
4502
查看次数

命名实例的静态 DAC 端口

使用 SQL 2016 企业版

默认实例将在 1433 上侦听,DAC 端口将在 TCP 1434 上侦听。SQL 浏览器将在 UDP 1434 上侦听。任何后续命名的实例都将从 49152 到 65535 范围内的窗口动态分配端口,它们的 DAC 端口也是如此。对这些命名实例的连接请求(包括 DAC)将调用 SQL Browser 并告知端口号。

您可以使用 SQL Server 配置工具将命名实例的端口更改为静态端口号,但没有将 DAC 端口设置为静态端口号的选项。

当我向网络团队建议我希望为远程 DAC 连接开放整个端口范围时,他们并不热情。

有没有办法将 DAC 端口设置为命名实例的已知静态端口号?

sql-server network connectivity dac

5
推荐指数
1
解决办法
817
查看次数

创建用户时 SQL Server 错误

我尝试创建一个具有所有权限的用户,但出现此错误:

Microsoft SQL Server 管理工作室

为用户“Hru”创建失败。(Microsoft.SqlServer.Smo)

附加信息:

执行 Transact-SQL 语句或批处理时发生异常。
(Microsoft.SqlServer.ConnectionInfo)

'Hru' 不是有效的登录名或您没有权限。(Microsoft SQL Server,错误:15007)

有人可以帮我解决这个问题吗?

在此处输入图片说明

sql-server permissions logins connectivity

5
推荐指数
2
解决办法
2万
查看次数

如何停止在链接服务器中使用 sql server 登录凭据?

我有一个位于意大利的链接服务器,server_italia它连接到位于美国俄勒冈州的服务器ORDB1

我们在不同但受信任的域上

从连接server_italiaORDB1通过链接服务器使用具有登录和所要求的权限的SQL Server的帐户进行ORDB1

我是一个sysadmin甚至domain admin在我的域中,而我的server_italia但我只sysadmin在 .sql server 中ORDB1

有一个类似的问题:

如何使用 Windows 身份验证使链接服务器正常工作?

但它没有提供the答案。

这是我的链接服务器:

在此处输入图片说明

当我运行以下查询时,server_italia我得到以下结果:

SELECT [the_server]=@@servername,
auth_scheme 
FROM sys.dm_exec_connections WHERE session_id = @@spid ;  


SELECT net_transport, auth_scheme   
FROM sys.dm_exec_connections   
WHERE session_id = @@SPID; 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

在俄勒冈州,我得到了这个:

在此处输入图片说明

如果我的美国同事得到:

  1. 为您的服务帐户运行的服务注册服务主体名称

  2. 在他们的服务器上设置 Kerberos 身份验证

  3. 配置约束委派,因为这将允许传递凭据,否则您可能仍会遇到双跳问题。– 在John Eisbrener的评论中添加

我可以在linked …

sql-server linked-server logins kerberos connectivity

5
推荐指数
1
解决办法
509
查看次数

Ubuntu 上的 SQL Server - 重新启动后远程主机强行关闭了现有连接

我已经在 Ubuntu 上运行 SQL Server 一段时间了,一切正常,但我重新启动了服务器,现在与 SQL Server 的所有连接都失败并显示错误:

A connection was successfully established with the server, but then an error occurred during the login process. 
(provider: SSL Provider, error: 0 - 
An existing connection was forcibly closed by the remote host.) 
(Microsoft SQL Server, Error: 10054)
Run Code Online (Sandbox Code Playgroud)

我曾尝试卸载并重新安装 SQL Server,设置各种 mssql-conf 值(自再次删除后)等,但我所做的一切都没有任何区别。

与 Windows 相关的文章似乎指出它与 SSL 相关,但未启用 SSL。我确实尝试启用它并设置了一个证书,但是即使我对证书和私钥 777 授予了权限并授予 mssql 用户/组它只是告诉我它无法读取它然后 SQL Server 无法启动所以我又删除了。

任何人都可以建议我可以做些什么来让它再次工作,因为我没有想法吗?

谢谢罗宾

sql-server ubuntu connectivity

5
推荐指数
1
解决办法
2517
查看次数