Podczas wysyłania maila z załącznikiem (który jest wynikiem zapytania) pojawiał się bład:
Failed to initialize sqlcmd library with error number -2147024809
O co chodzi? Otóż polecenie wysyłające maila:
EXEC msdb..sp_send_dbmail @profile_name='SQLProfile' , @recipients = @EmailRecipient , @subject = @EmailSubject , @body = @EmailContent , @body_format = 'HTML' , @query=@EmailQuery , @attach_query_result_as_file=1 , @query_attachment_filename = 'Results.csv' , @query_result_separator = ',' , @from_address = 'sql-team@company.com' , @reply_to = 'sql-team@company.com'
wykonywało query zdefiniowane tak:
SELECT name from dbo.table
sęk w tym, że w czasie wysyłania maila wcale nie jest to takie jasne w jakiej bazie danych jesteśmy… Wystarczyło zmienić zapytanie na następującą postać żeby zadziałało:
SELECT name from mydatabase.dbo.table