У меня есть скрипт, который выгружает несколько таблиц с очень старой SQL Серверной версии 8.0.2039, и мы находимся в процессе выхода из этой старой версии Windows Сервер и SQL Сервер.
Все кроме одной выгруженной таблицы импортируются в SQL Сервер 11.0.7001 просто отлично. Одна из таблиц превращается в азиатский набор символов.
Для экспорта и импорта соответственно используются инструменты BCP, существующие на их соответствующих серверах.
Я, очевидно, не ищу точного ответа, а вместо этого ищу настройки или параметры, которые могут повлиять на это. Я собираюсь опубликовать минимальное количество строк из сценариев экспорта и импорта.
Вот самая важная часть экспорта:
% BcpPath% указывает непосредственно на каталог, содержащий bcp.exe
% UnloadPath% - это полный путь к каталогу экспорта, например D: \ SQL_BKUPS
% ServitronName% - это имя сервера SQL, с которого будет осуществляться экспорт.
%BcpPath%bcp BuildingPermit..real_estate OUT %UnloadPath%\real_estate.unl
-S %ServitronName% -U sa -P pwd -m 10000 -n
Файл .unl передается по FTP на сервер, который будет импортировать real_estate.unl
.
Вот самая важная часть импорта:
% BcpPath% указывает непосредственно на каталог, содержащий bcp.exe
*% ImportPath% - это полный путь к каталогу импорта, например, D: \ sql_dbs. *
% ServitronName% - это имя SQL сервера, с которого будет осуществляться экспорт.
if not exist "%ImportPath%\real_estate.unl" goto noreal_estateUnl
echo use BuildingPermit > d:\web\bin\tempPurgeRecs.sql
echo go >> d:\web\bin\tempPurgeRecs.sql
echo delete from real_estate >> d:\web\bin\tempPurgeRecs.sql
echo go >> d:\web\bin\tempPurgeRecs.sql
%BcpPath%sqlcmd -E %ServitronName% -U ispermits -P Permits99 -i d:\web\bin\tempPurgeRecs.sql
del d:\web\bin\tempPurgeRecs.sql
%BcpPath%bcp BuildingPermit..real_estate in %ImportPath%\real_estate.unl -S %ServitronName% -U sa -P pwd -m 10000 -n
:noreal_estateUnl