метод MSAccess.TMSChangeNotification.RemoveNotificator()
при вызове под не "админ" профилем удаляет активные сервисы других пользователей
Код: Выделить всё
DECLARE @INVALID_SERVICE nvarchar(128);
SET @INVALID_SERVICE = N'SDAC_NS_52';
DECLARE @DROP_STATEMENT nvarchar(300);
WHILE @INVALID_SERVICE <> N''
BEGIN
SET @DROP_STATEMENT = N'DROP SERVICE ' + @INVALID_SERVICE;
EXECUTE sp_executesql @DROP_STATEMENT;
SET @DROP_STATEMENT = N'DROP QUEUE ' + @INVALID_SERVICE + N'_QUEUE';
EXECUTE sp_executesql @DROP_STATEMENT;
SET @INVALID_SERVICE = N'';
Continue; --Пока пришлось перекрыть так!
SELECT TOP(1) @INVALID_SERVICE = [name] FROM sys.services
WHERE
[name] LIKE 'SDAC_NS_%'
AND [name] not in (
SELECT 'SDAC_NS_' + CAST([spid] AS VARCHAR(32)) AS [name]
FROM master.dbo.sysprocesses WHERE [spid] >= 0 and spid <= 32767)
END;
что и приводит к массовому "дропу" сервисов