CREATE PROCEDURE proc_copyFile
@srcfileName varchar(255), @descfilename varchar(255),@message varchar(1024) OUTPUT
AS
BEGIN
 DECLARE @object int
 DECLARE @hr int
 DECLARE @src varchar(255), @desc varchar(255)
 
 -- Create an object.
 EXEC @hr = sp_OACreate 'Scripting.FileSystemObject', @object OUT
 IF @hr <> 0
 BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
SET @message = @src+':'+@desc
 RETURN
 END
 
 EXEC @hr = sp_OAMethod @object, 'CopyFile',null,@srcfilename,@descfilename
 IF @hr <> 0
 BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
SET @message = @src+':'+@desc
 RETURN
 END

exec @hr=sp_oadestroy @object set @message='done'
end
go
Declare @msg varchar(1024)
exec proc_copyFile N'D:\email.dat',N'D:\email_copy.dat',@msg output
print @msgdrop procedure proc_copyFile