Thanks for your advice.
I create the procedure in DB as
CREATE PROCEDURE BackupDB
AS
BEGIN
SET NOCOUNT ON;
exec( 'backup database Test to disk = N''C:\TEMP\TEST2.bak'' with format, init;' );
insert into SysLog values ( convert( char(20), getdate(), 20 ) )
END
and modify the pascal code to execute the procedure as
mssqlConnection1.ExecuteDirect( 'BackupDB' );
sqltransaction1.Commit;
The Syslog record is inserted but NO backup file generated. Please comment.