dyl*_*anT 16 sql-server azure azure-sql-database
今天我们迁移到AzureSQL V12.今晚我的网站处于离线状态,因为以下消息存在持久性问题:
资源ID:3.数据库的LoginLimit限制为90且已达到.有关帮助,请参阅" http://go.microsoft.com/fwlink/?LinkId=267637 ".(Microsoft SQL Server,错误:10928)
我尝试过以下方法:
我无法通过SSMS连接到我的数据库.我收到相同的错误消息.这已持续了几个小时,我的网站完全脱机,但登录次数没有变化.
我需要一些方法来断开其中一些连接,以便我可以继续并诊断问题可能是什么.
aze*_*pdx 39
要查看Azure SQL DB上的现有连接,请使用以下查询:
SELECT
c.session_id, c.net_transport, c.encrypt_option,
s.status,
c.auth_scheme, s.host_name, s.program_name,
s.client_interface_name, s.login_name, s.nt_domain,
s.nt_user_name, s.original_login_name, c.connect_time,
s.login_time
FROM sys.dm_exec_connections AS c
JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
--WHERE c.session_id = @@SPID;
--WHERE status = 'sleeping'
ORDER BY c.connect_time ASC
Run Code Online (Sandbox Code Playgroud)
要杀死除了我的所有连接(SPID),我使用此查询:
DECLARE @kill varchar(8000) = '';
SELECT @kill = @kill + 'KILL ' + CONVERT(varchar(5), c.session_id) + ';'
FROM sys.dm_exec_connections AS c
JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE c.session_id <> @@SPID
--WHERE status = 'sleeping'
ORDER BY c.connect_time ASC
EXEC(@kill)
Run Code Online (Sandbox Code Playgroud)
此问题是由 Azure 自动备份无法正确结束会话引起的。其他答案都不起作用,因为它们都要求您能够连接到数据库,而我无法做到这一点。我最终通过电话与 Microsoft 支持人员交谈了几个小时,在此期间他们也由于同样的原因无法连接到数据库。
他们最终的解决方案是将数据库迁移到新节点,这不是 Azure 用户可以做的事情,因此,如果您遇到这种级别的问题,最好(也是唯一)要做的事情就是联系 Microsoft尽快支持。
我确实建议首先尝试这里的一些其他建议,但如果无法建立任何连接,您将陷入困境。
由于这是在 Azure 上升级数据库的过程中发生的,因此我们在升级数据库之前实施了禁用自动备份的过程作为预防措施,并且该问题没有再次出现。
| 归档时间: |
|
| 查看次数: |
12350 次 |
| 最近记录: |