我试过这样的方法:
Data Source=/cloudsql/*****:asia-southeast2:*****;Initial Catalog=*****;Integrated Security=False;User ID=sqlserver;Password=MyPassword0!;MultipleActiveResultSets=True/cloudsql/*****:asia-southeast2:*****是我在这里中描述的实例连接名称。
我也尝试过这样的公共IP:
Data Source=***.***.***.***;Initial Catalog=*****;Integrated Security=False;User ID=sqlserver;Password=MyPassword0!;MultipleActiveResultSets=True使用IP地址我的SQL实例公共IP,但它不起作用。
我已经启用了云运行中的sql实例连接:

如何使用EF Core修复连接字符串?
这就是我遇到的错误:
Microsoft.Data.SqlClient.SqlException (0x80131904):在建立到Server的连接时发生了与网络相关的或特定于实例的错误。找不到或无法访问服务器。验证实例名是否正确,以及Server是否配置为允许远程连接。(提供程序: SQL网络接口,错误: 25 -连接字符串无效)
发布于 2021-08-03 07:40:48
您正在尝试在云运行时使用。但是,如果您查看文献资料,则不支持这种连接。
实际上,连接是受支持的,但是云运行服务打开一个Unix套接字来连接Server实例。而且没有符合Unix套接字的Server客户端,因此您无法访问它。
为了解决您的问题,我建议您使用本页的Private IP部分。您也可以使用公共IP实现相同的配置(不要使用无服务器的VPC连接器,转到Cloud实例,并授权网络0.0.0.0/0访问您的实例),但是,由于您需要广泛地打开授权的网络,出于安全考虑,我不建议您使用此选项。
编辑1
因为我的英语不好,让我解释一下!
最好的方法是遵循文档页面:将Cloud私有IP连接到您的VPC,使用一个无服务器的VPC连接器和云运行,在代码中您可以使用连接字符串中的私有IP来访问数据库。
但是,您也可以使用公共IP,这是我不推荐的(见下面的原因),至少在它的第一次简单使用中是这样的。实际上,您可以在代码中使用公共IP而不是私有IP。因为您使用的是公共IP,所以您不再需要云运行服务上的无服务器VPC连接器(您不使用VPC,而是使用internet来访问internet)。
然而,由于您使用互联网和云运行是一个多客户共享服务,您不知道您的源IP。在Cloud上,您需要允许授权网络部分中的任何IP (0.0.0.0/0)访问数据库,这不是一个非常安全的配置。
或者,您可以在云运行上创建一个更复杂的配置,以安全地使用Cloud (但它变得非常复杂)。让我来研究一下。
我之前说过,Cloud是一个共享服务,在启动传出调用(比如数据库连接)时,您不管理源IP。这是真的,但是你能控制住的!
现在,您已经在云运行服务上定义了一个公共的静态IP。您只能在Cloud授权网络上授予它,以提高安全性,并且不允许任何人访问您的Cloud实例。
https://stackoverflow.com/questions/68630358
复制相似问题