【发布时间】:2021-05-14 06:57:25
【问题描述】:
我为 Cloud SQL 实例配置了私有 IP,并为虚拟机配置了服务帐户凭据。
我可以使用云代理从VM实例成功连接到SQL服务器到SQL实例(私有IP),如下所示,
./cloud_sql_proxy -instances=proj:us-central1:test-sql=tcp:5353 -credential_file=service.json
从虚拟机,
sqlcmd -S tcp:127.0.0.1,5353 -U sqlserver
所有这些都在虚拟机和谷歌云内部工作。 如何从本地 SSMS 工作室存档相同的连接,我已经尝试为 windows 系统下载 cloud-sql-proxy,并使用相同的调用,
cloud_sql_proxy.exe -instances=proj:us-central1:test-sql=tcp:5353 -credential_file=service.json
using credential file for authentication; email=test@proj.iam.gserviceaccount.com
Listening on 127.0.0.1:5353 for proj:us-central1:test-sql
Ready for new connections
来自 cloud_sql_proxy CMD 的错误:
无法连接到“proj:us-central1:test-sql”: dial tcp
知道问题出在哪里,为什么无法使用 SSMS 从本地机器连接正确的凭据文件?还是我缺少任何配置?
【问题讨论】:
-
您是否尝试过使用 SQL Server 的默认端口 1433?以下是相关的MS docs,指的是端口和端口配置(检查您的 Windows 计算机中是否没有任何特定的防火墙规则阻止这些端口)。通过从 Windows Powershell 运行以下命令来启动代理:
./cloud_sql_proxy -instances=[Instance-connection-name]=tcp:1433 -credential_file=service.json应该可以工作。 -
如果它们不起作用,请发布操作系统的详细信息、SSMS 版本、Cloud SQL 代理版本以及与您运行代理时的环境相关的任何其他详细信息。
-
已经尝试过了,但是没有用。 @丹
标签: sql-server-2008 google-cloud-platform cloud-sql-proxy