Как создавать сценарии таблиц в SSMS, которые содержат текст не в кодировке Юникод

Я работаю с некоторыми таблицами в SQL Server, которые хранят текст с использованием 8-разрядных символов, а не Unicode - varchar, а не nvarchar. Определенный объем текста содержит символы со значениями вне диапазона ASCII, например, фигурные кавычки, тире и международные символы, такие как -. Предположительно это работает, потому что все наши ПК и серверы используют одну и ту же кодовую страницу.

Однако, когда я использую инструмент сценариев Task > Generate Scripts в SSMS для создания сценария для такой таблицы, полученный сценарий преобразует специальные символы таким образом, что, если я использую сценарий для восстановления таблицы, специальные символы будут повреждены. Например, "cañon" становится "cañon". Я вижу это в операторах INSERT, которые содержит скрипт, где "cañon" из базы данных отображается как "cañon" в операторе INSERT.

В SSMS, как мне написать сценарий для таблицы, содержащей данные varchar вне диапазона ASCII, чтобы сработало циклическое переключение?

1 ответ

В опции "Выходные данные" мастера сценариев необходимо сохранить текст в формате ANSI, если вы хотите правильно записывать расширенные данные ASCII в полях CHAR и VARCHAR.

Другие вопросы по тегам