Я случайно запускаю следующий триггер на SQL Server 2012. Как его отменить?Заблокировано из SQL Server из-за триггера
Триггер предназначен для блокировки определенных IP-адресов, но заблокировал его. Кажется, я не могу войти нигде.
CREATE TRIGGER block_ipaddress
ON ALL SERVER
FOR LOGON
AS
BEGIN
DECLARE @capturedip NVARCHAR(15);
SET @capturedip = (SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)'));
IF EXISTS(SELECT ipaddress FROM master.dbo.IPBLock WHERE ipaddress = @capturedip)
BEGIN
Print 'Your IP Address is blocked, Contact Administrator'
ROLLBACK
END
ELSE
BEGIN
DECLARE @IPRange VARCHAR(15)
SELECT @IPRange = SUBSTRING(@capturedip,1,LEN(@capturedip)-CHARINDEX('.',REVERSE(@capturedip)))+'.*'
IF EXISTS(SELECT ipaddress FROM master.dbo.IPBLock WHERE ipaddress = @IPRange)
BEGIN
Print 'Your IP Address Range is blocked, Contact Administrator'
ROLLBACK
END
END
END
GO
Я больше не подключен к базе данных. Я получил информацию с этого сайта: http://sql-articles.com/articles/security/ip-address-blocking-or-restriction-in-sql-server/
последний раз, когда я был заблокирован из-за проблем с разрешением, мне пришлось сменить экземпляр на один пользовательский режим, а затем я мог подключиться и вносить изменения .. https://msdn.microsoft.com/en-us/library/dd207004 .aspx – JamieD77
У вас есть выделенный администратор. Подключение включено? Кроме того, можете ли вы использовать RDP в машине? –
try 'sqlcmd -S имя_сервера -U sa -P pass_word -A -d master -q" drop trigger block_ipaddress ON ALL SERVER "' – ewahner