Проблема
Я пытаюсь импортировать данные в таблицу с помощью задачи Import Data
в SQL Server Management Studio. Это только приносит 26 строк, из оригинальных 49,325. ( Редактировать : отсюда 99,9%: (1-26/49325)*100 = 99.9%
При правильном использовании DTS в Enterprise Manager отображаются все 49 325 строк.
Почему SSMS не импортирует все строки, сообщая об успешном переносе 49,325 и не обнаружив ошибок? Почему Enterprise Manager способен правильно импортировать все 49 325 строк?
Microsoft SQL Server Management Studio версия: 10.0.1600.22 (начиная с SQL Server 2008, установленного сегодня на новой машине с Windows 7, применен пакет обновления 1)
Proof - Импорт с использованием SSMS
Таблица STRTransactions
изначально пуста:
Источником является база данных ContosoFrobManager
в lithium
:
Назначением является база данных Grob
в lithium
;
я хочу скопировать данные из одной (или нескольких) таблиц:
я хочу скопировать таблицу STRTransactions
:
Вы можете добавить к существующей таблице, это нормально (она пуста). Я хочу, чтобы включить вставки личности. И не пытайтесь импортировать метку времени (поскольку вы все равно будете жаловаться):
Беги немедленно, это нормально:
Да, вы собираетесь делать вещи:
мне удалось поймать его, когда он переносил 49 325 строк, около отметки 1k:
Все сделано. Все 49,325 строк успешно скопированы:
А вот и отчет:
Выполнение было успешным
Инициализация задачи потока данных (успех)
Инициализация соединений (успех)
Установка команды SQL (успех)
Настройка соединения с источником (Успех)
Настройка целевого соединения (успех)
Проверка (Успешность) Сообщения Предупреждение 0x80049304: Поток данных Задача 1:
Предупреждение: не удалось открыть глобальный общий доступ
память для общения с производительностью
DLL; счетчики производительности потока данных
не доступны Чтобы решить, запустите
этот пакет как администратор, или
на консоли системы. (SQL Server
Мастер импорта и экспорта) Предупреждение
0x80047076: Поток данных Задача 1:
выходной столбец "отметка времени" (158) в
выведите «OLE DB Source Output» (11) и
компонент "Источник - STRTransactions"
(1) впоследствии не используется в
Задача потока данных. Удаление этого неиспользованного
выходной столбец может увеличить поток данных
выполнение задач. (Импорт SQL Server
и мастер экспорта)
Подготовка к выполнению (успех)
Предварительно выполнить (Успех)
Выполнение (Успех)
Копирование в [dbo]. [STRTransactions] (Успех) 49325 перенесенных строк
Сообщения Информация 0x402090df: Данные
Задача потока 1: окончательный коммит для
вставка данных в компонент
"Пункт назначения - STRTransactions" (163) "
началось. (SQL Server Импорт и
Мастер экспорта) Информация
0x402090e0: Поток данных Задача 1:
окончательная фиксация для вставки данных
в «компоненте» Пункт назначения -
STR Транзакции "(163)" закончились.
(Мастер импорта и экспорта SQL Server)
- Информация о сообщениях после выполнения (успеха) 0x4004300b: Задача потока данных
1: «компонентный» пункт назначения -
STRTransaction "(163)" написал 49325
строк. (SQL Server Импорт и экспорт
Волшебник)
Отлично. Все сделано. " написал 49325 строк ".
За исключением того, что он написал только 26 строк:
Очевидно, я не сумасшедший. я все сделал правильно И даже если бы я не сделал, SSMS не дает никаких признаков каких-либо проблем. я повторил эти шаги 8 раз:
- 5 раз для себя
- дважды, чтобы продемонстрировать двум разным коллегам
- один раз, чтобы сделать скриншот процесса для этого SO вопроса
Каждый раз, когда ровно 26 строк, не больше, не меньше.Но что было уничтожено, мастер или подмастерье?
Но просто чтобы доказать, что я не делаю ничего плохого, мы попробуем снова с Enterprise Manager .Отличный инструмент, написанный более десяти лет назад:
Доказательство - импорт с использованием Enterprise Manager
Я удалил 26 строк из таблицы STRTransactions
.я мог бы предоставить скриншот, который я начинаю с пустой таблицы;или ты можешь просто поверить мне в этом.А поскольку мастера почти идентичны, вы увидите почти идентичные скриншоты.Извини за это;но никто не поверит мне без доказательств.
Я хочу экспортировать из базы данных ContosoFrobManager
в lithium
:
я хочу импортировать в базу данных Grob
на lithium
:
я хочу скопировать таблицы:
Я хочу скопировать таблицу транзакций STR:
Вы можете продолжить и добавить строки в существующую таблицу (этопусто в любом случае).Я хочу, чтобы вы вставили значения идентичности.И не пытайтесь вставить timestamp
значения, вы все равно выдадите ошибку:
Запустите сейчас, конечно:
Да, вы собираетесь делать вещи:
мне удалось поймать его всередина импорта, около 12 тыс. строк:
Все готово, 49 325 строк успешно скопированы:
И мы выбираем из таблицы, чтобы увидеть строки:
Почему SSMS, инструменткоторый активно развивался в течение 6 лет, но до сих пор не получил права?В то время как Enterprise Manager был почти без ошибок первоначальной командой разработчиков?Это еще один пример критических ошибок в SSMS.Последняя критическая ошибка, которую я обнаружил , заключалась в том, что она не обрабатывает все объекты .
Можем ли мы попросить команду разработчиков Enterprise Manager переписать SSMS?
Можно с уверенностью сказать, что я вижу только ответы:
- использовать другой инструмент
- вы сообщали об этом в Microsoft Connect?
- вызов PSS
Конечно, у меня есть обходной путь, прекратите использовать SQL Server Management Studio.Но мне уже приходится запускать Enterprise Manager в 32-битной совместимости в режиме XP (как вы можете видеть по окнам Luna на моем рабочем столе с Aero)
Me:
я заставил его работать1245 * Как?Me:
Я использовал Enterprise Manager Colleague:
scoff Хорошо.Colleague:
Тогда мне, возможно, придется установить это.
Редактировать: Читая мой старый вопрос о ServerFault, о том, что SSMS молча не создает сценарии для некоторых таблиц в базе данных, у меня был в конце,« Уважаем, если вы ненавидите SSMS ».Итак:
Привет, если вы ненавидите SSMS.
Игра
Я создал билет в Microsoft Connect .Делайте ваши ставки, когда эта проблема будет Closed as not reproducible
.Отредактируйте этот вопрос, добавив ваше имя и дату.Один из ближайших, не переходя, выиграет 100 повторений!(я пожертвую свою репутацию) Если у вас недостаточно представителя для редактирования вопросов, оставьте свое предположение в комментарии, и я добавлю его.
Гадания
- Ян Бойд: 5 января 2011 года
Обновление: Закрыто 18.03.2011.Отключено на 43 дня.