【发布时间】:2020-11-13 08:20:48
【问题描述】:
我昨天将我的 SQL Server RDS 实例从 db.t2.medium 升级到了 db.t3.xlarge。从那以后,我无法使用 SQL Server Management Studio、Azure Data Studio 或编程访问从本地计算机连接到它。
我的应用程序托管在同一网络下的 EC2、Windows Server 中,仍然能够很好地连接到数据库。无需触摸任何东西,连接字符串是一样的。
数据库:
- SQL Server Express
- 引擎版本:14.00.3281.6.v1
- 多可用区:否
- IAM 身份验证:已禁用
- 参数组:default.sqlserver-ex-14.0
- 可公开访问:是
- 接受来自任何协议的入站 (0.0.0.0/0)
我尝试使用管理员登录名进行连接,我什至重置了管理员密码以确保安全。也试过了:
- 重新启动我的电脑
- 等待 24 小时以防 SSMS 需要时间来更新其句柄
- 忘记登录(我已将其保存在 SSMS 中)并重新登录
基本上,除了等级升级,什么都没有改变,只是我不能登录了。
完整的错误信息是:
Cannot connect to XXX.YYY.us-east-1.rds.amazonaws.com,1433.
ADDITIONAL INFORMATION:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - The wait operation timed out.) (Microsoft SQL Server, Error: 258)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=258&LinkId=20476
------------------------------
Error Number: 258
Severity: 20
State: 0
------------------------------
Program Location:
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.SqlServer.Management.SqlStudio.Explorer.ObjectExplorerService.ValidateConnection(UIConnectionInfo ci, IServerType server)
at Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()
在 SSMS 登录对话框中,选项加密连接和信任服务器证书处于打开状态。
我搜索了谷歌,论坛,在 SO 中看到了this question,但无法弄清楚。
有什么建议吗?提前致谢!
【问题讨论】:
-
我猜,您的实例上的公共 IP 是否已更改?它总是 DNS :)
-
嗨皮特,我无法确认,因为我不知道更改前的 IP 是什么。但是一位从未登录过该数据库的同事继续尝试,他成功了。就像它与我链接的 SO 问题中提到的“句柄”有关,但如果是这样,我该如何清除我的 SSMS 句柄?重新启动并没有削减它。
-
我认为“MySQL”解决方案不适用于 SQL Server。您和您的同事是否在同一个网络(互联网 - 公共 IP)上?但是,您确实打开了 0.0.0.0/0。
-
不,我们相距大约 3 英里...但是,0.0.0.0/0 无论如何都是开放的
-
检查服务器上的 Windows 防火墙?这些是我与 SQL Server 远程连接的典型问题:nettrax.net/2014/09/12/…
标签: sql-server database-connection ssms amazon-rds