Казалось бы, тут не должно быть никаких проблем.

Но дело в том, что в демонстрационной БД по умолчанию включена галочка “Проверка кодовой страницы” (Validate Code Page). И если просто при-аттачить базу данных W1 взятую с Product CD.

OffCheckCodePageSQL1

То при открытии этой базы данных русским ‘клиентом’ (Navision) будет выдана ошибка.

OffCheckCodePageSQL2

OffCheckCodePageSQL3

В тексте этой ошибки рекомендуют отключить параметр ‘Контроль кодовой страницы’ через окно ‘Изменить БД’.
Но сделать этого не получиться, так как открыть базу нет возможности.


Как быть? - Надо отключить параметр проверки кодовой страницы через SQL.

Для того что бы понять какой sql-код нам нужен возьмем русскую БД (ее то мы может открыть) и при включенной sql-трассировке отожмем проблемную галочку.

Открываем русскую SQL базу данных Navision (какую-нибудь тестовую).

OffCheckCodePageSQL4

Открываем окно ‘Изменить БД’.

OffCheckCodePageSQL5

Выставляем параметр монопольного использования БД “Single user” (потом не забыть вернуть обратно).

OffCheckCodePageSQL6

Запускаем sql-трассировку (SQL Server Profiler).

OffCheckCodePageSQL7

OffCheckCodePageSQL8

Отжимаем проблемную галочку. Помним, что сопоставление надо оставить старое - (Cyrillic).

OffCheckCodePageSQL9

Смотрим получившийся след в SQL Server Profiler. Видим sql-код вида ‘ SET “checkcodepage” ’.

OffCheckCodePageSQL10

Создаем для базы данных W1 sql-запрос и запускаем скопированный из SQL Server Profiler код:
exec sp_executesql N'UPDATE "dbo"."$ndo$dbproperty" SET "checkcodepage" = @P1', N'@P1 int', 0

OffCheckCodePageSQL11

Открываем базу данных W1 и видим, в ‘Изменить БД’, что галочка “Проверка кодовой страницы” отжата.

OffCheckCodePageSQL12

OffCheckCodePageSQL13