Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Добрый день! Пытаюсь создать схему БД с данными на MS SQL 2014 и восстановить ее на MS SQL 2005. Делаю всё по инструкции, правой кнопкой по своей базе - Tasks - Generate Scripts - (по умолч) Next - (по умолч) Next - Advanced - для версии SQL Server 2005, индекс, триггеры, первичные ключи, Schema and data, остальное по умолчанию - дальше Next. Создается файл script.sql больше, чем 3 Гб. Конечно при открытии жалуется на нехватку памяти, а как я путь тогда поправлю?? Здесь у меня диск D, на другом сервере диск G. Поэтому предварительно базу специально перенесла на диск С, ибо только этот диск по имени совпадает с другим сервером (принтскрин №1 без выгрузки данных, только схема для демонстрации). Окей, ладно, теперь иду на другой сервер с версией 2005. Использую команду sqlcmd -S TRM-LIB\SQLEXPRESS -i G:\script.sql Идет процесс, но! таблицы создаются в БД master. Попробовала просто схему создать и подгрузить, без данных, все равно в БД master таблицы появляются. Что делать? Как быть? Что я упустила? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 07:44 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Забыла упомянуть, что MS SQL 2014 и 2005 версии Express. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 07:48 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Taya_1993, Команду USE <база данных> Обычно перед созданием базы должно быть USE master а затем после GO USE база -- для переключение пользовательской базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 08:40 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Taya_1993, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 08:47 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Taya_1993Идет процесс, но! таблицы создаются в БД master.Либо вы в Advanced случайно отключили опцию USE DATABASE, либо команда CREATE DATABASE выполняется с ошибкой. Проверьте наличие USE [TFI_DATA] в файле (сразу после блока ALTER DATABASE), и проверяйте результат выполнения скрипта командой sqlcmd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 15:45 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
alexeyvg, хм, действительно, оказался USE DATABASE по умолчанию false. Спасибо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 00:07 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
А теперь новая проблема((( пишет Cannot insert value when Identity_insert is set to off Я конечно понимаю, что вставлять данные в Identity поле нельзя, но как тогда быть? Как мне сменить всем таблицам разом Identity_Insert на ON? Может при выгрузке схемы есть поле в Advanced? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 05:33 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Еще оказывается только одна из таблиц может быть On, пока её не Of-неш, другую не включишь в ON((( Что же делать( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 05:42 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Итак, очень странная ерунда. Часть таблиц спокойно заполняются данными, но у некоторых начинается IDENTITY_INSERT OFF и они не хотят получать данные. Поэтому я выгрузила данные потаблично в sql файлики, и смогла открыть некоторые (которые не такие тяжелые) и там есть Set IDENTITY_INSERT ON, а в конце Set IDENTITY_INSERT OFF. И это есть в файле для таблицы, которая жалуется что IDENTITY_INSERT OFF! Ну как так? Получается что где-то в предыдущем файле не сработало закрытие и поэтому он открыть заново не может? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 07:45 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Загрузила отдельно тяжелую ругающуюся табличку, используя команду sqlcmd. Отдельно она начала загружаться! Не понимаю, что там в общем файле может портить мне загрузку. Отдельно загружать около 100 очень очень очень не хочется( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 08:15 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Taya_1993Итак, очень странная ерунда. Часть таблиц спокойно заполняются данными, но у некоторых начинается IDENTITY_INSERT OFF и они не хотят получать данные. Поэтому я выгрузила данные потаблично в sql файлики, и смогла открыть некоторые (которые не такие тяжелые) и там есть Set IDENTITY_INSERT ON, а в конце Set IDENTITY_INSERT OFF. И это есть в файле для таблицы, которая жалуется что IDENTITY_INSERT OFF! Ну как так? Получается что где-то в предыдущем файле не сработало закрытие и поэтому он открыть заново не может?Думаю, где то перед загрузкой этих данных произошла ошибка, и не выполнился IDENTITY_INSERT OFF, тем более что он почему то вставляется в текущий батч, а не в отдельный. И соответственно не выполнился IDENTITY_INSERT ON уже для новой таблицы. Нужно анализировать результат выполнения, например, искать по слову ERROR Что бы результат был поменьше, для удобства поиска, нужно в начало файла скрипта добавить SET NOCOUNT ON (или в SQLCMD можно добавить файл скрипта, и он вроде выполняется в одном коннекте?) Taya_1993и смогла открыть некоторые (которые не такие тяжелые)Вообще маст хэв ИТ-специалиста - нормальные средства работы с файлами, например, FAR. Что бы не было проблем посмотреть 10 Гб файл, поковыряться в нём, поискать что нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 10:30 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Taya_1993Загрузила отдельно тяжелую ругающуюся табличку, используя команду sqlcmd. Отдельно она начала загружаться! Не понимаю, что там в общем файле может портить мне загрузку. Отдельно загружать около 100 очень очень очень не хочется(Ошибка в том батче, который последний перед этой табличкой, и в котором есть IDENTITY_INSERT OFF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 10:31 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Ошибка возникает перед RO_org по логу. https://yadi.sk/i/SmEs5Y6D3Ttu76 Через FAR я открыла свой полный sql с данными, нашла таблицу, которая идет перед RO_org. Она называется LM_uslov. https://yadi.sk/i/a5tWREAq3Ttu9f Открыла эту таблицу в восстановленной базе и увидела, что записей всего 1199 и последняя из них № 491. https://yadi.sk/i/PyaD5AP93TtuBD Открыла исходную базу, а там всего объектов 1270 и под 1199 по счету как раз запись № 491. Получается, что ошибка в следующей записи 2000 по счету - это номер 492. https://yadi.sk/i/KwFapflc3TtuBu Ищу ее в своем sql с данными, нахожу и не вижу никаких кавычек лишних, вообще маленькая строка. https://yadi.sk/i/VJHm4FI43TtuHs Что я опять упустила? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 01:30 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Taya_1993, Обычно, в таком случае, вырезают проблемную таблицу и гонят процесс дальше. Не известно, будут ли дальше сюрпризы? Если все дальше пройдет без проблем - заняться вплотную этой таблицей. На крайняк - руками перебить злостчастную запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 03:01 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Massa52, почему не хотите использовать мастер экспорта для перемещения данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 13:09 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Taya_1993Открыла исходную базу, а там всего объектов 1270 и под 1199 по счету как раз запись № 491. Получается, что ошибка в следующей записи 2000 по счету - это номер 492.Не в 492, а в батче, который начинается на записи номер 492. Может, в какой то другой записи в этом батче ошибка. Если можете, попробуйте вырезать этот батч, и его выполнить после выполнения скрипта загрузки. Это, конечно, если у вас есть такой редактор, который может работать с таким большим файлом. Если нет, можно ещё сгенерить скрипт для одной этой таблички, и выполнить его в SSMS Да, и ещё, вы всё таки посмотрите результат выполнения SQLCMD (-o output_file), если записи не вставились, то там обязательно должна быть ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 16:51 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
А почему бы не сделать проще. Взяли поставили любой дата схема компаратор. Сравнили с пустой базой. Накатили вначале схему. Потом данные. И даже если будут ошибки можно сделать итерационно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 16:57 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Massa52Taya_1993, Обычно, в таком случае, вырезают проблемную таблицу и гонят процесс дальше. Не известно, будут ли дальше сюрпризы? Если все дальше пройдет без проблем - заняться вплотную этой таблицей. На крайняк - руками перебить злостчастную запись. гонят дальше - это, например, в ранних версиях какого-нибудь 1с, где нет связей и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2018, 12:35 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
В общем, если накатить схему отдельно, потом данные БЕЗ таблицы LM_uslov, теперь точно такая же ошибка на другой таблице причем тоже которая до RO_org идет. Так что вы были правы, дело не в данных таблицы, а будто выполнение доходит до определенной строчки (а там уж неважно какая таблица оказалась на этой строчке) и жалуется на символ ' '. Только вот я не очень понимаю выражение "ошибка в батче" - это означает что SQL сам свою конструкцию запорол и мне теперь не найти решение? alexeyvg, результат выполнения жалуется на символ ' ' https://yadi.sk/i/SmEs5Y6D3Ttu76 Насколько я поняла, батч это от GO до следующего GO. Но если я не переносила таблицу LM_uslov, значит этот батч отсутствует и я думала что все будет хорошо, но нет. Видимо придется по одной табличке переносить, эх. Если конечно мне не подскажут бесплатное стороннее приложение, которое может из 2014 в 2005 перенести базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 00:31 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Итак, посмотрела я этот батч между GO и GO и оказалось что RO_org тоже попадает в этот проблемный батч и задумалась я, наверно там что-то не так, слава богу он не тяжелый, в MS SQL открылся, запустила его, он пожаловался на символ '', попался! И двойным щелчком по ошибке меня перенесло к строке с ошибкой, оказалось там в начале текста какие-то чуть ли не японские кракозябры и следом продолжается нормальный русский текст, удалила эти таинственные кракозябры, вроде запустился, не ругался больше на '''. Посмотрю что дальше, вдруг у меня много где такое и вдруг они тяжелее и не откроются, тогда плохо( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 01:36 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Taya_1993, Я для накатывания данных всегда использую bcp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 05:51 |
|
||
|
Из MS SQL 2014 в MS SQL 2005
|
|||
|---|---|---|---|
|
#18+
Taya_1993Только вот я не очень понимаю выражение "ошибка в батче" - это означает что SQL сам свою конструкцию запорол и мне теперь не найти решение?По разным причинам может быть ошибка в батче... Но вот в данном случае это очевидный баг SSMS, конечно, она должна правильно формировать строковые константы, независимо от того, какие там в строке встречаются символы. К сожалению, простого решения нет. Какие варианты можно придумать? 1. нужно проверить версию SSMS, может, поправили? :-) 2. можно попытаться найти какой нибудь конвертер файлов, для замены неправильных символов. 3. установить редактор для больших файлов, и поправить эти строки (если их немного) 4. проапдейтить неправильные строки в исходной базе Ну и вариант - пойти каким то другим путём для переноса, например, тут говорили о мастере экспорта - но это если у вас есть коннект между этими серверами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 06:48 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39620890&tid=1690001]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 385ms |

| 0 / 0 |
