Мне нужно было ограничить доступ к Sql Mgt Studio для определенных пользователей. Я нашел статью выше, в которой создается триггер, предотвращающий установление соединений для определенных пользователей.
CREATE TRIGGER [SQLGP_Logon_trigger_sql_tools]
ON ALL SERVER FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN() not in ('domain\Administrator',
'sa',
'domain\user1',
'domain\user2',
'domain\user3') AND
(program_name() like 'Microsoft SQL Server Management Studio'
or program_name() like 'Microsoft SQL Server Management Studio - Query'
or program_name() like 'SQL Query Analyzer')
ROLLBACK
END
Играя с кодом на нашем сервере разработки, я создал триггер, предотвращающий доступ для всех пользователей. Я попытался использовать osql для подключения, но получил сообщение об ошибке
Не удалось войти в систему для входа в систему "someuser" из-за выполнения триггера.
Это похоже на сообщение, которое вы получаете при подключении к Sql Mgt Studio.
Есть ли способ принудительно отключить этот триггер?
Подключитесь к админке. В типе SSMS admin:servername\instance
как имя сервера. Обычно соединение DAC разрешено только локально, поэтому вам следует попробовать его с хоста сервера. Если это тоже не удается (я не могу вспомнить, запускает ли DAC триггер входа в систему), всегда существует административный запуск одного пользователя сервера sqlservr -m