06 Dec 2009

- Preparation for future index selection feature in IndexOptimize.

05 Dec 2009

- Support for setting the compression level when you're using LiteSpeed or SQLBackup for backup.

21 Nov 2009

- Support for backup to multiple files. Set for example @NumberOfFiles = 8 to backup to 8 files.

- Support for Red-Gate SQLBackup. You need SQLBackup version 6.3 or later.

- Change in DatabaseBackup when you are using third party backup software. You need to set @Compress = 'Y' if you set @BackupSoftware to 'LITESPEED' or 'SQLBACKUP'.

13 Nov 2009

- Support for the option BLOCKSIZE in DatabaseBackup.

- Support for the option BUFFERCOUNT in DatabaseBackup.

- Support for the option MAXTRANSFERSIZE in DatabaseBackup.

05 Sep 2009

- Support for all versions and editions of SQL Server 2005 and SQL Server 2008. In the previous version of MaintenanceSolution.sql SQL Server 2005 RTM was not supported.

22 Aug 2009

- Support for selecting all databases; @Databases = 'ALL_DATABASES'.

- A database that is in single user mode can only be accessed by one user at a time. The new version has a check for this.

- Check in DatabaseBackup that database names are unique in the file system.

06 Aug 2009

- New time limit parameter in IndexOptimize. Set @TimeLimit to for example 3600 not to start execution of new commands after 3600 seconds.

01 Aug 2009

- Support for the option EXTENDED_LOGICAL_CHECKS in DatabaseIntegrityCheck.

- Support for the option CHECKSUM in DatabaseBackup.

- Support for a default backup directory in DatabaseBackup. Set the parameter @Directory to NULL to use this feature.

- A database that is in standby mode cannot be backed up. The new version has a check for this.

20 Jun 2009

- Changed behaviour in DatabaseBackup when deleting old log backups. In the new version it doesn't delete any log backups that are newer than the latest full or differential backup.

06 Jun 2009

- Support for printing of commands without executing them. Set the new parameter @Execute to 'N' to use this feature.

21 May 2009

- Support for rebuilding and reorganizing partitioned indexes on the partition level. Set the new parameter @PartitionLevel to 'Y' to use this feature.

10 May 2009

- Support for LiteSpeed backup.

- Exclusion of indexes on read-only filegroups in IndexOptimize.

16 Apr 2009

- Support for Xml indexes.

- Support for Spatial indexes.

- Support for indexed views.

- An index that contains a column with a large CLR type cannot be rebuilt online. The new version has correct handling of this.

- An index that has ALLOW_PAGE_LOCKS set to OFF cannot be reorganized. The new version is doing a rebuild instead of a reorganize if page locking is disabled.

01 Mar 2009

- Support for the option COMPRESSION in DatabaseBackup.

- Support for the option COPY_ONLY in DatabaseBackup.

- Check if a differential backup can be done before doing a differential backup in DatabaseBackup. If the backup will generate a "Cannot perform a differential backup for database "Database", because a current database backup does not exist." - error the differential backup will not be performed. The default behavior (@ChangeBackupType = 'N') is that the database is skipped. The backup type can also be dynamically changed to a full backup for that database. This is if @ChangeBackupType = 'Y'.

- Check if a transaction log backup can be done before doing a transaction log backup in DatabaseBackup. If the backup will generate a "BACKUP LOG cannot be performed because there is no current database backup" - error the transaction log backup will not be performed. The default behavior (@ChangeBackupType = 'N') is that the database is skipped. The backup type can also be dynamically changed to a differential or full backup for that database. This is if @ChangeBackupType = 'Y'.

- Added default parameter value 'N' for backup verification in DatabaseBackup.

- Added default parameter value NULL for cleanup of old backups in DatabaseBackup. In the new version NULL means that no backup files are deleted.

- Bug fix in DatabaseBackup: Non Latin characters (e.g. Chinese) in the backup directory name generated an error. This has been fixed in the new version.

- Support for the option NOINDEX in DatabaseIntegrityCheck.

- Support for the option PHYSICAL_ONLY in DatabaseIntegrityCheck.

- DatabaseIntegrityCheck is now using the option ALL_ERRORMSGS to log all errors.

- Support for the option MAXDOP in IndexOptimize (index rebuild option).

- Support for the option SORT_IN_TEMPDB in IndexOptimize (index rebuild option).

- Support for the option FILLFACTOR in IndexOptimize (index rebuild option).

- Support for the option LOB_COMPACTION in IndexOptimize (index reorganize option).

- Support for the options SAMPLE and FULLSCAN in IndexOptimize (update statistics options).

- Exclusion of disabled and hypothetical indexes in IndexOptimize.

- Exclusion of read-only databases in IndexOptimize.

- Support for wild-cards in the database selection. Can be combined with groups of databases, lists of databases and exclusions of databases. Here's an example of how it can be used to select all user databases that doesn't contain Database in the database name, 'USER_DATABASES, -%Database%'.

- Logging of Duration for all commands.

- Bug fix: % - characters in databases names, schema names, table names and index names generated an error. This has been fixed in the new version.

- Bug fix in the installation script: No SQL Server Agent check or job creation if the edition is SQL Server Express.

02 Aug 2008

- Support for SQL Server 2008.

- Support for non latin (e.g. Chinese) characters in database names, schema names, object names and index names.

- Support for single quotes (') in schema names, object names and index names.

- Support for case sensitive databases.

- Support for characters in database names that are not allowed in the file system (\ / : * ? " < > |).

- Support for backup to UNC paths.

- Changed behaviour in DatabaseBackup: When doing log backups databases that are in simple recovery model are dynamically skipped in the new version.

- Changed behaviour in DatabaseSelect: Database snapshots are excluded in the new version.

- Bug fix in IndexOptimize: A non clustered index with a varchar(max), nvarchar(max) or varbinary(max) data type in an included column cannot be rebuilt online. This is handled correctly in the new version.

- Improvement in IndexOptimize: The dynamic management function sys.dm_db_index_physical_stats is queried for each index in a database to determine the fragmentation level and the size of the index. Consider a scenario where another process is holding an exclusive table lock on the same index. This will result in that the query against sys.dm_db_index_physical_stats will be blocked. In the new version a lock timeout has been implemented on the query against sys.dm_db_index_physical_stats.

- The logging has been improved in the new version.

01 Jan 2008

- Initial version.