| By product |
| Other |
|
Knowledgebase Tips and How-to Articles for ApexSQL Tools Where is the ApexSQL Version log file located? Applies to ApexSQL Version Summary This article explains where to find ApexSQL Version application log file Description ApexSQL Version application log file is located in C:\Users\ (for Windows Vista, Windows 7 and Windows Server 2008) or C:\Documents and Settings\ (for Windows XP and Windows Server 2003) About ApexSQL Version ApexSQL Version is a SQL Server Management Studio add-in which incorporates SQL database version control capabilities into SSMS. ApexSQL Version easily integrates with all major source control systems and provides all versioning benefits. Last updated April 20, 2012 Labels: ApexSQL Version ...What’s the difference between Check-in and Save to a database options? Applies to ApexSQL Version br> Summary What’s the difference between the Check-in and Save to database options in the ApexSQL Version toolbar? When should one use these options? Description Save to database updates the live object only. The script under source control won’t be updated unless Yes is clicked when prompted to check it in ![]() Check-in updates only the object’s versioned script. The live object isn’t affected in any way About ApexSQL Version ApexSQL Version is a SQL Server Management Studio add-in which incorporates SQL database version control capabilities into SSMS. ApexSQL Version easily integrates with all major source control systems and provides all versioning benefits. Last updated April 13, 2012 Labels: ApexSQL Version ...How can I see the differences between the database object and its version under the source control? Applies to ApexSQL Version br> Summary How to see whether the object in the database is identical to its version under source control and if that’s not the case, how to identify the differences Solution 1. Right click the object in Object Explorer and select ApexSQL Version | Reports 2. Select Database vs. source control differences to find out whether the live object differs from its versioned script ![]() 3. Select Show database/source control script differences to see the exact differences line-by-line between the live object and its versioned script ![]() About ApexSQL Version ApexSQL Version is a SQL Server Management Studio add-in which incorporates SQL database version control capabilities into SSMS. ApexSQL Version easily integrates with all major source control systems and provides all versioning benefits. Last updated April 13, 2012 Labels: ApexSQL Version ...How to can I see which variables had values changed and where did that change occur while profiling SQL code? Applies to ApexSQL Profile br> Summary How to see which variables had a value change and pinpoint the exact line where that change occurred Description 1) Right-click a procedure or a function in the Microsoft SQL Server Management Studio Object Explorer and select ApexSQL Profile | Profile stored procedure 2) Specify the values for all parameters (if any) manually, or use the default ones 3) Select Generate profiling information 4) Click OK 5) Navigate to the Variable/Parameter history tab The grid contains: • Each variable/parameter that had its value changed • The exact line where that change occurred • The parameter/variable values before and after the change ![]() About ApexSQL Profile ApexSQL Profile is a SQL Server Management Studio add-in which allows performance profiling of stored procedures and user defined functions. It tracks SQL code performance at the line level and generates comprehensive reports containing statement execution times, variable and parameter changes and more. For more information visit the ApexSQL Profile product page Last updated March 28, 2012 Labels: ApexSQL Profile ...How can I save performance profiling results? Applies to ApexSQL Profile Summary How to export the profiling results to a Microsoft Excel document or a PDF file Description Description 1) Right-click a procedure or a function in the Microsoft SQL Server Management Studio Object Explorer and select ApexSOL Profile | Lazy Profile stored procedure 2) Specify the values for all parameters (if any) manually, or use the default ones 3) Click OK 4) To export the report to Excel or PDF, click Save in the report toolbar and select the output file type ![]() About ApexSQL Profile ApexSQL Profile is a SQL Server Management Studio add-in which allows performance profiling of stored procedures and user defined functions. It tracks SQL code performance at the line level and generates comprehensive reports containing statement execution times, variable and parameter changes and more. For more information visit the ApexSQL Profile product page Last updated March 28, 2012 Labels: ApexSQL Profile ...What is the difference between profiling and 'Lazy profiling'? Applies to ApexSQL Profile Summary Explains the difference between profiling and 'Lazy profiling' Description 'Lazy Profiling' profiles SQL code and logs everything that happens during that process. Once finished, Lazy Profiling generates a report which aggregates the profiling results. The report can be exported to a Microsoft Excel document or a PDF file containing: a) The time needed for execution of each profiled statement b) The values of the parameters and variables which appear in the statement, including any changes c) The SQL statement itself ![]() Profiling shows the profiling results in 4 separate tabs, providing more details: Summary - shows the slowest statements in the profiled object and its children (other procedures/functions called by the profiled object). The variable/parameter minimums and maximums are also shown on this tab, alongside the line where those values have occurred Script view - shows the stored procedure’s/function’s code and a timeline visually indicating how much time each statement took compared to the time needed to execute the entire code Detail view - shows each executed statement, the execution length and the number of times the statement was executed Variable/Parameter History - shows a list of all variables/parameters that had a value changed, the line where that change occurred as well as before and after values ![]() About ApexSQL Profile ApexSQL Profile is a SQL Server Management Studio add-in which allows performance profiling of stored procedures and user defined functions. It tracks SQL code performance at the line level and generates comprehensive reports containing statement execution times, variable and parameter changes and more. For more information visit the ApexSQL Profile product page Last updated April 6, 2012 Labels: ApexSQL Profile ...What ApexSQL Diff API files to distribute along with the application? Applies to ApexSQL Diff API Summary This article explains what ApexSQL Diff API files should be distributed with the application to ensure ApexSQL Diff API functionality. Description The files that need to be distributed are: ActivationBroker.exe ApexSql.Backup.dll ApexSql.Common.Activation.dll ApexSql.Common.BackupMetadata.dll ApexSql.Common.CommonLib.dll ApexSql.Common.Decry.dll ApexSql.Common.Dependency.dll ApexSql.Common.ExceptionReporter.dll ApexSql.Common.GrammarParser.dll ApexSql.Common.OfflineMetadata.dll ApexSql.Common.Scripting.dll ApexSql.Common.ScriptMetadata.dll ApexSql.Common.SourceControl.dll ApexSql.Common.ZipLib.dll ApexSql.DataDiff.dll ApexSql.Diff.Api.dll ApexSql.Diff.Api.xml ApexSql.Diff.dll ApexSql.Engine.dll ApexSql.SourceControl.dll ApexSql.SourceControl.Interfaces.dll ApexSql.SourceControl.SourceSafe.dll ApexSql.SourceControl.Subversion.dll ApexSql.SourceControl.TFS.dll ApexSql.SourceControl.Vault.dll ApexSqlBackupCore.dll ApexSqlDiffApi2011Activation.dll DynLib.dll AddIns folder from the ApexSQL Diff API installation folder also needs to be distributed. Place the files (and the AddIns folder) in the same folder where the application executable is located. About ApexSQL Diff API ApexSQL Diff API programmatically compares and synchronizes SQL Server database tables, views and all other SQL Server objects as well as database data. Compare databases programmatically from your custom application Last updated March 16, 2012 Labels: ApexSQL Diff API ...Download links to individual installers To get individual product installer please send an email to support@apexsql.com with Product name and version required About ApexSQL ApexSQL is a leading provider of SQL Server tools for database recovery, database auditing, database comparison, documentation as well as SQL Server Management Studio and Visual Studio add-ins for SQL code refactoring, code completion and database source control. We strive to ensure that every one of our tools is standard-defining product in its class, from feature set, to performance, interface and quality. Last updated November 11,2011 Labels: General ...Basic steps for successful data recovery Applies to ApexSQL Recover Description What to do immediately after data is lost in order to minimize the chance of the data being overwritten or lost beyond chance of recovery and maximize the chance for successful data recovery Solution 1. Set the database to Read-Only state immediately 2. Copy the database *.mdf and *.ldf files 3. Restore the database with a new name using the mdf and ldf files 4. Perform all recovery actions against the database copy - not the original 5. Execute the generated recovery script against the database copy About ApexSQL Recover ApexSQL Recover is a tool that recovers data lost due to delete, truncate and drop operations. Recover BLOB data as files and extract data from corrupted databases, detached MDFs or a recent SQL database backup without restoring it. Last updated April 3, 2012 Labels: ApexSQL Recover ...Full-text indexes are created outside the COMMIT statement in the script Applies to ApexSQL Script Summary Full-text indexes are created outside the COMMIT statement in the generated script Description This is a known limitation of SQL Server. Full-text indexes can't be created inside a transaction, so they are created before or after the COMMIT statement in the generated script. The script will be executed without errors. About ApexSQL Script ApexSQL Script generates scripts for SQL Server database objects and data. Script SQL databases to source control, generate .NET executable and C# projects for deployment, and automate script generation using CLI. Last update December 26, 2011 Labels: Apex SQL Script ...How to use the application settings created in ApexSQL Edit 2008 with ApexSQL Edit ? Applies to ApexSQL Edit Summary This article explains how to move the custom application settings created in ApexSQL Edit 2008 and use them in latest ApexSQL Edit Description Before you start ApexSQL Edit for the first time, copy the Options.xml file from the ApexSQL Edit 2008 installation folder to ApexSQL Edit %LocalAppData% folder. (e.g. from C:\Program Files\ApexSQL\ApexSQLEdit2008\ to C:\Documents and Settings\%UserName%\Local Settings\Application Data\ApexSQL\ApexSQLEdit for Windows XP C:\Users\%UserName%\AppData\Local\ApexSQL\ApexSQLEdit for Windows Vista/7) All other setting files can be preserved by copying the files in %LocalAppData% folder manually from “ApexSQLEdit” to “ApexSQLEdit20xx”. Please note that you will not be able to preserve the settings that reside in the Layouts.xml file which stores toolbars, panels setup, window/dialog sizes and the custom shortcuts set for menu and toolbar commands. About ApexSQL Edit ApexSQL Edit is a SQL Server code editor with advanced SQL formatting, refactoring and autocomplete functions. Edit SQL using code snippets and templates in a single integrated environment. Last updated February 23, 2012 Labels: Apex SQL Edit ...How do I register and view HxS documentation Applies to ApexSQL Doc Summary This article explains how to register and view HxS documentation Description To register HxS documentation: 1) Go to the Doc installation folder \ Examples 2) Open the reg.bat file in Notepad 3) Match the parameters in the following lines to your environment: "C:\Program Files\Microsoft Help 2.0 SDK\hxreg.exe" -n testDoc1 -c testDoc.HxS "C:\Program Files\Microsoft Help 2.0 SDK\hxreg.exe" -n testDoc1 -i testDoc2 -s testDoc.HxS - C:\Program Files\Microsoft Help 2.0 SDK” is the VSHIK installation path - testDoc1 is the documentation's Namespace - testDoc2 is the documentation's TitleID - testDoc.HxS is the documentation's file name 4) Save and execute the file To view HxS documentation: 1) Go to the Doc installation folder \ Examples 2) Open the view.bat file in Notepad 3) Match the parameters in the following line to your environment: "C:\Program Files\Common Files\Microsoft Shared\Help\dexplore.exe" /helpcol ms-help://testDoc1/testDoc2 - C:\Program Files\Common Files\Microsoft Shared\Help\dexplore.exe is the path to the dexplore utility - testDoc1 is the documentation's Namespace - testDoc2 is the documentation's TitleID 4) Save and execute the file About ApexSQL Doc ApexSQL Doc documents SQL Servers, databases, objects, and SSIS packages in a single document. Create database documentation in a variety of formats including compiled help (.CHM), HTML and MS Word. Schedule your documentation process unattended with the help of the CLI. Last updated November 30, 2011 Labels: ApexSQL Doc ...How do I install the MS HTML Help 2 SDK Applies to ApexSQL Doc Summary The article explains how to install the MS HTML Help 2 SDK Description Help 2 SDK called VSHIK (Visual Studio Help Integration Kit) is required for creating and viewing MS HTML Help 2 documentation on your machine. When you have VS .NET installed: - Download VSHIK 2002 (Version 2.1) for Visual Studio 2002 (version 7.0). - Download VSHIK 2003 (Version 2.2) for Visual Studio 2003 (version 7.1). - Download Visual Studio 2005 SDK for Visual Studio 2005 (version 8.0). - Download Visual Studio 2008 SDK for Visual Studio 2008 (version 9.0). (Note: For Windows 7, Visual Studio 2005 SDK (version 2.5) or higher is required. Path to Help 2.0 executable should be updated accordingly to: C:\Program Files (x86)\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Archive\HelpIntegration) When you don’t have VS .NET installed: 1) Install the MS Help 2 Runtime (e.g. install MSDN, TechNet or .NET SDK) 2) Download VSHIK Installer 3) Expand the install file VSHIK.exe to a local folder (using e.g. Winzip) 4) Copy patch_vshik_setup.msi.vbs file from ApexSQL Doc installation folder to the folder with the unzipped VSHIK. 5) Run patch_vshik_setup.msi.vbs file to unblock the installer 6) Run Setup.exe to install VSHIK. (Note: Full functionality of patched installation isn't guaranteed) About ApexSQL Doc ApexSQL Doc documents SQL Servers, databases, objects, and SSIS packages in a single document. Create database documentation in a variety of formats including compiled help (.CHM), HTML and MS Word and eliminate a time consuming task with a high performance documentation engine. Last updated Novmeber 30, 2011 Labels: ApexSQL Doc ...Installing server-side components on the passive cluster node (IA64 system architecture) Applies to ApexSQL Log Summary How to install ApexSQL Log server-side components on a passive node in a clustered environment for IA64 system architecture Description If ApexSQL Log is installed in a clustered environment, the server-side components can be installed only on the active nodes, not on the passive ones. However, you can work around this issue Workaround Please do the following: 1. Copy ApexSqlLog2010Xprocsia64.dll to SQL Server's Binn folder and rename it to ApexSqlLog2010Xprocs.dll 2. Run the following script on SQL Server: IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010', 'ApexSqlLog2010Xprocs.DLL' IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010') EXEC master.dbo.xp_ApexSqlLog2010 20060604, 3, 'Installed xp_ApexSqlLog2010' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogApi2010') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLogApi2010', 'ApexSqlLog2010Xprocs.DLL' IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogApi2010') EXEC master.dbo.xp_ApexSqlLogApi2010 20060604, 3, 'Installed xp_ApexSqlLogApi2010' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor_Stop') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor_Stop', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor_Info') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor_Info', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor_Enable') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor_Enable', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor_Disable') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor_Disable', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor_State') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor_State', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'sp_ApexSqlLog2010ConnectionMonitor_Start') EXEC master.dbo.sp_executesql N'CREATE PROCEDURE sp_ApexSqlLog2010ConnectionMonitor_Start AS EXEC master.dbo.xp_ApexSqlLog2010ConnectionMonitor @@SERVERNAME' -- Stop and disable ApexSQL Server 2005 Connection monitor if it exists. IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlConnectionMonitor_Stop') EXEC master.dbo.xp_ApexSqlConnectionMonitor_Stop IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlConnectionMonitor_Disable') EXEC master.dbo.xp_ApexSqlConnectionMonitor_Disable 3. Depending on your operating system, create a folder:
ApexSql.Common.ArrayOfflineMetadata.dll ApexSql.Common.CommonLib.dll ApexSql.Common.DdlAuditing.dll ApexSql.Common.Decry.dll ApexSql.Common.Dependency.dll ApexSQL.Common.GrammarParser.dll ApexSql.Common.OfflineMetadata.dll ApexSql.Common.Scripting.dll ApexSql.Diff.dll ApexSql.Engine.dll ApexSql.Log.CommunicationProtocol.dll ApexSqlLog2010Activation.exe ApexSqlLog2010ConnectionMonitoria64.exe (rename it to) ApexSqlLog2010ConnectionMonitor.exe ApexSqlLog2010Coreia64.dll (rename it to) ApexSqlLog2010Core.dll ApexSqlLog2010ServerAuditoria64.exe (rename it to) ApexSqlLog2010ServerAuditor.exe ApexSqlLog2010ServerHelperia64.exe (rename it to) ApexSqlLog2010ServerHelper.exe ApexSqlLog2010ServerHelperia64.sys (rename it to) ApexSqlLog2010ServerHelper.sys ApexSqlLogApi2010Activationia64.exe (rename it to) ApexSqlLogApi2010Activation.exe 6. Run the Command Prompt as administrator 7. Navigate to the Binn folder previously created in step 4 8. Run the following command: ApexSqlLog2010ServerHelper.exe /load About ApexSQL Log ApexSQL Log is a SQL Server Transaction Log reader that allows viewing transaction log data in read-friendly format. Audit and undo SQL database changes of your choosing. Determine who changed the data and when the change occurred. Read the transaction log to find out who created, changed or dropped a database object Last updated April 25, 2012 Labels: ApexSQL Log ...Installing Server-Side Components on the passive cluster node (x64 system architecture) Applies to ApexSQL Log Summary This article explains how to install ApexSQL Log Server-Side Components on a passive node in a clustered environment for x64 system architecture Description If ApexSQL Log is installed in a clustered environment, the Server Side Components can be installed only on the active nodes, not on the passive ones. However, you can work around this issue. Workaround Please do the following: 1. Copy ApexSqlLogXprocsx64.dll to SQL Server's Binn folder and rename it to ApexSqlLogXprocs.dll 2. Run the following script on SQL Server: IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog', 'ApexSqlLogXprocs.DLL' IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog') EXEC master.dbo.xp_ApexSqlLog 20060604, 3, 'Installed xp_ApexSqlLog' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogApi') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLogApi', 'ApexSqlLogXprocs.DLL' IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogApi') EXEC master.dbo.xp_ApexSqlLogApi 20060604, 3, 'Installed xp_ApexSqlLogApi' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogConnectionMonitor') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLogConnectionMonitor', 'ApexSqlLogXprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogConnectionMonitor_Stop') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLogConnectionMonitor_Stop', 'ApexSqlLogXprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogConnectionMonitor_Info') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLogConnectionMonitor_Info', 'ApexSqlLogXprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogConnectionMonitor_Enable') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLogConnectionMonitor_Enable', 'ApexSqlLogXprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogConnectionMonitor_Disable') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLogConnectionMonitor_Disable', 'ApexSqlLogXprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogConnectionMonitor_State') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLogConnectionMonitor_State', 'ApexSqlLogXprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'sp_ApexSqlLogConnectionMonitor_Start') EXEC master.dbo.sp_executesql N'CREATE PROCEDURE sp_ApexSqlLogConnectionMonitor_Start AS EXEC master.dbo.xp_ApexSqlLogConnectionMonitor @@SERVERNAME' -- Stop and disable ApexSQL Server 2005 Connection Monitor if it exists. IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlConnectionMonitor_Stop') EXEC master.dbo.xp_ApexSqlConnectionMonitor_Stop IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlConnectionMonitor_Disable') EXEC master.dbo.xp_ApexSqlConnectionMonitor_Disable 3. Depending on your Operating System, create a folder:
ApexSql.Common.ArrayOfflineMetadata.dll ApexSql.Common.CommonLib.dll ApexSql.Common.DdlAuditing.dll ApexSql.Common.Decry.dll ApexSql.Common.Dependency.dll ApexSQL.Common.GrammarParser.dll ApexSql.Common.OfflineMetadata.dll ApexSql.Common.Scripting.dll ApexSql.Diff.dll ApexSql.Engine.dll ApexSql.Log.CommunicationProtocol.dll ApexSqlLogActivation.exe ApexSqlLogConnectionMonitorx64.exe (rename it to) ApexSqlLogConnectionMonitor.exe ApexSqlLogCorex64.dll (rename it to) ApexSqlLogCore.dll ApexSqlLogServerAuditorx64.exe (rename it to) ApexSqlLogServerAuditor.exe ApexSqlLogServerHelperx64.exe (rename it to) ApexSqlLogServerHelper.exe ApexSqlLogServerHelperx64.sys (rename it to) ApexSqlLogServerHelper.sys ApexSqlLogApiActivationx64.exe (rename it to) ApexSqlLogApiActivation.exe 6. Run the Command Prompt as administrator 7. Navigate to the Binn folder previously created in step 4 8. Run the following command: ApexSqlLogServerHelper.exe /load About ApexSQL Log ApexSQL Log is a SQL Server auditing and recovery solution. Use ApexSQL Log to recover data, undo INSERT, UPDATE and DELETE commands and audit schema changes. Read the transaction log to find out who created, changed or dropped a database object. Last Updated December 26, 2011 Labels: ApexSQL Log ...Installing Server-Side Components on the passive cluster node (x86 system architecture) Applies to ApexSQL Log Summary This article explains how to install ApexSQL Log Server-Side Components on a passive node in a clustered environment for x86 system architecture Description If ApexSQL Log is installed in a clustered environment, the Server-Side Components can be installed only on the active nodes, not on the passive ones. However, you can work around this issue Workaround Please do the following: 1. Copy ApexSqlLog2010Xprocsx86.dll to SQL Server's Binn folder and rename it to ApexSqlLog2010Xprocs.dll 2. Run the following script on SQL Server: IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010', 'ApexSqlLog2010Xprocs.DLL' IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010') EXEC master.dbo.xp_ApexSqlLog2010 20060604, 3, 'Installed xp_ApexSqlLog2010' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogApi2010') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLogApi2010', 'ApexSqlLog2010Xprocs.DLL' IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLogApi2010') EXEC master.dbo.xp_ApexSqlLogApi2010 20060604, 3, 'Installed xp_ApexSqlLogApi2010' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor_Stop') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor_Stop', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor_Info') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor_Info', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor_Enable') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor_Enable', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor_Disable') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor_Disable', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlLog2010ConnectionMonitor_State') EXEC master.dbo.sp_addextendedproc 'xp_ApexSqlLog2010ConnectionMonitor_State', 'ApexSqlLog2010Xprocs.DLL' IF NOT EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'sp_ApexSqlLog2010ConnectionMonitor_Start') EXEC master.dbo.sp_executesql N'CREATE PROCEDURE sp_ApexSqlLog2010ConnectionMonitor_Start AS EXEC master.dbo.xp_ApexSqlLog2010ConnectionMonitor @@SERVERNAME' -- Stop and disable ApexSQL Server 2005 Connection Monitor if it exists. IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlConnectionMonitor_Stop') EXEC master.dbo.xp_ApexSqlConnectionMonitor_Stop IF EXISTS(SELECT * FROM master.dbo.sysobjects WHERE name = 'xp_ApexSqlConnectionMonitor_Disable') EXEC master.dbo.xp_ApexSqlConnectionMonitor_Disable 3. Depending on your Operating System, create a folder:
ApexSql.Common.ArrayOfflineMetadata.dll ApexSql.Common.CommonLib.dll ApexSql.Common.DdlAuditing.dll ApexSql.Common.Decry.dll ApexSql.Common.Dependency.dll ApexSQL.Common.GrammarParser.dll ApexSql.Common.OfflineMetadata.dll ApexSql.Common.Scripting.dll ApexSql.Diff.dll ApexSql.Engine.dll ApexSql.Log.CommunicationProtocol.dll ApexSqlLog2010Activation.exe ApexSqlLog2010ConnectionMonitorx86.exe (rename it to) ApexSqlLog2010ConnectionMonitor.exe ApexSqlLog2010Corex86.dll (rename it to) ApexSqlLog2010Core.dll ApexSqlLog2010ServerAuditorx86.exe (rename it to) ApexSqlLog2010ServerAuditor.exe ApexSqlLog2010ServerHelperx86.exe (rename it to) ApexSqlLog2010ServerHelper.exe ApexSqlLog2010ServerHelperx86.sys (rename it to) ApexSqlLog2010ServerHelper.sys ApexSqlLogApi2010Activationx86.exe (rename it to) ApexSqlLogApi2010Activation.exe 6. Run the Command Prompt as administrator 7. Navigate to the Binn folder previously created in step 4 8. Run the following command: ApexSqlLog2010ServerHelper.exe /load About ApexSQL Log ApexSQL Log is a SQL Server Transaction Log reader that allows viewing transaction log data in read-friendly format. Audit and undo SQL database changes of your choosing. Determine who changed the data and when the change occurred. Read the transaction log to find out who created, changed or dropped a database object Last updated December 26, 2011 Labels: ApexSQL Log ...How to audit operations for dropped or re-created tables Applies to ApexSQL Log Summary This article describes how to retrieve schemas and objects for the records that are shown as UNKNOWN in the Main grid. This happens when the table with the specific ID doesn't exist in the database anymore, and the transactions for that object ID exist in the transaction logs used. This happens when:
![]() Description Old table ID needs to be mapped to the existing table. In case you need to see the tables created in the database, do the following: Run ApexSQL Log, in the Filter setup tab, Operations sub-tab, uncheck all DML and DDL operations and check only CREATE table ![]() The list of all created tables for the time range selected, or the whole transaction log, will be shown: ![]() Now you can select the table you will map: 1. Copy the ID from the Undo or Redo script tab in the Row details pane: ![]() 2. Click Old table ID mapping on the Home tab, in the Tools group, to map the table to the old ID. Paste old ID into the Old table ID field. In case the same table was dropped and recreated several times, you can map one table to several old IDs: ![]() 3. After clicking refresh schema all table names will appear instead of UNKNOWN: ![]() About ApexSQL Log ApexSQL Log is a SQL Server auditing and recovery solution. Use ApexSQL Log to recover data, undo INSERT, UPDATE and DELETE commands and audit schema changes. Read the transaction log to find out who created, changed or dropped a database object. Last updated December 26, 2011 Labels: ApexSQL Log ...What kind of additional information I can send about a technical problem to help resolve it? Description If a bug is found, additional information to duplicate it may be helpful to resolve the problem Solution Helpful information: • What is the Product name (i.e. ApexSQL Diff) and version? • What is the operating system? • What are your processor and RAM? To get this information on Windows 7: 1. Click the Start button 2. Click Control Panel 3. Click System and Security 4. Click System The steps are similar for other Windows versions In case your computer uses multiple processors, the processor type and speed as well as the number of processors installed are shown under System • Do you work in a domain or in a workgroup? • What is the SQL Server version? Use: SELECT @@version Issue specific: • Duplication steps if the error can be consistently duplicated • Any script/code/database structure that provides context for the issue • If possible a database snapshot or DDL scripts of particular objects required for reproducing the issue Please send any relevant information to support@apexsql.com About ApexSQL ApexSQL is a leading provider of SQL Server tools for database recovery, database auditing, database comparison, documentation as well as SQL Server Management Studio and Visual Studio add-ins for SQL code refactoring, code completion and database source control. We strive to ensure that every one of our tools is standard-defining product in its class, from feature set, to performance, interface and quality. Last update November 24,2011 Labels: General ...What files should be backed up before copying ApexSQL Edit settings to another location or updating to a new version Applies to ApexSQL Edit Summary This article lists the files that should be backed up if you want to copy ApexSQL Edit settings to another computer or update ApexSQL Edit to a new version Description Note: The following variable names are used: - %InstallFolder% C:\Program Files\ApexSQL\ApexSQL Edit - %MyDocuments% C:\Documents and Settings\%UserName%\My Documents\ for Windows XP C:\Users\%UserName%\Documents\ApexSQL\ApexSQLEdit for Windows Vista/7 - %LocalAppData% C:\Documents and Settings\%UserName%\Local Settings\Application Data\ApexSQL\ApexSQLEdit for Windows XP C:\Users\%UserName%\AppData\Local\ApexSQL\ApexSQLEdit for Windows Vista/7 - %VirtualStore% C:\Users\$UserName$\AppData\Local\VirtualStore\Program Files (x86)\ApexSQL\ApexSQLEdit2008 for Windows Vista/7 You need to back up the files and the directories listed below: - %InstallFolder%\Report Templates - %InstallFolder%\SQL Templates - %MyDocuments%\ApexSQL\ApexSQLEdit - default location for user files (projects, workspaces, etc) - %MyDocuments%\ApexSQL\ApexSQLEdit\Snippets\My Snippets - default location of application and user defined Snippets - %MyDocuments%\ApexSQL\ApexSQLEdit\Templates\My Templates - default location of application and user defined Templates, - %LocalAppData%\ApexSQL\ApexSQLEdit\Backup - the application auto-backup history folder - %LocalAppData%\ApexSQL\ApexSQLEdit\Settings - stores customization files for quick info, aliases, tab colors, macros, and more. - %LocalAppData%\ApexSQL\Common\DisplayedServers.xml - The list of servers available in the Connect to Server dialog - %LocalAppData%\ApexSQL\Common\LocatedServers.xml - The list of servers located in the Connect to Server dialog If the user has administrative rights, or UAC is turned OFF: - %InstallFolder%\edit.project - %InstallFolder%\BlankQuery.xml - %LocalAppData%\Favorites.xml - %LocalAppData%\Options.xml - %LocalAppData%\Queries.xml - %LocalAppData%\Replacements.xml - %LocalAppData%\Layouts.xml (this file shouldn’t be transferred to the new installation if the destination operating system has lower desktop resolution as it may cause some windows to become inaccessible or hidden) If the user has non-administrative rights, or UAC is turned ON: - %VirtualStore%\edit.project - %VirtualStore%\BlankQuery.xml - %VirtualStore%\Favorites.xml - %VirtualStore%\Options.xml - %VirtualStore%\Queries.xml - %VirtualStore%\Replacements.xml - %VirtualStore%\Layouts.xml (this file shouldn’t be transferred to the new installation if the destination operating system has lower desktop resolution as it may cause some windows to become inaccessible or hidden) About ApexSQL Edit ApexSQL Edit is a SQL Server code editor with advanced SQL formatting, refactoring and autocomplete functions. Edit SQL using code snippets and templates in a single integrated environment. Last updated February 23, 2012 Labels: Apex SQL Edit ...How to choose between ApexSQL Audit and ApexSQL Log Applies to ApexSQL Log, ApexSQL Audit Summary ApexSQL has two auditing tools - ApexSQL Log and ApexSQL Audit. There is certainly a tradeoff when using one over the other. This article is an overview on how to choose between the two Description ApexSQL Audit is the trigger-based auditing tool. It helps users create audit triggers that are fired by DML operations (INSERT, UPDATE and DELETE) and then store details of the operation into AUDIT_LOG_DATA and AUDIT_LOG_TRANSACTIONS auditing tables Pros - Total control over what tables and operations to audit - Audit data is stored in SQL Server tables and can therefore be manipulated like any other SQL Server table. Audit history is immediately available - Creation of the custom reporting system based on the audit data stored in SQL Server tables - Auditing of system databases is prevented to avoid database crashes if something goes wrong (system tables locking, etc.) - As database administrators have full access to the data, they can change the data in the audit tables or even truncate them - ApexSQL Audit has a separate standalone reporting tool called ApexSQL Audit Viewer which can be purchased separately. It can be distributed to team members and end-users who only need to view auditing reports and don't need access to the administrative features of ApexSQL Audit Cons - It can cause performance degradation, as is the nature of all triggers - It can't audit DDL (schema) changes ApexSQL Log is the transaction log-based tool - it reads transaction logs to get the data Pros - If the database is already in full recovery model, then there is no downside on the space/performance - Move transaction logs to another server and audit there - Better UNDO-ing of rogue actions/recovery - Schedule ApexSQL Log reading the transaction logs, so the auditing is done during offline hours - Audit DDL (schema) changes Cons - The database has to be in full recovery model. If the maintenance is not planned right, the hard drives can get filled with transaction logs and this can have an impact on the performance. The best way to manage the online transaction log size is to perform transaction log backups on regular basis, preferably daily Both tools allow generating reports in various formats About ApexSQL Log ApexSQL Log is a SQL Server Transaction Log reader that allows viewing transaction log data in read-friendly format. Audit and undo SQL database changes of your choosing. Determine who changed the data and when the change occurred. Read the transaction log to find out who created, changed or dropped a database object About ApexSQL Audit ApexSQL Audit is a SQL Server auditing tool, which tracks data changes in SQL Server databases using triggers. ApexSQL Audit allows you to audit database access by login, host and application name Last updated April 17, 2012 Labels: Apex SQL Audit, ApexSQL Log ... |


















