Если вам необходимо обеспечить безопасность и аудит доступа к производственной базе данных, то проверка подлинности Windows является лучшим выбором, чем проверка подлинности Sql, по ряду причин:
Вы можете точно контролировать, кто может получить доступ к базе данных через группы NT и разрешения, что означает, что вы знаете, кто конкретно имеет доступ к базе данных. Пул доступа с аутентификацией sql ограничен только тем, кто знает пароль. Учитывая n людей, которые знают пароль, отслеживать, кто что сделал в определенный момент времени, сложнее (но не невозможно), учитывая это.
Только ваши системные администраторы должны знать пароль для идентификации nt с доступом к базе данных; на самом деле, большая часть конфигурации может быть выполнена только зная имя пользователя
Логины и доступ можно отслеживать на уровне домена гораздо проще, чем при входе в SQL Server.
То, что он не даст вам, это:
Возможность гарантировать, что разработчики не видят производственные данные - тот, кто пишет приложение, может легко включить некоторые диагностические процедуры для выбора данных
Убедитесь, что производственные данные остаются только в рабочей среде - любой, кто делает резервную копию рабочей базы данных (скажем, для восстановления ее в среде UAT для тестирования), может легко предоставить производственные данные.
Проблемы с этим подходом уже обсуждались в других постах; в частности, с приложениями ASP.Net вы должны решить, собираетесь ли вы использовать олицетворение / делегирование (веб-сервер может выступать в роли пользователя NT, обращающегося к нему) или модель доверенного пользователя (где вы настраиваете фиксированный идентификатор для доступа к определенному Ресурсы).
Это усложняется используемой версией IIS.