Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Есть таблица в базе, в ней есть поле типа image в которую уже несколько лет вставляю файлики пожатые rar-ом.
Запрос простейший
BULK INSERT sertificate.dbo.pics
FROM 'C:\DB\my.rez'
WITH(FORMATFILE = 'C:\DB\z.frm')
Иногда перестает работать (просто в QA зависает и отваливается по таймауту). А потом так же внезапно (через несколько дней) опять все работает.
Профайлер показывает... ничего не показывает. К SQL серверу просто не происходит обращение.
Причем коннект есть, select работает замечательно.
К серверу коннекчусь под виндовым юзером. Доступ к обоим файлам полный. Подозреваю (даже уверен), что дело связано с администрированием, но сисадмины разводят руками.
Всю голову уже сломал. Все что знал перепробовал. Дайте пожалуйста идею где копать. Любую идею, даже дурацкую :), потому что сама ситуация вообще какая-то невероятная.
2 дек 11, 11:38    [11694632]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
Glory
Member

Откуда:
Сообщений: 104751
moles
Иногда перестает работать (просто в QA зависает и отваливается по таймауту).

Ну так уберите таймаут

moles
Профайлер показывает... ничего не показывает. К SQL серверу просто не происходит обращение.

При блокировке, например, и не будет обращений. Будет ожидание
Которое надо мониторить в списках коннектов/блокировок
2 дек 11, 11:41    [11694671]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Glory
moles
Иногда перестает работать (просто в QA зависает и отваливается по таймауту).

Ну так уберите таймаут

moles
Профайлер показывает... ничего не показывает. К SQL серверу просто не происходит обращение.

При блокировке, например, и не будет обращений. Будет ожидание
Которое надо мониторить в списках коннектов/блокировок


Если убрать таймаут то процесс просто висит, висит, висит...долго. Бесконечно
2 дек 11, 11:48    [11694786]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
Glory
Member

Откуда:
Сообщений: 104751
moles
Если убрать таймаут то процесс просто висит, висит, висит...долго. Бесконечно

И что вы предприняли для мониторинга этого "висения" ?
2 дек 11, 11:50    [11694806]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Glory
moles
Иногда перестает работать (просто в QA зависает и отваливается по таймауту).

Ну так уберите таймаут

moles
Профайлер показывает... ничего не показывает. К SQL серверу просто не происходит обращение.

При блокировке, например, и не будет обращений. Будет ожидание
Которое надо мониторить в списках коннектов/блокировок


Блокировок нет. Для чистоты эксперимента сервер перезагружался. Никто кроме меня ничего не делал
2 дек 11, 11:51    [11694820]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
Glory
Member

Откуда:
Сообщений: 104751
moles
Блокировок нет. Для чистоты эксперимента сервер перезагружался. Никто кроме меня ничего не делал

Вы это где видите ?
2 дек 11, 11:53    [11694843]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
wait_type что пишет?
2 дек 11, 11:55    [11694864]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Glory
moles
Если убрать таймаут то процесс просто висит, висит, висит...долго. Бесконечно

И что вы предприняли для мониторинга этого "висения" ?


Ну запускал профайлер, запускал трассировку ODBC. Ни там - ни там нет никаких следов моего запроса.
Больше просто не знаю что предпринять
2 дек 11, 11:56    [11694880]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Mnior
wait_type что пишет?

SQL 2000, вроде как там такого нет. Если ошибаюсь поправьте
2 дек 11, 11:59    [11694932]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
Glory
Member

Откуда:
Сообщений: 104751
moles
Ну запускал профайлер, запускал трассировку ODBC. Ни там - ни там нет никаких следов моего запроса.
Больше просто не знаю что предпринять

Еще раз
Трассировка команд не показывает блокировки и ожидания
Потому что ожидание не есть команда
2 дек 11, 11:59    [11694933]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Glory
moles
Ну запускал профайлер, запускал трассировку ODBC. Ни там - ни там нет никаких следов моего запроса.
Больше просто не знаю что предпринять

Еще раз
Трассировка команд не показывает блокировки и ожидания
Потому что ожидание не есть команда

Понятно, спасибо. А что делать-то?
2 дек 11, 12:34    [11695268]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Glory
moles
Блокировок нет. Для чистоты эксперимента сервер перезагружался. Никто кроме меня ничего не делал

Вы это где видите ?

В EM в current activity смотрел
2 дек 11, 12:39    [11695306]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
moles
SQL 2000
sys.sysprocesses кажись
2 дек 11, 13:25    [11695750]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Mnior
moles
SQL 2000
sys.sysprocesses кажись

Я так понимаю, что перед добавлением данных нужно попробовать проверить блокировку в sysprocesses. Мысль.
Только я по скудоумию не врубаюсь что именно проверить.
Если поле blocked, то там и сейчас ВЕЗДЕ стоят нолики...
bulk insert как бы объединяет в себе две разные штуки. Во-первых собственно доступ к SQL, а во-вторых доступ к файловой системе. И проблема возникает на стыке. Т.е. доступы есть и там и там, а вместе никак... В общем это все до чего я смог додуматься.

По-прежнему буду благодарен любым предположениям.
2 дек 11, 13:43    [11695904]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
Glory
Member

Откуда:
Сообщений: 104751
moles
Я так понимаю, что перед добавлением данных нужно попробовать проверить блокировку в sysprocesses. Мысль.

Может просто посмотреть состояние коннекта с bulk insert для начала ?
2 дек 11, 13:44    [11695923]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Glory
moles
Я так понимаю, что перед добавлением данных нужно попробовать проверить блокировку в sysprocesses. Мысль.

Может просто посмотреть состояние коннекта с bulk insert для начала ?


Эм... не очень догоняю как посмотреть состояние коннекта с командой.
Если имеется ввиду процесс моего QA, то он нормально законнекчен с сервером.

Вы будете смеяться, но я задолбал и сисадминов этой проблемой и внезапно заработало. Но что именно сделано и что помогло, они сказать затрудняются. "Что-то с сетью", говорят.
Знать бы еще что такое можно сделать с сетью, чтобы получить такие симптомы...

Короче говоря проблема отступила на пару месяцев, но недоумение осталось.
2 дек 11, 13:58    [11696046]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
Glory
Member

Откуда:
Сообщений: 104751
moles
Эм... не очень догоняю как посмотреть состояние коннекта с командой.

select * from sysprocesses
2 дек 11, 13:59    [11696059]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Glory,
Это понятно. Это я вижу. Ну выбрал я эту таблицу, а че дальше-то?
Нет там блокировок.
2 дек 11, 16:10    [11697414]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
moles
Нет там блокировок.
Да причём здесь блокировки. Выложите сюда результаты sysprocesses.
2 дек 11, 18:30    [11698422]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
moles
Member

Откуда:
Сообщений: 11
Mnior, ок.
Ну вот. Красным выделил мой сеанс.

К сообщению приложен файл. Размер - 74Kb
3 дек 11, 12:54    [11700592]     Ответить | Цитировать Сообщить модератору
 Re: Помоги мне Оби Ван, ты моя последняя надежда. Не работает BULK INSERT в SQL 2000 SP3а  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
moles,

1. Картинку над было ещё меньше.
2. Согласен, в посте привести текст содержимого таблицы хуже, чем картинка, тогда будет всё чётко видно, и можно этот скопировать. Картинка, только картинка.
3. Надо было выделить не две строчки, а просто тупо красный круг на пол экрана, а так из двух строк мы сможем догадаться какая из.
4. Главное надо было закрасить 6-тую колонку (wait type), её же содержимое просили привести.
5. Конечно, надо было написать запрос в Query дизайнере, а не тупо в окне запросов, где видны сиды
5. А ещё надо было написать "мой сеанс" чтоб догадывались, хотя можно было показать окно BULK INSERT где виден SPID

Пять балов за палки в колёса за решение нами вашей задачи. Молодец.

select * from sysprocesses where spid = @spid
dbcc inputbuffer @spid
Вместо @spid напилите SPID процесса, где исполняется BULK INSERT
Вместо dbcc inputbuffer, можно ещё и это:
DECLARE @Handle binary(20)   
SELECT @Handle = sql_handle FROM sysprocesses WHERE spid = @spid  
SELECT * FROM ::fn_get_sql(@Handle)
Приведите в текстовом виде. Кстати есть тэг CSV.

Удачи.
3 дек 11, 16:03    [11700920]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить