gpt4 book ai didi

sql-server - 如果无法访问 Azure SQL 数据库,如何终止它的连接?

转载 作者:行者123 更新时间:2023-12-02 05:53:03 25 4
gpt4 key购买 nike

今天我们迁移到 AzureSQL V12。今晚我的网站处于离线状态,因为以下消息始终存在问题:

Resource ID : 3. The LoginLimit limit for the database is 90 and has been reached. See 'http://go.microsoft.com/fwlink/?LinkId=267637' for assistance. (Microsoft SQL Server, Error: 10928)

我尝试过以下方法:

  1. 重新启动了我网站的服务器(还尝试了 iisreset 并重新启动网络应用)
  2. 删除了 Azure 门户中的所有 IP 过滤器(包括从 Azure 服务进行的访问)
  3. 升级到 Azure 中的下一层(它停留在“进行中”并且没有更改,因此我猜连接正在阻止升级)

我无法通过 SSMS 连接到我的数据库。我收到同样的错误消息。这种情况已经持续了几个小时,我的网站完全离线,但登录次数没有变化。

我需要某种方法来断开其中一些连接,以便我可以继续诊断可能出现的问题。

最佳答案

要查看 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

要杀死除我的 (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)

关于sql-server - 如果无法访问 Azure SQL 数据库,如何终止它的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30844627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com