Release Notes: This document describes changes and enhancements made to ApexSQL Log Best viewed with 'WORD WRAP' unchecked -------------------------------------------------------------------------------------------------- RELEASE: 2008.05.0834 DATE: 14 December 2009 DESCRIPTION: Medium Feature, Medium Fix Release -------------------------------------------------------------------------------------------------- Enhancements: - Application is now able to export auditing results to HTML format - Auditing intermediary files storage can now be configured via the new Default Intermediary Directory option. Intermediary files include transaction log metadata cache as well as application log files - The following new switches have been added to CLI: /intermediary_files_location - specifies location for intermediary files created during auditing /html - specifies the name of the HTML export file - New "Send client and server-side logs" menu item is added to Help menu. If no email client is installed, the client-side logs folder is opened - Connection Monitor can now be configured via the new Connection Monitor Manager form available from Tools menu - BLOBs containing images are now rendered as such in Row History grid for SQL Server 2005 and 2008 - BLOB reading now consumes less memory (up to 50% less) Fixes: - Connection Monitor is not started after installation - Create Undo/Redo Script main grid's popup menu items are disabled for selected row - Checking "Show system tables" option also checks user tables in Log Filter wizard - In-row filters aren't applied to main grid rows that were previously checked or unchecked - Special symbols (e.g. '-', '\', etc.) can be added into SPID filters in Log Filter wizard - Executing the “Auto Resize Columns” command from the tool button does not do the same thing as executing it from the main grid’s context menu - Toolbars contain unnecessary whitespace - Database backups have no associated icon on Select Backups step of Log Selection wizard - Not all available values are displayed on main grid’s in-row filter - No warning is shown if date input in /to switch is greater than the date in /from switch in CLI - Column Data Viewer is always empty for UPDATE operations if the client is operating under an operating system with Korean locale - Application doesn't support paths with Cyrillic characters - It's impossible to connect to SQL Server with Windows Authentication under Vista with active UAC - Log Filter wizard always shows transaction logs from last opened database vs the current database that the user is connected to - Hiding the in-row filter hides all rows from the main grid - The /fs switch is incorrectly described in the CLI help file - System.Exception exception is encountered if the account used for auditing doesn’t have SELECT permission on the mssqlsystemresource SQL Server 2005/2008 database - Transaction log backups are incorrectly shown on Select Database Backups step of Log Filter wizard - Server-side components installed during application are not uninstalled when client is uninstalled - "Export Checked As" command executed from its corresponding toolbar button or from the main grid’s context menu exports all columns from the main grid instead of exporting the selected/displayed columns only - Exporting to XML fails if initiated from the Log Filter wizard - When a machines' hardware ID changes, the server's activation status becomes invalid and re-activating is not possible - The application exports column values incorrectly - When generating REDO scripts, a System.OutOfMemoryException exception is sometimes encountered - "Unknown SQL Server version" error is received when reading SQL Server 2000 backups - Inaccessible transaction logs and database backups are still shown as data sources in Log Selection wizard - Chinese characters aren't shown on the main grid - NULL values are incorrectly exported as empty strings when the selected output is SQL BULK files - BULK import error is received when running an SQL BULK script with very large BLOBs - Very large BLOBs may cause application failures when being outputted to file - The larger result set is populated to the main grid the slower the populating is - Online transaction log files cannot be accessed sometimes on an x86 OS that has more than 4 GB of RAM - BLOB exporting consumes more memory than it should - Clustered indexes with variable-length columns are incorrectly outputted for SQL Server 2005 and 2008 - Variable-length column values are incorrectly outputted for SQL Server 2005 and 2008 - SPID values are incorrectly outputted for SQL Server 2008 - SMALLMONEY values are outputted incorrectly - The application doesn’t output all BLOBs found in data sources - UPDATE operations are sometimes not reconstructed correctly even when there is enough data to do so - BLOBs whose data type has been changed are outputted incorrectly - The application fails when it tries to output an invalid XML found in provided data source - Online transaction log and database files hosted on Windows 2000 cannot be read - REDO/UNDO scripts are incorrectly generated for tables with IDENTITY columns - The application fails when trying to read SQL Server 2000 database backups - Servers with expired evaluation can’t be activated - REDO/UNDO scripts are incorrectly generated for operations affecting new SQL Server 2005 BLOB types (e.g. varbinary(max), varchar(max), etc.) - Connection failure is received when application attempts to read a non-existing online file - Non-UNICODE multi-byte characters are exported incorrectly - Operations in UNDO scripts generated from the main grid are not scripted in reverse order - Operations in XML/CSV/HTML exports generated from the main grid aren't sorted the same as in the main grid - Unspecified exception is encountered when connection is lost during analysis - “The System cannot find the file specified” error is encountered when installing server-side components on SQL Server 2000 for the first time - System.AccessViolationException exception is encountered when selecting Row History tab for an operation on SQL Server 2000 table with BLOB columns - "Object reference not set to an instance of an object" error is encountered when exporting results from the main grid grouped by a column - Uninstalling application doesn't uninstall server-side components from the local server they have been installed on during installing - Date/Time filters sometimes return nothing instead of appropriate data - Margins are not saved in Preview Grid form - Maximize icon is missing in Preview Grid form - Unnecessary comma is outputted when exporting from the main grid in SQL Script format - CSV exports have no corresponding note in the header when the application is in evaluation mode - Operation times are outputted without quotation marks (‘) when exporting from the main grid in SQL Script format - Summary form shown on analysis completion sometimes reports total number of rows processed incorrectly - The /append CLI switch doesn't append analysis results to the specified file - The /verbose switch isn’t described in the CLI help output - “General network error” exception is encountered when selecting row in the main grid if connection with server is lost - "Uncheck All" command is disabled in the main grid's context menu when checking rows from Find form - Script path isn’t shown on Output Options step of Log Filter wizard on attempt when generating UNDO/REDO script right after SQL BULK files - Selected custom script editor doesn’t open if there’re spaces in the path to its executable - The application queries all database tables disregarding the specified table filter in CLI Changes: - Server-side components have been split to two independent sets: server-side components for ApexSQL Log and server-side components for ApexSQL Recover. On upgrade, un-used server-side components are deleted. * Split ApexSqlServerXprocs2008.dll into ApexSqlLog2008Xprocs.dll and ApexSqlRecover2008Xprocs.dll * Split ApexSqlServerHelper2008.exe into ApexSqlLog2008ServerHelper.exe and ApexSqlRecover2008ServerHelper.exe * Split ApexSqlServerHelper2008.sys into ApexSqlLog2008ServerHelper.sys and ApexSqlRecover2008ServerHelper.sys * Renamed ApexSqlConnectionMonitor2008.exe to ApexSqlLog2008ConnectionMonitor.exe - Renamed xp_ApexSqlConnectionMonitor2008* extended procedures to xp_ApexSqlLog2008ConnectionMonitor* - Renamed sp_ApexSqlConnectionMonitor2008* stored procedures to xp_ApexSqlLog2008ConnectionMonitor* - All server-side logs for the application's server-side components are consolidated into one log file: ApexSqlLog2008.log - The following error messages have been replaced with more informative equivalents: "Unknown error code: 128 during activation" "ApexSqlServerHelper2008 failed: OpenSCManager() failed: Access is denied. (error code = 5)" "Copy file for ApexSqlServerXprocs.dll failed: The system cannot find the path specified. (error code = 3)" "Cannot access transaction log file" "CreateService() failed: The specified service has been marked for deletion" "ApexSqlServerHelper2008 failed: log2::lnhf::GetFileDeviceName: Access is denied." "System.OutOfMemoryException" - All application logs, both client and server-side, are now in UNICODE - Evaluation period for each server has been changed from 30 to 14 days - New Activation Error form has been added to the application and will automatically be shown when an activation error occurs. This new form is more informative and simplifies the reporting of activation errors -------------------------------------------------------------------------------------------------- RELEASE: 2008.03.0716 DATE: 31 July 2009 DESCRIPTION: Medium Feature, Medium Fix Release -------------------------------------------------------------------------------------------------- Enhancements: - Column filtering is now available for file outputs in both GUI and CLI - Application now reports analysis progress in more details - The following new switches have been added to CLI: /transform_xsl - applies XSL transformation to XML export /export_columns - specifies columns to export /argfile - specifies argument file (used to reduce the number of switches specified) /console_width - sets output console width /force - ovewrites existing file with same name /out_to - redirects console output to specified file - All CLI switches now have shorter versions/aliases (e.g. /transactions switch now has /tr alias) - Main grid performance was improved for large amounts of data (50+K operations) by approximately 70% Fixes: - Log Selection Wizard displays the same backup file multiple times if the backup file was used multiple times by the original database for backup - Errors in CLI calls, including typo errors, aren't reported - After main grid is refreshed, the first mouse click over the grid doesn't select anything - Backup selections are not remembered between sessions in the Log Selection Wizard - Progress indicator doesn’t move for any of text exports - Progress bar is not shown for UNDO script generating in the details pane - Backup files existence isn't checked prior to analysis - Not all operations are shown in the main grid for SQL Server 2008 transaction logs - Uninstaller doesn't remove server-side components from server - /D switch doesn't work if it's specified after /B switch and vice versa - Unicode symbols are shown incorrectly in the Data viewer dialog - Exception if user generates script to output folder via CLI without write permissions - Application does not process databases having names with special characters (e.g. "Master's") - Installation of server-side components after auto-updating from previous major version fails - On the initial use, application is opened with non-default options - /backup CLI switch can't find backups in current folder - Alt + "hot key" doesn't work in Log Filter Wizard Changes: - /login CLI switch renamed to /user - /include_unchanged_fields CLI switch renamed to /export_unchanged_fields - /detached CLI switch alias (/d) renamed to /dt -------------------------------------------------------------------------------------------------- RELEASE: 2008.02.0708 DATE: 02 June 2009 DESCRIPTION: Medium Feature, Medium Fix Release -------------------------------------------------------------------------------------------------- Enhancements: - Application can now read BLOBs from transaction logs - Transaction logs contents can now be outputted directly to file from GUI (UNDO and REDO scripts, XML, CSV, SQL and SQL BULK exports) - New Column filter step in Log Filter Wizard allows user to select which columns to output to grid - New Summary step added to Log Filter Wizard to show number of retrieved records - All grids in Log Filter Wizard now have standard context menus - Undo and Redo Script tabs now have standard context menus - HyperBac files can now be used as database backup sources - XML exports now include export start and finish times - /export_unchanged_fields switch was added to CLI - Table filtering performance was significantly improved (especially for rarely updated tables); performance improvement can vary Fixes: - Not all logged operations are shown when reading SQL Server 2008 transaction logs - Application incorrectly recognizes local SQL Server cluster, treating it as remote server, causing performance issues - Application can't connect to local instances of SQL Server 2008 using "(local)" in server field - Unknown field names appear in REDO DDL scripts under SQL Server 2005 - Patterns don't work on Tables step of Log Filter Wizard - SQL Server 2000 databases may contain "Schema" instead of "Owner" in application labels - Sorting and grouping by empty item are allowed in Sort and Group By forms - Database connection remains open after analysis is finished in GUI - Table ID may not be shown in operations grid - Log Filter may not be saved if it was opened for editing - Old Activation form may show up at application start-up - Activating application with Alt+Tab may result in exception - Search progress bar and status bar may show different number of operations - Column data viewer window is not modal - Database backups may not be shown in Server Explorer - Double-click on backup transaction log in Server Explorer may result in online transaction log being selected in Log Selection Wizard - "Local attribute name cannot be empty" error appears when trying to analyze "" db - Group By area is shown for all analysis windows by default - Tables cannot be filtered by checked state on Tables step of Log Filter Wizard - Row Details tab doesn't show user data types - REDO and UNDO DDL scripts are empty for any database under SQL Server 2008 - Activation form is shown on attempt to uninstall server-side components from non-existing server - "Check All" button in Find form does nothing - Operations' check state can't be changed with Space button in operations grid - Clear All Column Filters command works incorrectly when activated from context menu - Collapse/Expand items in context menu of Server Explorer are always enabled - Changing server in Log Selection Wizard changes selected database picklist item from "