Не удается массово вставить файл

У меня есть файл размером 5 ГБ, который мне нужно вставить в базу данных SQL Server (2005 SP2). Когда я пытаюсь это сделать (используя файл форматирования, который работал в прошлом для того же файла импорта), я получаю сообщение об ошибке:

Журнал транзакций для базы данных tempdb заполнен. Чтобы узнать, почему пространство в журнале нельзя использовать повторно, см. столбец log_reuse_wait_desc в sys.databases

Когда я запускаю команду

select log_reuse_wait_desc from sys.databases where [name] = 'MyDB'

Я получаю "ACTIVE_TRANSACTION", но открытых транзакций нет.

Ниже приведены вещи, которые я пробовал безрезультатно:

  • Успешно сжаты файлы данных и журналов
  • Проверено места на диске: много.
  • Пробовал на базе данных с несколькими файлами журналов.
  • Пробовал на только что созданной базе данных.
  • Попробовал только что созданную базу данных, где я предварительно выделил 10 ГБ как для файлов данных, так и для файлов журнала.
  • Перезапустил службу.

person dudeNumber4    schedule 16.07.2009    source источник
comment
как вы выполняете массовую вставку? вы используете openrowset?   -  person Russ Bradberry    schedule 17.07.2009
comment
Работало ли это раньше для этого указанного файла данных/файла формата/сервера или только на каком-то другом сервере?   -  person Philip Kelley    schedule 17.07.2009
comment
Если база данных tempdb заполнена, проверьте базу данных tempdb, а не собственную базу данных: выберите log_reuse_wait_desc из sys.databases, где [имя] = 'tempdb'   -  person Remus Rusanu    schedule 17.07.2009


Ответы (1)


Увеличьте размер выделения данных для Tempdb и попробуйте.

person Broken Link    schedule 16.07.2009
comment
Это произошло просто из-за того, что я перепутал tempdb с файлом журнала базы данных. Tempdb находилась на диске с недостаточным пространством. - person dudeNumber4; 17.07.2009