В целях безопасности я удаляю все роли сервера из каждого логина в базе данных и оставляю только "sa"
Я полагаю, что "целью безопасности" является принятие мудрыхразработал функции безопасности вне SQL Server и заменил их необдуманным набором дыр в безопасности, которые вы разработали?
Это плохая, плохая идея, и хотя может быть способ сделать этоЗапутанная система, вы должны избегать этого.Существует причина, по которой SQL Server не дает возможности использовать только проверку подлинности SQL Server, а разрешает только проверку подлинности Windows.На самом деле, есть несколько причин:
1) Все в Windows работает в контексте безопасности Windows.Это включает в себя и сам SQL Server, который должен работать под идентификатором процесса службы, существующего в Windows, для доступа, среди прочего, ко всем его файлам данных.Невозможно полностью удалить проверку подлинности Windows с рисунка, поскольку она буквально управляет всем на каждом компьютере с Windows.
2) Использование проверки подлинности только для Windows (которая обычно является лучшим вариантом, чем использование проверки подлинности в смешанном режиме)позволяет для сценариев делегирования с использованием Kerberos.Другие схемы предполагают неразумное, а иногда и невозможное распределение полномочий.Хитрость в том, что для этого вам нужно правильно настроить Kerberos.
3) Ваши политики паролей могут централизованно администрироваться с использованием Active Directory с аутентификацией Windows.Это невозможно при аутентификации SQL Server, поскольку проверки политики паролей могут быть отключены без ведома сетевого администратора.
Кроме того, вы открываете учетную запись SA в качестве единственного средства входа на сервер.,Это крайне опрометчиво, если только вы не играете в песочнице, и даже тогда я бы этого не сделал.Используя только учетную запись SA, каждый, кто использует сервер, имеет доступ к карт-бланшу, чтобы делать практически все с вашим сервером.И если вы предоставили высокий уровень доступа к процессу службы SQL Server, практически любой пользователь может относительно легко получить контроль над всей машиной.
Это плохая идея.Я рекомендую отказаться от этой идеи и опубликовать в SO вопрос о ваших целях более высокого уровня и о том, как вы можете их достичь.