Как получить результат вывода команды SQL BACKUP в программу Delphi?

Выходные данные команд sql, которые видны пользователям, которые в интерактивном режиме запускают команды SQL из SQL Server Management studio, отличаются от выходных данных, которые вы получаете от выполнения команды ADO или объекта запроса ADO.

USE [DBNAME] 
BACKUP DATABASE [DBNAME] TO 
 DISK = 'C:\SqlBackup\Backup.mdf'

Результат успешного завершения выглядит так:

Processed 465200 pages for database 'DBNAME', file 'filename' on file 2.
Processed 2 pages for database 'DBNAME', file 'filename_log' on file 2.
BACKUP DATABASE successfully processed 465202 pages in 90.595 seconds (40.116 MB/sec).

Когда я выполняю либо TADOCommand, либо TADOQuery с CommandText или SQL, установленным, как указано выше, я не получаю никакого такого вывода. Как мне прочитать этот «вторичный вывод»? от выполнения команды SQL? Я надеюсь, что, возможно, с помощью некоторых необработанных операций ADO я смогу выполнить команду и получить указанную выше информацию для успеха, а также для любых ошибок при выполнении резервного копирования Sql.

Update: Ответ ниже работает для меня лучше, чем моя наивная попытка, которая не сработала, используя простые классы Delphi TADOCommand и TADOConnection:

create TADOCommand and TADOConnection. execute command. get info-messages back.

Проблема, с которой я столкнулся в своих попытках написания кода, заключается в том, что моей первой командой является «использовать dbname». и единственный набор записей, который я просматривал в своем коде, был результатом & quot; использования dbname & quot; команда, а не вторая команда, которую я выполнял. Принятый ответ ниже пересекает все наборы записей, которые возвращаются после выполнения команды ADO, и, таким образом, он работает намного лучше. Так как я делаю все это в фоновом потоке, я на самом деле считаю, что в любом случае лучше создавать необработанные объекты Com и избегать запутывания VCL в моем потоке. Приведенный ниже код может быть хорошим компонентом, если кому-то интересно, дайте мне знать, и я мог бы сделать с открытым исходным кодом «SQL Backup for Delphi» составная часть.

Ответы на вопрос(1)

Ваш ответ на вопрос