我今天正在Dynamic Ports
与我的一位同事讨论,可以使用一些帮助来澄清他们的工作方式。
第一个问题:如果IPALL
TCP Dynmaic Ports
设置是一个特定的数字(比如 1971),这是否表示您有一个 1971 的静态端口或一个当前为 1971 的动态端口,并且可能会在将来的某个时候发生变化。
第二个问题:这是我最好奇的一个。我们有一个实例,IPALL
TCP Dynmaic Ports
通过数十次实例重启,该实例具有相同的端口(设置中的值)数年。是什么导致实例重启后动态端口实际发生变化?
在我们的 Vb.net 应用程序(办公室内部本地网络连接中的用户)中,从很长时间以来,一些用户每天都会遇到错误
向服务器发送请求时发生传输级错误。(提供者:TCP 提供者,错误:0 - 远程主机强行关闭了现有连接。
我已经检查过以下
所有数据库都设置为自动关闭关闭
没发现太多网络问题,网速不错。
当我签入 SSMS 时,服务器属性下的远程查询超时设置为 600 秒
我检查了 sql server 日志,没有发现与之相关的错误或相同的错误消息
那么这个错误的原因可能是什么?以及如何解决它?
这不是重复的;我的情况与我发现的其他情况不同:
MSSQLSERVER 服务*不*启动,端口 1433 正在使用 https://blogs.msdn.microsoft.com/sql_pfe_blog/2016/10/05/tcp-port-is-already-in-use/ https://support。 plesk.com/hc/en-us/articles/213409409
区别:
cls & netstat -oanb -p tcp
TCPView 和 TCPView都没有显示在端口 1433 上侦听的任何内容据我所知,我没有以任何方式、形状或形式使用 IPV6。我当然没有配置它。
当我进行以下任何配置时,该服务将启动:
如果我执行以下任一操作,服务将无法启动:
这让我把头发拉了出来。
这里出了什么问题?
我正在尝试从 pgAdmin III(安装在两台机器上)连接到外部数据库。客户抱怨:
访问数据库被拒绝
服务器不授予对数据库的访问权限:服务器报告
Run Code Online (Sandbox Code Playgroud)FATAL: no pg_hba.conf entry for host "192.168.108.161", user "postgres", database "postgres", SSL off
要访问 PostgreSQL 服务器上的数据库,您首先必须为客户端授予对服务器的主要访问权限(基于主机的身份验证)。在评估
pg_hba.conf
任何SQL GRANT
访问控制列表之前,PostgreSQL 将检查该文件是否存在并启用与您的客户端地址/用户名/数据库匹配的模式。pg_hba.conf 中的初始设置非常严格,以避免由未经审查但强制的系统设置引起的不必要的安全漏洞。您可能想要添加类似
Run Code Online (Sandbox Code Playgroud)host all all 192.168.0.0/24 md5
本示例向专用网络上的所有用户授予对所有数据库的 MD5 加密密码访问权限
192.168.0.0/24
。您可以使用pg_hba.conf
内置在 pgAdmin III 中的编辑器来编辑pg_hba.conf
配置文件。更改后
pg_hba.conf
,您需要使用pg_ctl
或 通过停止并重新启动服务器进程来触发服务器配置重新加载。
服务器明确声明接受来自内部网络的所有连接。
pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
host all all 127.0.0.1/32 md5 …
Run Code Online (Sandbox Code Playgroud) 我想知道在更改SQL Server 2008 R2盒子的IP地址之前是否有任何危险或相关预防措施。
我们使用 Windows Server 2008 R2 和 SQL Server 2008 R2 构建了一台虚拟 PC。这台机器的目的是运行一个作业来恢复备份文件(由不同的服务器复制),操作它,再次备份它,然后将它复制到其他服务器。我们已经在我们的测试/开发 DMZ 中运行了几次,现在正在考虑部署。
最简单的选择是重新 IP。服务器名称将保持不变。我的问题是一位同事建议这是不安全的(重新 ip 一个 SQL Server)。我的问题是
a) 对于我正在使用的操作系统和 SQL,这是真的吗?(赢得 2008 R2 和 SQL 2008 R2?)
b) 对于 OS 和/或 SQL 的任何其他组合是否如此?
c) 在准备过程中,我们有什么特别需要做的吗?
到目前为止,我的研究表明它会很好,但我比那些社交 MSDN 人员更信任 DBA StackExchange 的人。
http://www.sqlservercentral.com/Forums/Topic1164450-391-1.aspx
首先只是为了避免许多问题,我不希望我的 postgres 服务器程序接受/侦听来自任何网络(即 TCP/IP 4/6)连接的任何内容。
我的设置是Ubuntu 12.04 机器上的Postgres 9.1,我认为 tweeking不包括注释掉的那些行(见下文)会导致 postgres“请不要监听网络 TCP/IP 设备”/etc/postgresql/9.1/main/pg_hba.conf
本地所有 postgres 信任 # 类型数据库用户地址方法 # "local" 仅用于 Unix 域套接字连接 #local all 所有 md5 # IPv4 本地连接: #host all 所有 127.0.0.1/32 md5 # IPv6 本地连接: #host all all ::1/128 md5
我也知道,-i
如果我们 YES 想监听 TCP/IP ,有命令行可以启动 postgres 服务器。我实际上在寻找相反的东西,-???
意思是不请不要听 TCP/IP。
我使用了 anetstat -utap | grep post
并且它表明除了我的设置之外的 postgres/etc/postgresql/9.1/main/pg_hba.conf
仍在侦听 TCP/IP。
我在这里做错了什么?如何关闭 Postgres 服务器的这种 TCP/IP 侦听方式?只听 Unix 套接字,我很高兴;) …
问题:某个应用程序的用户执行一个涉及大量 sql 查询的报告。几分钟后,用户退出应用程序(或者更糟糕的是,应用程序崩溃,或者与数据库服务器的连接丢失)。然而,查询会继续执行,即使不再需要它。
所以我已经阅读了这些类型的情况以及如何处理它们,并且建议使用TCP Keepalive 配置。
问题是看起来 postgres 忽略了这个配置。我在“postgres 级别”和“操作系统级别”都降低了原始配置值,但没有运气:
我什至尝试重新加载/重新启动 postgres 但没有任何效果,查询一直运行到最后两分钟。¿是否有任何额外的步骤我遗漏了?
编辑:pg_stat_activity 的结果:
datid | datname | procpid | usesysid | usename | current_query | waiting | xact_start | query_start | backend_start | client_addr | client_port
----------+--------------------------------------------+---------+----------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+-------------------------------+-------------------------------+-------------------------------+-------------+-------------
467061608 | libertya_prod_hts_rg1_20161004_qafuncional | 16716 | 16384 | libertya | SELECT dt.signo_issotrx, …
Run Code Online (Sandbox Code Playgroud) 由于一堆奇怪的跟踪文件不断写入系统日志,我试图禁用 Postgres 侦听 IPv6。
我不想在操作系统本身中禁用 IPv6,因此在看到提及跟踪消息并找到博客文章Disable IPv6 Postgres 和 PGBouncer 后,我已按照第 2 步进行更新postgresql.conf
(将“*”更改为“0.0.0.0 ”):
# grep listen postgresql.conf
listen_addresses = '0.0.0.0'
Run Code Online (Sandbox Code Playgroud)
我也在里面找到了这个条目pg_hba.conf
并注释掉了它:
# IPv6 local connections:
#host all all ::1/128 trust
Run Code Online (Sandbox Code Playgroud)
我重新启动了 Postgres。netstat
似乎表明它不再监听 IPv6:
# netstat -ntl | grep 5432
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN
Run Code Online (Sandbox Code Playgroud)
似乎lsof
有不同的想法:
# lsof -i6 | grep postgres
postmaste 37921 postgres 8u IPv6 39125550 0t0 UDP
localhost:38892->localhost:38892
postmaste 37944 postgres 8u IPv6 39125550 0t0 UDP …
Run Code Online (Sandbox Code Playgroud) 我知道有人问过这个或类似的问题 在其他地方过。其他答案都没有对我有用。
机器是 Macbook Pro 2014 / OS X Yosemite 10.10,通过 Homebrew 安装了 Postgres 9.3.5。
如果我没有指定主机,我只能连接到我的本地 postgres 实例。这有效:
psql -Umyuser -d mydb
sql (9.4.4)
Type "help" for help.
myuser=#
Run Code Online (Sandbox Code Playgroud)
-h localhost
才不是:
psql -Umyuser -d mydb -h localhost
psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Run Code Online (Sandbox Code Playgroud)
在我收到这条消息之前,它暂停了很长时间。
我正在尝试设置一个似乎想要指定 localhost 的第三方工具,因此不能仅将其关闭。
如果我理解我在其他地方正确阅读的内容,那么如果您使用 TCP/IP 并指定-h localhost
强制使用,则 postgres 的行为会有所不同。因此,我在 中添加了以下内容pg_hba.conf
:
local all …
Run Code Online (Sandbox Code Playgroud) 我最近看到一个奇怪的案例,但仍然不知道它背后的原因是什么。在我的一台开发服务器上,有两个 SQL 服务器实例正在运行——一个是默认的,另一个是 UAT 实例。
最近,我们对这两个实例的默认端口进行了更改,并将相同的内容传达给开发团队和其他利益相关者,以开始他们的更改并对其进行测试。为了不影响他们现有的应用程序,端口 1433 保持在默认实例上。因此,以下是要连接的服务器和端口的详细信息:
默认连接 --> Server_Name,35683
Named(SIT) 实例的连接 --> Server_Name\SIT,35685
两个实例都具有相似的数据库,但是由于它们指向不同的环境,因此数据集不同。
一位高级开发人员使用连接作为 Server_name\SIT,35683 意味着实例和端口不匹配。他正在使用 SIT 实例但是默认实例的端口,它将他连接到默认实例。
当我在他的办公桌前并且我们正在测试一些代码时发现了这一点,我注意到了这一点,因为我的更改没有反映在默认实例中,因为我在 SIT 实例中进行了更改。
有人可以解释这种行为以及如何解决这个问题吗?
我有一个名为 SQLDWDEV01 的服务器,有 2 个实例:default 和 UAT。
对于使用端口 1433 的默认实例,一切正常。
但是,根据下图配置的 UAT 实例无法从本地计算机连接。
我可以访问,并且启用了远程连接。
我错过了什么才能连接到这个实例?
如果这个问题不完整,请提问,我会回复。
没有防火墙。
我目前遇到的错误消息是:
无法连接到 sqldwdev01\UAT。
与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)(Microsoft SQL Server,错误:-1)
我知道 MS SQL Server 的默认 TCP 端口是 1433,出于某些安全原因最好更改它。但是我想知道SQL Server选择哪个端口而不是1433更好,才能正常工作,不干扰其他程序的工作?如果我选择一个已经被其他程序使用的端口怎么办?
谢谢你的时间!
我已经在我的机器上安装了 sql server express edition 2014。我使用本地机器的 IP 地址通过 CRM 连接到它。
这里的问题是我分配给我的机器的IP地址是动态的,并且在我登录时每天都在变化,这使得我无法连接到CRM(因为IP地址明显变化)。
这种情况怎么办?任何帮助将不胜感激。
tcpip ×13
sql-server ×8
postgresql ×5
network ×4
installation ×1
instance ×1
kill ×1
pgadmin ×1
remote ×1
ubuntu ×1