我在Azure中有一个SQL数据库。实际上是多个。我是全球管理员,已经创建了一些数据库,另一个开发人员创建了其他数据库。突然,当我尝试使用创建数据库时创建的管理员帐户连接到它们时,出现以下异常:
Error connecting to '<DATABASENAME (I replaced the text here.)>'.
Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) (.Net SqlClient Data Provider)
是来自SSMS。如果我在Azure Data Studio中尝试相同的操作,则会连接到数据库,但是尝试查看表会引发异常。
An exception occurred while executing a Transact-SQL statement or batch.
此外,我在C#代码中的所有连接字符串都使用同一帐户执行CRUD操作。看来我正在连接服务器,但是尝试获取数据库的元数据时却失败了。我没有更改任何防火墙设置,而是在Windows 10中使用了内置的防病毒软件。我已确保Azure中白名单中的IP实际上是我的,并且它没有更改。我整个周末都忙于搜寻,找不到解决的原因。我希望我遇到的问题有意义。预先感谢您提供的任何帮助。
答案 0 :(得分:1)
我发现笔记本电脑上的某些东西损坏了。当我在同一网络上的另一台笔记本电脑上运行SSMS时,它运行良好。还在我的笔记本电脑上的VM中运行SSMS即可。因此,某些东西已损坏。很难找到它是什么,因为我已经卸载/安装了。因此,我将擦除机器并从头开始。
答案 1 :(得分:0)
检查在Azure设置中是否有规则要授予您的计算机对Azure空间中托管的数据库的访问权限。
您可以转到here,这是有关Azure防火墙规则的指南。
答案 2 :(得分:0)
问题最终与我的计算机上的硬件有关。我已经更换了电脑,一切正常。