HTML Apps

HTML Applications (HTAs) are surprisingly powerful tools. An HTA is essentially just a web page, but instead of having a .html or .htm extension, it has a .hta extension.  When you doubleclick a .hta file on a Windows computer, it launches in mshta.exe, which is basically a simple web browser with one special ability.  It can execute local scripts, something a regular web page cannot do.  For this reason, it’s an ideal way to easily create a GUI for your scripts.

I’ve posted a handful of HTAs below that I find useful, but I’ve separated each script into its own file to make things a bit clearer in this post.  You could easily combine numerous scripts into a single HTA if you are so inclined. 

***************************************************************************

***************************************************************************

get_sql_db_sizes

Retrieve a graphical representation of SQL databases on a server and display how much space is used in each database file

SQL 2000 had a view that was similar to this, but you could only see it for one database at a time. In SQL 2005, they removed it altogether, so here is a way you can get the same results using an HTA.  There is also an option to export the report straight to Excel.  To connect to a default instance, enter the server name or IP.  To connect to a named instance, use ServerName\InstanceName.  To connect to a SQL Express instance, use ServerName\SQLEXPRESS.

Download – Get_SQL_DB_Sizes.hta

***************************************************************************

***************************************************************************

getdiskspace

Retrieve disk space from a remote computer

In order to retrieve the disk space breakdown on a remote computer, your user account will need to be in the local administrators group on the remote machine.

Download – GetDiskSpace.hta

***************************************************************************

***************************************************************************

get_sql_backup_history

Retrieve SQL backup history

Here’s another HTA example of connecting to SQL.  This script retrieves database backup history information from the MSDB..backupset table.

I also have a T-SQL version of this script posted which you can check out here: T-SQL Backup History Script

Download – Get_SQL_Backup_History.hta

***************************************************************************

***************************************************************************

Get_General_Info

Retrieve Model, Serial Number, RAM, OS, Last Boot Time and more

This HTA retrieves some general info from computers on your network.  Your user account needs to be in the local administrators group on the remote machine.

Download – Get_General_Info.hta

***************************************************************************

***************************************************************************

Get_dbInfo

Retrieve general database info from SQL

This HTA retrieves some general info about the databases on a SQL server.  This won’t work on SQL 2000 but will work on 2005 and 2008.

Download – Get_SQL_DBInfo.hta

***************************************************************************

***************************************************************************

get_sql_spwho2_and_inputbuffer

Retrieve SP_WHO2 and Input Buffer from SQL Server

Here’s another example of retrieving info from SQL Server.  The sp_who2 script will work on all three versions of SQL, but the InputBuffer script will only work on 2005 and 2008.

Download – Get_SQL_spwho2_and_InputBuffer.hta

***************************************************************************

***************************************************************************

diffBackupPredictionHTA

SQL Differential Backup Size Prediction

Sometimes it can be very handy to know how large a differential database backup will be before actually executing the backup.  This HTA will accurately estimate the differential backup size.  Credit goes to Darwin Hatheway for explaining how to do this here. However, since he didn’t complete the implementation, I did it myself.

Download – SQL Differential Backup Size Prediction - HTA

T-SQL Version – http://dougzuck.com/sql-differential-backup-size-prediction

10 comments
  1. Gail Selsmeyer
    Jun 12th, 2009 at 09:40 | #1

    Thanks for showing me something new to learn and providing the code to learn it from. I really appreciate the sharing of knowledge. Especially so since I’m new to SQL Server and as a SQL DBA and still have all my other responsibilities.

  2. SG Ram
    Oct 24th, 2009 at 21:02 | #2

    AWESOME. Great work!!

  3. Orazio
    Nov 20th, 2009 at 05:57 | #3

    very good work!!
    it’s useful utility.
    good bye

  4. Pondiboy
    Apr 29th, 2011 at 05:24 | #4

    This is awsome. Very useful
    Thanks

  5. Bright
    Aug 4th, 2011 at 10:08 | #5

    This is superb. Thanks!

  6. Nessie
    Sep 21st, 2011 at 07:44 | #6

    These are great, many thanks… would it be possible to out a trigger on the SQL DB Sizes hta so that if the DB reaches say 80% the bar turns Red…

    Also I’m trying to to bring 5 of the apps into one hta with drop down menus to select which one you want to run…

  7. Jazz
    Apr 30th, 2012 at 07:20 | #7

    Cool! Thank You!

  8. JJ
    Sep 24th, 2012 at 20:12 | #8

    Greate work.. really helpful

  9. Steve Sofar
    Apr 5th, 2013 at 11:00 | #9

    Wow you HTML stuff are so great
    I wish we could use the SQL Authentication vs the windows trsuted connection to connect to a SQL server box, because i have few domains
    (but at least the SQL Login is always the same)

    Nessie did you succeed to bring 5 of the apps into one hta with drop down menus

    • Apr 5th, 2013 at 19:30 | #10

      I don’t have the exact syntax off the top of my head for the connection string, but you should be able to modify it very easily to use SQL authentication instead of Windows auth.

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">