Обобщена информация
Microsoft SQL Server предоставя съпоставяне на активната в момента база данни за клиентски драйвери, които по същество не поддържат UTF-8. Когато активна база данни се комплектова с помощта на комплектоване UTF-8, стойността на комплектоването се предава дословно на драйвера на клиента. Тези клиентски драйвери обаче не могат да поддържат комплектоването. Предадената стойност на комплектоване се използва от клиентските драйвери за параметри на извикване на отдалечена процедура за кодиране (RPC). Това може да доведе до неправилни обвързвания на параметри на заявка CHAR или VARCHAR.
Това подобрение позволява на SQL Server да изпрати най-близкото съпоставяне, което не е UTF8, до драйверите на клиента, които по същество не поддържат UTF-8. Следователно RPC параметрите ще бъдат кодирани правилно.
Допълнителна информация
Това подобрение е включено в следната кумулативна актуализация за SQL Server:
Кумулативна актуализация 17 за SQL Server 2019 г.
Забележка
-
Тази актуализация е забранена по подразбиране и може да бъде разрешена чрез включване на флага за проследяване 11813.
-
За най-добра среда за работа с бази данни на UTF-8 трябва да надстроите драйвера на клиента до версиите, които по същество поддържат UTF-8. Ако най-близкото съпоставяне, което не е UTF8, използва кодиране, което не може да представи всички знаци в стойността на обвързания параметър, все още е възможна загуба на данни по време на обвързване на параметри.
-
За информация как да изтеглите най-новите клиентски драйвери, посетете Модули за връзка за Microsoft SQL Database.
Всяка нова кумулативна актуализация за SQL Server съдържа всички горещи поправки и корекции на защитата, които са били в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за вашата версия на SQL Server:
Препратки
Научете повече за терминологията, която Microsoft използва за описване на актуализациите на софтуера.