Earlier this week I received an email asking if the DSB (DiscountASP.NET SQL Backup) application could do secure FTP transfers. At first I assumed that an SSL certificate would be required, but I did some quick research on the DiscountASP Support Portal anyways. There I found a Knowledge Base Article showing that DiscountASP allows FTP over SSL on all IIS7 accounts.
Thinking this would be a great feature, I modified the DSB application to check for the Databases.XML file for a FtpEnableSsl setting. If the setting is “true”, a SSL connection is used for all FTP data and commands.
After some quick testing on two PCs, I sent the DSB v1.3 update. Later that evening I received an email thanking me for the change and quick response. It always feels good when someone appreciates your work.
The next day, I received an email from the same person stating they were having a problem restoring the backups. They had tried restoring a backup created with DSB v1.3 and an earlier release. In both tests, the restore in SQL Server failed with a "RESTORE FILELIST is terminating abnormally" error message.
As everyone should know, it is not a wise idea to backup a system and assume that the backups are good. It is important to periodically test the backups by restoring them. This was something I recall doing when I first created the DSB application. Unfortunately, I had not been repeating the restore test with every new release. So I grabbed my last SQL Server backup, attempted to perform a restore, and sighed when I got the exact same error.
After I got over the initial shock, I jumped right into the code and found the source of the problem. In the FTP Download process I was using the wrong class for writing the BAK file to the local disk. I fixed the code, and then retested the entire process (backup, download, and restore) on two different PCs with two different DiscountASP accounts. With everything working on my system, I sent the DSB v1.4 update to the user. The next day I received a response that the backup and restore process were now working on their system.
Moving forward, I will be sure to test the backup, download, and restore process with every new release. I will also be researching ideas for how I can notify users of important updates other than relying on this blog. I apologize for any problems this issue causes.
Enabling FTP over SSL in IIS7 https://support.discountasp.net/KB/a397/enabling-ftp-over-ssl-in-iis7.aspx