SQL Server Management Studio: импорт незаметно игнорирует 99,9% данных

Проблема

Я пытаюсь импортировать данные в таблицу с помощью задачи Import Data в SQL Server Management Studio. Всего 26 строк из исходных 49325. ( Правка : отсюда 99,9%: (1-26 / 49325) * 100 = 99,9%

При правильном использовании DTS в Enterprise Manager все 49325 строк выводятся.

Почему? SSMS не импортирует все строки и сообщает об успешной передаче 49 325 и отсутствии ошибок? Почему Enterprise Manager может правильно импортировать все 49 325 строк?

Версия Microsoft SQL Server Management Studio: 10.0.1600.22 (с SQL Server 2008, установлен сегодня на новой машине с Windows 7 применен SP1)

Доказательство - Импорт с использованием SSMS

Таблица STRTransactions изначально пуста:

enter image description here

Источник - база данных ContosoFrobManager на литии :

enter image description here

Назначение - база данных Grob на литии ;

enter image description here

Я хочу скопировать данные из одной (или нескольких) таблиц:

alt text

Я хочу скопировать таблицу STRTransactions : alt text

Можно добавить к существующей таблице, ничего страшного (она пуста). я хочу включить идентификационные вставки. И не пытайтесь импортировать метку времени (так как вы все равно будете жаловаться): alt text

Беги немедленно, ничего страшного: alt text

Ага, ты собираешься делать вещи: alt text

Мне удалось поймать его, когда он передавал 49325 строк, около отметки 1k: alt text

Все готово. Все 49325 строк успешно скопированы: alt text

И вот отчет:

Выполнение прошло успешно

  • Инициализация задачи потока данных (Успех)

  • Инициализация соединений (Успех)

  • Установка команды SQL (Успех)

  • Установка соединения с источником (Успешно) )

  • Установка целевого соединения (успех)

  • Проверка (успешность) сообщений Предупреждение 0x80049304: Задача 1 потока данных: Предупреждение: не удалось открыть глобальный общий доступ память для связи с производительностью DLL; счетчики производительности потока данных недоступны. Чтобы решить, запустите этот пакет как администратор, или на системной консоли. (SQL Server Мастер импорта и экспорта) Предупреждение 0x80047076: Задача 1 потока данных: столбец вывода "отметка времени" (158) на output "Выход источника OLE DB" (11) и компонент "Источник - STRTransactions" (1) в дальнейшем не используется в Задача потока данных. Удаление неиспользованного выходной столбец может увеличить поток данных выполнение задач. (Импорт SQL Server и мастер экспорта)

  • Подготовка к выполнению (Успех)

  • Предварительное выполнение (Успешно)

  • Выполнение (Успешно)

  • Копирование в [dbo]. [STRTransactions] (Успех) Передано 49325 строк

Сообщения Информация 0x402090df: Данные Задача потока 1: последняя фиксация для вставка данных в компонент " «Пункт назначения - STRTransactions» (163) » началось. (Импорт SQL Server и Мастер экспорта) Информация 0x402090e0: Задача 1 потока данных: финальный коммит для вставки данных в "компоненте" Назначение - STRОперация "(163)" завершена. (Мастер импорта и экспорта SQL Server)

  • Информация о сообщениях после выполнения (успех) 0x4004300b: задача потока данных 1: "компонент" Назначение - STRTransactions "(163)" написал 49325 ряды. (Импорт и экспорт SQL Server Wizard)

Отлично. Все сделано. « записал 49325 строк ».

За исключением того, что он записал только 26 строк:

enter image description here

Очевидно, я не сумасшедший. я все сделал правильно. И даже если бы я этого не сделал, SSMS не указывает на какие-либо проблемы. я повторил эти же шаги 8 раз:

  • 5 раз для себя
  • дважды, чтобы продемонстрировать двум разным коллегам
  • один раз, чтобы сделать снимок экрана процесса для этого вопроса SO

Каждый раз это ровно 26 строк, нет больше, не меньше. Но что было уничтожено, хозяин или ученик?

Но чтобы доказать, что я не делаю ничего плохого, мы попробуем еще раз с Enterprise Manager . Отличный инструмент, написанный более десяти лет назад:

Доказательство - Импорт с помощью Enterprise Manager

Я удалил 26 строк из таблицы STRTransactions . я мог бы предоставить снимок экрана, показывающий, что я начинаю с пустой таблицы; или вы могли бы просто поверить мне в этом. А поскольку мастера почти идентичны, вы увидите почти одинаковые скриншоты. Извини за это; но никто не поверит мне без доказательств.

Я хочу экспортировать из базы данных ContosoFrobManager на литий :

enter image description here

я хочу импортировать в Grob база данных на литии :

enter image description here

я хочу скопировать таблицы:

alt text

я хочу скопировать таблицу транзакций STR:

enter image description here

Вы можете продолжить и добавить строки в существующую таблицу (она все равно пуста) . я хочу, чтобы вы вставили значения идентичности. И не пытайтесь вставить значения отметки времени , вы все равно выдадите ошибку:

enter image description here

Бегите сейчас, конечно:

alt text

Ага, вы собираетесь что-то сделать:

enter image description here

Мне удалось поймать это в середине импорта, около 12 тыс. Строк:

enter image description here

Все готово, успешно скопировано 49325 строк:

enter image description here

И мы выбираем из таблицы, чтобы увидеть строки:

enter image description here


Почему SSMS , инструмент, который активно разрабатывается уже 6 лет, до сих пор не получил широкого применения? В то время как в Enterprise Manager первоначальная команда разработчиков почти не содержала ошибок? Это еще один пример критических ошибок в SSMS. Последняя обнаруженная мною критическая ошибка заключалась в том, что она не выполняет сценарии для всех объектов .

Можем ли мы попросить команду разработчиков Enterprise Manager переписать SSMS?


Можно с уверенностью сказать, что единственные ответы, которые я увижу, - это

  • использовать другой инструмент
  • Вы сообщили об этом в Microsoft Connect?
  • позвоните в службу поддержки клиентов

Конечно, у меня есть обходной путь, остановитесь с помощью SQL Server Management Studio. Но я' Коллега: Как? Я: Я использовал Enterprise Manager Коллега: насмехается Ну. Коллега: Тогда мне, возможно, придется это установить.

Изменить: Прочитав мой старый вопрос о ServerFault, о том, что SSMS не создает сценариев для некоторых таблиц в базе данных, я в конце концов, " Сигнал, если вы ненавидите SSMS ". Итак:

Сигнал, если вы ненавидите SSMS.

Игра

Я создал билет в Microsoft Connect . Делайте ставки на то, когда этот выпуск будет Закрыт как невоспроизводимый . Отредактируйте этот вопрос, добавив свое имя и дату. Ближайший, не перейдя, получит 100 репутации! (я пожертвую свою репутацию) Если у вас недостаточно представителей для редактирования вопросов, оставьте свое предположение в комментарии, и я добавлю его.

Предположения

  • Ян Бойд: 01.05.2011

Обновление: Закрыто 18.03.2011. Отключено на 43 дня.

15
задан Community 13 April 2017 в 12:13
поделиться