Jeśli ciąg połączenia określa Trusted_Connection=true
z trybem uwierzytelniania SQL Server, wpłynie to na wydajność mojej aplikacji internetowej?Podczas korzystania z Trusted_Connection = true i uwierzytelniania SQL Server, czy to wpłynie na wydajność?
Odpowiedz
Nie 100% pewien, co masz na myśli:
Trusted_Connection=True;
JEST użyciu poświadczeń systemu Windows i jest w 100% równoważne:
Integrated Security=SSPI;
lub
Integrated Security=true;
Jeśli nie chcesz korzystać z kompleksowych zabezpieczeń/zaufanego połączenia, trzeba podać identyfikator użytkownika i hasło wyraźnie w ciągu połączenia (i opuścić żadnego odniesienia do Trusted_Connection
lub Integrated Security
)
server=yourservername;database=yourdatabase;user id=YourUser;pwd=TopSecret
Tylko w tym przypadku , używany jest tryb uwierzytelniania SQL Server.
Jeśli którykolwiek z tych dwóch ustawień jest obecny (Trusted_Connection=true
lub Integrated Security=true/SSPI
), wówczas poświadczenia systemu Windows bieżącego użytkownika są wykorzystywane do uwierzytelniania przed SQL Server i dowolne ustawienie user iD=
będą ignorowane i nie używany.
Dla odniesienia zobacz Connection Strings site dla SQL Server 2005 z dużą ilością próbek i objaśnień.
Korzystanie z uwierzytelniania systemu Windows jest preferowanym i zalecanym sposobem działania, ale może to spowodować niewielkie opóźnienie, ponieważ SQL Server będzie musiał uwierzytelnić twoje poświadczenia w Active Directory (zazwyczaj). Nie mam pojęcia, jak duże może być to opóźnienie i nie znalazłem żadnych odniesień do tego.
Reasumując:
Jeśli podasz albo Trusted_Connection=True;
lub Integrated Security=SSPI;
lub Integrated Security=true;
w ciągu połączenia
==>WTEDY (i tylko wtedy) masz Windows Authentication wydarzenie. Każde ustawienie user id=
w ciągu połączenia zostanie zignorowane.
Jeśli ty NIE określić jeden z tych ustawień,
==> następnie NIE się dzieje uwierzytelnianie systemu Windows (tryb uwierzytelniania SQL zostaną wykorzystane)
Prawdopodobnie wystąpią pewne koszty związane z wydajnością podczas tworzenia połączenia, ale ponieważ połączenia są łączone, są tworzone tylko raz, a następnie ponownie wykorzystywane, więc nie ma to znaczenia dla Twojej aplikacji. Ale jak zwykle: zmierzyć.
UPDATE:
Istnieją dwa tryby uwierzytelniania:
- tryb Windows Authentication (odpowiadające zaufanego połączenia). Klienci muszą być członkami domeny.
- Tryb uwierzytelniania serwera SQL. Klienci wysyłają nazwy użytkownika/hasła przy każdym połączeniu
Masz na myśli, że kiedy po raz pierwszy nawiążesz połączenie z serwerem SQL, pojawią się dodatkowe koszty związane z wydajnością? I dlaczego? (Moje wcześniejsze zrozumienie oznacza, że zaufane połączenie poprawi wydajność, ponieważ jest "zaufane" - może zaoszczędzić czas, pomijając niektóre koszty uwierzytelnienia). Popraw mnie, jeśli się mylę. – George2
Tak, ale aby stać się "zaufanym", trzeba wykonać kilka wymian między klientem a serwerem. Ustanowienie uścisku dłoni SSP będzie wolniejsze niż pojedyncza obiecająca nazwa użytkownika/hasło. –
Istnieje również dodatkowa opłata za pobieranie usługi Active Directory. –
Podczas korzystania z zaufanych połączeń nazwa użytkownika i hasło są IGNOROWANE, ponieważ serwer SQL używa uwierzytelniania systemu Windows.
Czy masz na myśli, że jeśli używam uwierzytelniania SQL Server innego niż uwierzytelnianie systemu Windows, nie mogę używać Trusted_Connection = true? – George2
Jeśli korzystasz z zaufanego połączenia, serwer Sql nie dba o identyfikator użytkownika i hasło podane w ciągu połączenia. Sql Server używa poświadczeń bieżącego procesu. Jeśli chcesz używać uwierzytelniania serwera Sql, musisz usunąć zaufane połączenie ze swojego ciągu połączenia – Tror
Dzięki! Jeśli nie korzystam z aktywnego środowiska katalogowego, czy można użyć Trusted_connection = true? – George2
Jeśli aplikacja internetowa jest skonfigurowana do podszywania się pod klienta, użycie zaufanego połączenia może mieć negatywny wpływ na wydajność. Dzieje się tak, ponieważ każdy klient musi korzystać z innej puli połączeń (z poświadczeniami klienta).
Większość aplikacji internetowych nie korzysta z podszywania się/delegowania, a tym samym nie ma tego problemu.
Aby uzyskać więcej informacji, patrz this MSDN article.
- 1. Czy duży stan redux wpłynie na wydajność mojej aplikacji?
- 2. SQL Server i wydajność dla dynamicznych wyszukiwań
- 3. Jak się wylogować podczas korzystania z uwierzytelniania .htaccess (i .htpasswd)?
- 4. Czy można zignorować wartości NULL podczas korzystania z funkcji LAG() i LEAD() w SQL Server?
- 5. Czy rekursja jest dobra w SQL Server?
- 6. Wydajność efekt Synonimy na serwerze połączonym w programie SQL Server
- 7. Jak mogę udostępnić UX uwierzytelniania formularzy ASP.NET podczas korzystania z dostawców Role i uwierzytelniania Active Directory?
- 8. Błąd podczas korzystania przestrzennej indeksu w SQL Server
- 9. Wydajność SQL Server w ADO.NET a SSMS
- 10. SQL Server: DateDiff funkcja spowodowało przepełnienie podczas korzystania milisekundy
- 11. Czy ustawienia uwierzytelniania na SQL Server 2008 R2 powodują różnicę wydajności?
- 12. Zmień nazwę kolumna podczas korzystania PIVOT SQL Server 2008
- 13. Wady korzystania z SQL Server Compact w porównaniu z dedykowaną bazą danych SQL Server
- 14. Czy denormalizacja wierszy do kolumn zwiększa wydajność w SQL Server?
- 15. Tworzenie indeksu klastrowego podczas korzystania z pierwszej migracji kodu za pomocą Entity Framework i SQL Server
- 16. ObjectTrackingEnabled i linq-to-sql
- 17. wydajność podczas korzystania z dokumentu() wielokrotnie w XSLT
- 18. ListBox ScrollIntoView podczas korzystania CollectionViewSource z GroupDescriptions (tj IsGrouping == true)
- 19. łączenia się z SQL Server przy użyciu uwierzytelniania systemu Windows
- 20. Wydajność typów tabel zdefiniowanych przez użytkownika w SQL Server
- 21. Wybór SQL Server Express i SQL Lite
- 22. Nieprawidłowe i sprawdzone metody SQL Server
- 23. Czy uruchamianie bazy danych SQL Server 2005 na poziomie zgodności 80 ma negatywny wpływ na wydajność?
- 24. Wydajność SQL MAX()
- 25. z-index, jak wpływa to na wydajność?
- 26. Jak przejść z trybu systemu Windows SQL Server na tryb mieszany (SQL Server 2008)?
- 27. NHibernate stronicowania z SQL Server
- 28. Jakie są wady korzystania z serwerów połączonych w SQL Server?
- 29. SqlMembership na Azure i Standalone SQL Server
- 30. jak zapobiec nagłówkowi uwierzytelniania www podczas korzystania z uwierzytelniania paszport-http Basic + paszport-lokalny
Czy masz na myśli to, że jeśli używam uwierzytelniania SQL Server innego niż uwierzytelnianie systemu Windows, nie mogę używać Trusted_Connection = true? – George2
Przepraszam, mam na myśli, jeśli chcę używać Trusted_connection = true, to muszę użyć trybu uwierzytelniania systemu Windows? Czy mogę używać trybu uwierzytelniania SQL Server z Trusted_connection = true? – George2
Marc, chcę potwierdzić, że 1. jeśli używam trybu uwierzytelniania SQL Server, nie mogę używać Trusted_connection = true, 2. jeśli korzystam z trybu uwierzytelniania systemu Windows, mogę wybrać opcję użycia Trusted_connection = true albo nie? – George2