我正在尝试做的事情
我正在尝试使用 SQL Server Management Studio (SSMS) 在 Cloud SQL (GCP) 上管理我的 SQL Server 实例。
我做了什么
我按照 Google Cloud 文档(此处)中的步骤操作。
我按照步骤 1-5(下面的精简版):
- 安装 Cloud SQL
- 跑
gcloud init
- 运行
gcloud auth login
(PS 我是项目级别的所有者) - 下载并安装 Google Cloud SQL 代理(按照此处的说明)
- 启用 Cloud SQL 管理 API
- 安装代理客户端(对我来说是 Windows PC,x64 - 将文件重命名为
cloud_sql_proxy.exe
) - 确定代理身份验证方法(根据此处的文档)。我选择了 Cloud SDK,因为无论如何我都需要在步骤 1 中下载它
- 跳过(不使用服务帐户身份验证)
- 确定代理实例规范(根据此处的文档)。使用代理调用方法上指定的实例。
- 我只有私有 IP,所以默认情况下它会选择正确的 IP(根据此处的文档)
- 与第 5 步(如下)相同 5 。启动代理。我运行(在 cmd 中)
./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:1433
(显然用<INSTANCE_CONNECTION_NAME>
我的实例名称替换了该部分。
在这一点上,一切似乎都在工作:
Listening on 127.0.0.1:1433 for <INSTANCE_CONNECTION_NAME>
Ready for new connections
New connection for <INSTANCE_CONNECTION_NAME>
New connection for <INSTANCE_CONNECTION_NAME>
现在按照此处的说明,我尝试使用 SSMS(127.0.0.1
SQL Server 身份验证、我sqlserver
的超级棒密码)、Connect 连接到数据库实例。
我的问题
我现在在 Cloud SDK 窗口中收到以下错误消息:
couldn't connect to <INSTANCE_CONNECTION_NAME>: dial tcp <PRIVATE_IP>:<PORT>: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Throttline refreshCfg(<INSTANCE_CONNECTION_NAME>: it was only called XXXs ago
(它重复了几次)
在 SSMS 中,我收到以下提示:
我的问题
如何解决此问题并正确连接到我的数据库实例?