Подтвердить что ты не робот

При использовании Trusted_Connection = true и аутентификации SQL Server это повлияет на производительность?

Если строка подключения указывает Trusted_Connection=true с режимом проверки подлинности SQL Server, повлияет ли производительность моего веб-приложения?

4b9b3361

Ответ 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.