문제

SQL Server 2014에서 데이터베이스 메일을 통해 15000 개의 레코드로 CSV 파일을 보내려고합니다. 문제는 이메일을 열면 CSV는 209 개의 레코드 만 포함합니다. SQL Server 2012에서 동일한 작업을 시도했으며 예상대로 작동합니다. CSV에서 15000 개의 레코드를 보냅니다. 2014 년 버전이있는 여러 서버 에서이 문제를 테스트했으며 모든 것에 동일한 문제가 있습니다. 누구든지 2014 년 버전에서 뭔가가 바뀌 었는지 아이디어가 있습니까? 또는 다음에 볼 수있는 것에 대한 몇 가지 팁을 줄 수 있습니까?

쿼리는 다른 점에서 분리됩니다 - 예를 들어, 위에서 말한 것처럼 209 개의 기록에서 벗어나는 것입니다. 마지막 기록은 잘립니다. 첨부 파일 크기는 약 64KB입니다. 이는 4MB 제한 아래에있어 데이터베이스 최대 파일 크기 바이트 매개 변수를 구성했습니다. 내가하는 일은 기본적으로 저장 프로 시저를 실행하고 이메일에서 CSV에서 결과를 보낼 수있는 작업을 만드는 것입니다. 저장 프로 시저는 다음과 같습니다.

    select col1, col2, col3 
    from table A1 
    where col1 > 1000 
    order by col1
.

도움이 되었습니까?

해결책

는 실제로 2014 년 RTM의 버그를 발견했습니다. https : //connect.microsoft.com/sqlserver/feedback/details/850260/sql-2014-sp-send-dbmail-64kb-query-result-limit

버그는 SQL Server 2014 CU4에서 수정되어 KB3004195 .

다른 팁

이것은 시간 초과 문제 일 수 있습니다.계정의 시간 초과를 5 분 동안 설정하십시오.

EXEC msdb.dbo.sysmail_update_account_sp 
  @Account_id = <AccountID>, 
  @Timeout= 600, --(Timeout in seconds)
  @No_credential_change = 1
.

SQL Server 서비스를 다시 시작하여

를 활성화해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 dba.stackexchange
scroll top