2009-07-16 8 views
2

SQL Server 데이터베이스 (2005 SP2)에 대량 삽입해야하는 5GB 파일이 있습니다. 이전 가져 오기 파일에 대해 과거에 작동했던 형식 파일을 사용하여 시도 할 때 오류가 발생합니다.파일을 대량 삽입 할 수 없음

'tempdb'데이터베이스의 트랜잭션 로그가 가득 찼습니다. 로그의 공간을 재사용 할 수없는 이유를 확인하려면, 내가 명령

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

나는 "ACTIVE_TRANSACTION"를 얻을를 실행하면하려면 sys.databases

의 log_reuse_wait_desc 열을 볼 수 있지만 열려있는 트랜잭션이 없습니다. 다음

내가 아무 소용이 시도했습니다 것들 :

  • 성공적으로 데이터를 축소하고 파일을
  • 검사 드라이브 공간 로그 : 많이.
  • 여러 로그 파일이있는 데이터베이스에서 시도했습니다.
  • 새로 만든 데이터베이스에서 시도했습니다.
  • 새로 만든 데이터베이스에서 데이터 및 로그 파일 모두에 대해 10GB를 사전 할당했습니다.
  • 서비스를 다시 시작했습니다.
+1

일괄 삽입을 수행하는 방법은 무엇입니까? openrowset을 사용하고 있습니까? –

+0

이 특정 데이터 파일/형식 파일/서버 또는 일부 다른 서버에서만 작동 했습니까? –

+0

tempdb가 가득 찬 경우 자신의 데이터베이스가 아닌 tempdb를 확인하십시오. sys.databases에서 log_reuse_wait_desc를 선택하십시오. 여기서 [이름] = 'tempdb' –

답변

1

Tempdb의 데이터 할당 크기를 늘리고 시도하십시오.

+0

이것은 단순히 tempdb와 데이터베이스 로그 파일을 혼동 시켰기 때문입니다. Tempdb는 공간이 부족한 드라이브입니다. – dudeNumber4