Если строка подключения указывает Trusted_Connection=true
с режимом проверки подлинности SQL Server, повлияет ли производительность моего веб-приложения?
При использовании Trusted_Connection = true и аутентификации SQL Server это повлияет на производительность?
Ответ 1
Не 100% уверены, что вы имеете в виду:
Trusted_Connection=True;
IS с использованием учетных данных Windows и на 100% эквивалентен:
Integrated Security=SSPI;
или
Integrated Security=true;
Если вы не хотите использовать интегрированное безопасное/надежное соединение, вам нужно явно указать идентификатор пользователя и пароль в строке соединения (и оставить ссылку на Trusted_Connection
или Integrated Security
)
server=yourservername;database=yourdatabase;user id=YourUser;pwd=TopSecret
Только в этом случае используется режим проверки подлинности SQL Server.
Если присутствует какая-либо из этих двух настроек (Trusted_Connection=true
или Integrated Security=true/SSPI
), то для проверки подлинности с использованием SQL Server используются учетные данные Windows, а любой параметр user iD=
игнорируется и не.
Для справки, см. Connection Strings site для SQL Server 2005 с большим количеством примеров и объяснений.
Использование проверки подлинности Windows является предпочтительным и рекомендуемым способом выполнения действий, но может возникнуть небольшая задержка, так как SQL Server должен будет аутентифицировать ваши учетные данные в Active Directory (обычно). Я понятия не имею, насколько это может быть небольшая задержка, и я не нашел для этого никаких ссылок.
Подведение итогов:
Если вы укажете в строке подключения Trusted_Connection=True;
или Integrated Security=SSPI;
или Integrated Security=true;
== > THEN (и только тогда), у вас есть Аутентификация Windows. Любой параметр user iD=
в строке подключения будет проигнорирован.
Если вы НЕ указываете, укажите одну из этих настроек,
== > , тогда вы НЕ выполняете проверку подлинности Windows (будет использоваться режим проверки подлинности SQL)
Ответ 2
Когда вы используете надежные соединения, имя пользователя и пароль IGNORED, потому что SQL Server использует проверку подлинности Windows.
Ответ 3
Это, вероятно, будет иметь некоторые затраты на производительность при создании соединения, но по мере объединения соединений они создаются только один раз, а затем повторно используются, поэтому это не будет иметь никакого значения для вашего приложения. Но как всегда: измерьте его.
UPDATE:
Существует два режима проверки подлинности:
- Режим проверки подлинности Windows (соответствует доверенному соединению). Клиенты должны быть членами домена.
- Режим проверки подлинности SQL Server. Клиенты отправляют имя пользователя/пароль при каждом подключении.
Ответ 4
Если ваше веб-приложение настроено для олицетворения клиента, то использование доверенного соединения потенциально может оказать негативное влияние на производительность. Это связано с тем, что каждый клиент должен использовать другой пул соединений (с учетными данными клиента).
Большинство веб-приложений не используют олицетворения/делегирования и, следовательно, не имеют этой проблемы.
Подробнее см. эту статью MSDN.