我正在尝试连接到远程 psql 数据库。在我使用客户端的 IP 地址添加 pg_hba.conf 条目之前,我收到一条错误消息:
xdev@xdevbox:~$ psql -U postgres testdb -h 10.1.1.47
psql: FATAL: no pg_hba.conf entry for host "10.201.50.71", user "postgres", database "testdb", SSL off
Run Code Online (Sandbox Code Playgroud)
我使用信任设置添加了客户端的 IP。我还在服务器上的postgres.conf 中更改了监听地址来监听“*”。然后我使用 /etc/init.d/postgresql restart 命令重新启动了数据库服务器。
现在,当我尝试连接时,收到以下错误消息:
psql: could not connect to server: Connection refused
Is the server running on host "10.1.1.47" and accepting
TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)
在 postgresql.conf 中,端口设置为 5432。我不知道还有什么要检查的。
谢谢
我正在使用 MSSQL Server Management Studio 2008,我需要向第三方公开一个视图以进行数据协调。我已经创建了适当的视图,但是我在创建用户并授予该用户从视图中进行选择的适当权限时遇到了问题。
我按照向导创建了一个登录名和一个用户,然后在 Securables 部分添加了我的视图,并选中了选中的授权框。一切似乎都很好,但是当我以该用户身份登录并尝试执行“从 MyViewName 中选择 *”时,它告诉我选择权限被拒绝。
我刚刚重新创建了用户(这次只是使用 SQL 而不是向导)并明确授予了选择权限,现在它给了我错误:(Msg 916, Level 14, State 1, Line 2
The server principal "username" is not able to access the database "unrelated_db" under the current security context.我不知道为什么它试图访问不相关的数据库......)
我真的不知道从这里去哪里。同样,基本上我所需要的只是创建一个用户,我可以将其提供给第三方,让他们连接到我们的数据库并从此视图中进行选择。
当连接到我们的生产服务器(SQL Server 2008,非常强大的机器)时,这个 SELECT 语句需要2 秒,吐回所有字段(总共 4 MB 数据)。
SELECT TOP (30000) *
FROM person
WITH(NOLOCK);
Run Code Online (Sandbox Code Playgroud)
从同一网络上的任何其他框(使用 SQL 身份验证或 Windows 身份验证连接),相同的查询需要1 分 8 秒。
我正在使用这个非常简单的语句进行测试,以说明它不是索引问题或与查询相关的问题。(我们目前所有查询都存在性能问题......)
这些行成块出现,而不是一次全部出现。我立即得到我的第一行,然后等待超过 1 分钟让成批的行进来。
这是从远程框运行时查询的客户端统计信息:
Query Profile Statistics
Number of INSERT, DELETE and UPDATE statements 0
Rows affected by INSERT, DELETE, or UPDATE statements 0
Number of SELECT statements 2
Rows returned by SELECT statements 30001
Number of transactions 0
Network Statistics
Number of server roundtrips 3
TDS packets sent …Run Code Online (Sandbox Code Playgroud) 我在 DBA 和其他网站上看到,将数据库暴露给 Internet 是一个特别糟糕的主意,但我注意到 PostgreSQL 具有仅 SSL 证书的身份验证。这是否会使将数据库公开到互联网(来自非本地主机连接的仅证书身份验证)更安全,还是建立 VPN 或通过 SSH 等隧道更好?
如果后者更安全,究竟是什么让它更安全?在这方面,我觉得我忽略了一些显而易见的事情。
我之前已经设置了一些数据库,但实际上从未需要设置需要某种远程管理的数据库(在这种情况下,“远程”是指通过 Internet 或 WAN 而不是 LAN)。
似乎不允许向外部表添加外键约束。有没有其他方法可以做到这一点?我的两个表在远程服务器上有这些限制。
更具体的细节:
我真的只需要它作为注释,因为有些工具会查找 JOIN。
我在远程服务器上有两个表,我使用postgresql_fdw's将它们添加到本地CREATE FOREIGN TABLE。这些我在 PostgREST 中使用,自动 API 服务器使用 REFERENCES 信息进行连接。
实际上,我正在进一步增加两个CREATE MATERIALIZED VIEW以加快查找速度 - 但遗憾的是,他们也没有任何我知道的添加 REFERENCES 信息的方法?
我愿意使用其他方法在外部 API 服务器上快速(只读)查找这些表以及外键约束将在何处工作。
Warning: PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password]
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
Run Code Online (Sandbox Code Playgroud)
尝试使用PHP本地服务器上的脚本连接到 Hostgator 上的 MySQL 数据库服务器时出现上述错误。我知道这是一个密码散列问题,通常在 MySQL 4.1 之前和 MySQL 4.1+ 之间。
我已经按照我在此处找到的说明更改了我的本地服务器以使用 old_password 。
改成16位hash后,还是连接不上,报错信息还是一样。更重要的是,我无法再登录到phpmyadmin. 我XAMPP在windows上用。请就如何解决这些问题提出任何建议?
如何在不创建分布式事务的情况下从远程存储过程插入本地表?我想在远程服务器上运行一个存储过程,并将输出用作插入本地表的源。
sql-server-2005 sql-server stored-procedures remote distributed-transactions
我正在尝试从 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) 我在具有静态 IP 的远程服务器上运行的 64 位 Ubuntu 上全新安装了 mysql 服务器 5.2.6。无论如何,是否允许仅通过预先批准的 IP 建立 Mysql 远程连接?我正在寻找简单而优雅的方法来做到这一点,而无需做太多与操作系统相关的管理工作,只需使用 mysql 即可处理。
我是一名使用 SQL Server 2014 实例开发 Web 应用程序的开发人员。我使用 Visual Studio 2010 sp1 进行开发。对于我目前正在处理的任务,我想使用 SQL Server 远程调试器来调试我们通过 ORM(实体框架)调用的非常大的存储过程。为此,我打开 SQL Server Management Studio 2014 并在新的查询窗口中键入以下内容:
EXEC [dbo].[MoveAllInvoiceStage]
Run Code Online (Sandbox Code Playgroud)
当我按下调试按钮时,我收到以下错误:
====================================
无法启动调试器
====================================
数据为空。不能对 Null 值调用此方法或属性。(系统.数据)
------------------------------ 节目地点:
在 System.Data.SqlTypes.SqlBinary.get_Value() 在 Microsoft.SqlServer.Management.UI.VSIntegration.DebugSession.DebugCallbacks.OnSqlInitializeDebuggingEvent(ISqlInitializeDebuggingEvent sqlInitializeDebuggingEvent) 在 Microsoft.SqlServer.Management.UI.VSIntegration.DebugSession.DebugCallbacks.Microsoft.VisualStudio .Debugger.Interop.IDebugEventCallback2.Event(IDebugEngine2 debugEngine, IDebugProcess2 debugProcess, IDebugProgram2 debugProgram, IDebugThread2 debugThread, IDebugEvent2 debugEvent, Guid& riidEvent, UInt32 属性)
接下来是一个对话框,上面写着:
无法启动程序“MSSQL:://<servername>/<databasename>/sys/=0”。
我正在使用具有 sysadmin 角色的 Windows 登录名连接到数据库服务器,并且所有必要的防火墙规则都已在服务器和我的 PC 上就位。我确保满足此处列出的要求。
当数据库服务器托管 SQL Server 2008 R2 实例时,远程调试器正在工作,但似乎在将实例升级到 SQL Server 2014 后停止工作。我仍然可以在本地 SQL Server 2014 实例(托管远程数据库)。只有远程调试会产生此问题。
我已经确认另一台 …
remote ×10
postgresql ×4
sql-server ×3
mysql ×2
debugging ×1
errors ×1
foreign-key ×1
performance ×1
pgadmin ×1
php ×1
phpmyadmin ×1
ssl ×1
tcpip ×1
view ×1