By product  
  Other  

Knowledgebase

Tips and how-to articles for ApexSQL tools


ApexSQL Log Connection monitor (Part III) - Showing additional user data

Applies to
ApexSQL Log

Summary

How to show and use the Connection monitor captured information

Description
After the stage has been set by setting up the ApexSQL Log Connect monitor service and the Connection monitor repository, it’s time to put it to good use. The Connection monitor stores additional data in the repository database that doesn't show up in the auditing reports by default

Regarding connection specific information, only the User column is shown in the main grid, by default. This column shows the SQL Server user if SQL authentication is used, and windows user if otherwise. If you also need to see the application and its host name associated with a transaction, additional steps are required. Although the information is saved in the Connection monitor’s repository database, ApexSQL Log will associate it automatically to the corresponding transactions during the analysis

Note that, to see the additional connection information, these additional columns in the ApexSQL Log’s main grid must be enabled prior to the analysis. It is not possible to enable them afterwards without restarting the entire process. This is the result of ApexSQL Log’s optimization; it will not perform any unnecessary analysis if not instructed to do so

To enable additional columns in the ApexSQL Log’s main grid:
  1. Select the Filter section in the project settings dialog
    • By clicking the Edit button on the main toolbar, if the analysis was already performed without the required columns
    • By opening a previously saved/starting a new project
  2. Select the Columns tab under the Filter section
  3. Check the additional columns to enable them in the ApexSQL Log’s main grid

Enable additional columns using filter setup


After processing transaction logs, the results are displayed in the ApexSQL Log’s main grid with connection specific information associated to each of the transaction log entries

Filtered results displayed in the ApexSQL Log’s main grid


To summarize this ApexSQL Log Connection monitor article: it’s easy to set up and use if you need the connection specific information. On the other hand, if the additional information provided by the Connection monitor is not required, it is easy as well as recommended to turn it off. After all, ApexSQL Log is an optimized tool, but some additional optimization by setting options and filters properly is always welcome

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

Labels:

...


ApexSQL Log Connection monitor (Part II) - Configuring repository database

Applies to
ApexSQL Log

Summary

How to customize the location of the SQL Server repository database used by the Connection monitor to store captured information

Description
As discussed in the introduction and basic setup of the ApexSQL Log Connection monitor article, it is possible to customize the location of the SQL Server repository database used to store captured information. Similarly, it’s possible to configure the Connection monitor to:
  • delete all captured data if necessary
  • stop capturing connection specific information
  • or just set automatic deletion of obsolete captured data
Captured data removal
To completely remove captured information from the database, click the Connection monitor manager on the Home tab of the main toolbar. Then click the Change button

ApexSQL Log Connection monitor manager – change

Select the Data repository tab and then click the Remove all captured data now button, which brings up the confirmation dialog

Connection monitor settings – remove all captured data

Click Ok to close the Connection monitor settings dialog

Disabling the Connection monitor service
Select the Stop button to disable the Connection monitor service, and turn off additional logging

Disabling Connection monitor service

Be advised that this procedure doesn't remove the repository database or the structure in it

Setting up automatic deletion of obsolete captured data
Regarding the automatic removal of unneeded / obsolete captured information, the steps are identical to those described in the captured data removal procedure up to the point of opening the Data repository tab

By selecting the Delete captured data after option and specifying the number of days, the Connection monitor will purge captured information automatically

Now that the Connection monitor service and repository have been set up properly, let’s learn how to see the captured and stored data

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

Labels:

...


ApexSQL Log Connection monitor (Part I) - Introduction and basic setup

Applies to
ApexSQL Log

Summary

How to use the Connection monitor as a server side component of ApexSQL Log

Description
The Connection monitor is a server side component of ApexSQL Log, which captures and stores the SQL Server user name (or Windows user name if Windows authentication is used) and other connection specific information, such as application and host name of an application used to perform a transaction. Most of this information is not stored in the transaction log, but it is valuable in many use cases, when it’s associated with the corresponding transaction

For instance, SQL Server 2000 stores only the SQL Server user ID, while SQL Server 2005, 2008, 2008 R2 and 2012 stores the SID of the user that initiated each transaction. ApexSQL Log is capable of mapping a user ID to the user name, or mapping an SID to the Windows username or the SQL Server user name, depending on the user account configuration without using the Connection monitor

On the other hand, none of the SQL Server versions have a client host or an application name stored in its transaction logs. Therefore, to obtain the connection specific information and provide comprehensive database auditing, ApexSQL Log uses active connection monitoring

The transactions executed while the Connection monitor service was enabled are displayed with extra information compared to the ones executed while it was disabled:

Active connection monitoring in ApexSQL Log

The Connection monitor can be enabled during or after the installation of ApexSQL Log. If you check the Capture Login information option during the installation process, you will be prompted to specify a database in which to store captured data
The default repository database, named ApexSQLLog, will be created if the Default option is selected. It is also possible to select any of the already available databases

Capture login information – ApexSQL Log setup

However, if you need to change this setting later, you can do it by selecting the Connection monitor manager on the Home tab. The Connection monitor service must be running in order to change the database used to capture data
Click Start to enable/start the Connection monitor service

Enable/start the Connection monitor service

Select Change after the Connection monitor’s status changes to Running

The Connection monitor manager – change

Then, change the database used as the repository in the Connection monitor settings dialog, under the Data repository tab

Select a database to store captured data

So, these were the steps for setting up the repository. Similarly, it’s possible to stop the Connection Monitor service or to purge stored information

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

Labels:

...


ApexSQL Restore - Introduction

ApexSQL Restore is a SQL Server tool that attaches both native and natively compressed SQL database backups and transaction log backups as live databases, accessible via SQL Server Management Studio, Visual Studio or any third-party tool. It allows attaching a single or multiple full, differential and transaction log backups as well as mounting backup sets to a specific point in time, making it ideal for quickly reverting inadvertent or malicious changes


With ApexSQL Restore you can:
  • Restore backups for a fraction of the time and the disk space needed for a full restore
  • Work with native or compressed database and transaction log backups just like with live databases
  • Access mounted databases using any database management tool including SQL Server Management Studio and Visual Studio
  • Attach to a specific point in time to revert inadvertent or malicious changes
  • Access, change or delete data and objects stored in backups 
  • Leverage backups as reporting data sources to avoid performance impact on production databases
  • Speed up your testing environment by re-attaching previously attached backup sets in a single click 
  • Restore directly to production-ready databases

See also

How to use ApexSQL Restore
How does ApexSQL Restore work
When to use ApexSQL Restore
How to attach a full database backup using ApexSQL Restore
How to restore to a point in time using ApexSQL Restore
Installing ApexSQL Restore on Windows XP
Attaching a FILESTREAM backup on Windows XP

Labels:

...


Installing ApexSQL Restore on Windows XP

When installing ApexSQL Restore on Windows XP, the installation process might prompt for a missing installation package, as shown:



The reason for this is that in Windows XP, the installer for Microsoft Visual C++ Redistributable, a component necessary for ApexSQL Restore to function, could have a problem locating the vc_red.msi file

Quick tip:
Please, do not skip any files during the installation process. Doing so might prevent ApexSQLRestore from functioning correctly
To continue with the installation of ApexSQL Restore:
  1. Do not close the installation dialog
  2. Navigate to the folder C:\Program Files\ApexSQL\ApexSQLRestore2012\
  3. Locate the file vcredist_x86.exe and extract it in a separate folder using any available third-party tool
  4. Click Browse... in the Windows installer prompt
  5. Navigate to the folder where vcredist_x86.exewas extracted, select the vc_red.msi file and click Open
  6. Click OK

Quick tip:
Before installing ApexSQL Restore:
  • Make sure that your computer meets the system requirements
  • Install ApexSQL Restore using a Windows XP administrator account. For more information, see Types of user accounts

See also:

Labels:

...


When to use ApexSQL Restore

ApexSQL Restore can attach native or natively compressed backups and backup sets created in SQL Server 2000 and above to any edition of SQL Server 2005 and above, including full and differential database backups as well as transaction log backups

As such, ApexSQL Restore is very useful, among others, in the following scenarios:

  • To recover from inadvertent or malicious changes
    Attach the backup set containing the original data or objects. This is faster than a full physical restore, takes up less space but provides the same access to objects and data in questions. Once the backup is attached, simply copy the affected data or objects to the original database while ensuring that the backup file itself will remain untouched

  • To verify backups
    Mount your backup as a live database to fully confirm the backup integrity including the integrity of the objects and the data stored in the backup file itself. Virtual databases behave just like regular ones, so it’s even possible to run DBCC CHECKDB to verify their validity

  • To performance tune a production databases
    Attach a backup of a large production database to performance tune it without introducing any additional overhead and degrading its performance. All changes made on the virtual database will have the same effect when moved back into production

  • To provide concurrent database access in test and development environments
    Eliminate the need for each developer and tester to have a local copy of a database by providing them access to the attached backup. This preserves not only the time and space otherwise wasted on a full restore – it ensure that each team member will have the access to the same database as although read and write operations are fully supported, the backup itself will be unaffected by any made changes

  • In a continuous integration environment 
    Simply reattach the virtual databases listed in History and deploy the latest upgrade SQL scripts against them instead of performing a full restore of the test databases each time a new version needs to be tested or rolled out

  • To speed up reporting 
    Attach a full backup of a busy production database to be used as a reporting data source thus avoiding any performance impact on the production database while cutting down on the time the disk space needed for a full restore

Labels:

...


How to use ApexSQL Restore

ApexSQL Restore can attach native or natively compressed backups and backup sets created in SQL Server 2000 and above to any edition of SQL Server 2005 and above, including full and differential database backups as well as transaction log backups

Quick tip:
Please note that due to SQL Server limitations you cannot:
  • Attach a backup set created on a newer SQL Server version (e.g. SQL Server 2012) to an older SQL Server version (e.g. SQL Server 2005)
  • Attach a backup set created on SQL Server 2000 to SQL Server 2012


Quick tip:
The minimum permissions required to use ApexSQL Restore are:
                •   Public role membership and 
                •   CREATE DATABASE on the SQL instance the backup set is being attached to 
The name of the virtual database doesn’t have to correspond to the name of the actual database the attached backup set was taken from. However, it does have to conform to the SQL Server database naming standards and needs to differ from the names of any other attached physical or virtual database on the SQL instance 

Detached backup sets are listed under the History section and can be re-attached in single click. Please note that reattaching a detached backup set by clicking the Re-attach virtual database command will result in the backup set being attached with the same settings

For example, if you’ve attached and afterwards detached a full database backup, a differential database backup and the first subsequent transaction log backup from a backup set which contains three additional transaction log backups, clicking the Re-attach virtual database command will result in those same backups being attached and the same restore path being used; if you want to attach a different backup configuration form the same backup set you’ll need to use the Add virtual database command (i.e. create a new virtual database)

Labels:

...


How does ApexSQL Restore work

ApexSQL Restore can attach native or natively compressed backups and backup sets created in SQL Server 2000 and above to any edition of SQL Server 2005 and above, including full and differential database backups as well as transaction log backups

ApexSQL Restore uses the ApexSQL Restore Service which starts automatically on Windows startup. This service encapsulates the backup restoring capabilities of the SQL Server itself using proprietary algorithms to reduce the physical size of the restored backup up to 125 times and makes the restore process up to 25 times faster in some cases


Quick tip:
The ApexSQL Restore Service has some, albeit rather minimal, impact on the overall system performance. Please note that changing that behavior, although possible, isn’t advised. If the service isn’t running, the tool won’t function properly and the data stored in the mounted virtual databases will be inaccessible. However, all operations affecting the objects stored in the attached backup sets, including the creation new objects will work without problems in that scenario
The entire process is transparent to the user as the backup set will be attached as a fully usable online database, which is accessible via SQL Server Management Studio, Visual Studio or any third-party tool; in a way this is an equivalent of restoring the backup set with the WITH RECOVERY option


Quick tip:
Please note that although the data and the objects stored in an attached backup set can be manipulated just as if they were stored in a live database (i.e. can be read, changed and even deleted), any changes made will not be preserved in the backup set itself

Upon attaching a backup set, ApexSQL Restore creates files whose names correspond to the names of the physical .MDF, .LDF and .NDF files of the database the backup set was taken from. Those files, located in the specified restore path take only the fraction of the space the original files take


Quick tip:
The restore path of a selected, previously attached backup set is displayed under the Restore path label in the main window of ApexSQL Restore

Labels:

...


Attaching a FileStream backup on Windows XP

When restoring a backup of a FileStream database using ApexSQL Restore on Windows XP, the following error is shown:

Unable to open the physical file "c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\FileStreamTSCDB321". Operating system error -2147024891: "0x80070005(Access is denied.)"

This problem is specific to restoring FileStream database backups on Windows XP, regardless of the method used – via SSMS, ApexSQL Restore, the T-SQL RESTORE statement, or any other third-party tool

To solve the problem, use this Microsoft Windows XP hotfix: Service cannot access the \?? namespace in Windows XP

After the aforementioned hotfix is applied, FileStream database backups can be restored on a Windows XP machine seamlessly, using any restore method – including ApexSQL Restore

See also:
Operating system error -2147024891: "0x80070005(Access is denied.)"
Service cannot access the \?? namespace in Windows XP

Labels:

...


How to attach a full database backup using ApexSQL Restore

To attach a full database backup using ApexSQL Restore:

  1. Start ApexSQL Restore
  2. If there aren’t any attached backups present click the Click here to create your first restore from backup link; otherwise click the Add a virtual database button
  3. In the Restore a backup dialog that will appear provide:
    1. The name of the SQL Server instance the backup will be attached to
    2. The preferred authentication method; to use SQL Server authentication a set of valid SQL Server credentials needs to be
      provided

      Quick tip:
      Regardless of the authentication method, the account used to authenticate to the SQL instance needs to have the CREATE DATABASE permission over that instance
    3. The name of the database the backup will be virtually restored to
  4. Click Next
  5. To specify the backup to be attached click Add file(s)…, navigate to the backup file and click Open
  6. Review the backup properties and select the appropriate checkbox
  7. To attach a different file click Remove file and repeat the process described in step 5.
  8. To specify a non-default restore path click Advanced >> and specify the patch
  9. Click Finish to attach the backup

Labels:

...


How to restore to a point in time using ApexSQL Restore

To restore to a point in time using ApexSQL Restore:
  1. Start ApexSQL Restore
  2. If there aren’t any attached backups present click the Click here to create your first restore from backup link; otherwise click the Add a virtual database button
  3. In the Restore a backup dialog that will appear provide:
           1. The name of the SQL Server instance the backup will be attached to
           2.The preferred authentication method; to use SQL Server authentication a set of valid set of SQL Server credentials needs to be provided
Quick tip:

Regardless of the authentication method, the account used to authenticate to the SQL instance needs to have the CREATE DATABASE permission over that instance  
           3.The name of the database the backup will be virtually restored to

    4.Click Next
    5.To specify the backup set to be attached click Add file(s)… , navigate to the backup files and click Open
    6. Review the backup properties and select the full database backup, followed by differential database backups (if they exist) and a sequence of transaction log backups up to a point in time the backup set is to be restored to
   7. To specify a non-default restore path click Advanced >> and specify the patch
   8. Click Finish to attach the backup

Labels:

...


How to use ApexSQL Script to deploy a database as a .Net executable

See how to script both structure and data for a database, and how to compile it into a .Net executable

The good news about the executable is that it can be executed even on the workstations without the SQL Server client tools installed


    1. Run ApexSQL Script
    2. Connect to a SQL Server instance
    3. Select a database and click Open




    4. Select the objects to script on the Structure tab




    5. On the Data tab, select the tables in views of which you want to script the data




    6. On the Home tab, in the Actions group, click Script wizard

    7. Select Structure and data in the Scripting mode drop-down list
    8. Select .NET executable in the Output type drop-down list



    9. Click Next

    10. Select the Include dependent database objects option to avoid constraint problems



    11. Click Next

    12. Select the options for the executable file

          a) Check Run executable now to execute the created exe file immediately after it’s been created
          b) Specify the database name, MDF and LDF file directories, collation, recovery model, and size



    13. Click Create

    14. Specify the file name and the patch for the created file
          The executable file is started as soon as it’s created



    15. Select Create new database, specify the database name to create a new database, and run the file against it

    16. To specify what to do when an error is encountered, click Options and select the Error handling tab



    17. Specify the database MDF and LDF file directories, collation, recovery model, and size on the Database properties tab







Last updated
April 7, 2013

Labels:

...


Recovering a corrupted database

Your database crashed and you've lost the LDF file. The MDF file is still there, but it’s corrupted and cannot be attached to the SQL server

How to recover the database from the corrupted MDF file?
  1. Open ApexSQL Recover
  2. Select the Recover from a corrupted database or a detached MDF file recovery option


  3. Select a SQL Server instance:


  4. Specify that there isn't an older, online database available. Select No, only a backup or a detached MDF file is available:


  5. Add the detached MDF database file


  6. Specify the SQL Server version of the corrupted MDF file. If you’re not sure, leave Unknown


  7. Specify the path for the recovery script


  8. Click Recover
  9. Open the generated recovery script and review its contents to verify it contains the required data:


  10. Execute the script


Last updated
20 November 2012

Labels:

...


How to synchronize data between databases with different settings

Description
The behavior of DATETIME or SMALLDATETIME types of data can be influenced by the client, server, and/or the operating system settings. This KB article describes how to use ApexSQL Data Diff in situations where these settings must be considered

Solution
To illustrate, three databases located in three different countries will be used. The goal is to synchronize the data between any two of these databases. The main database is hosted on a SQL Server instance with the US English settings; the other two databases with the French and German settings

The script below creates three databases: General, French, and German. Each database contains one table named T. The table T contains only one DATETIME column named TheDate

CREATE DATABASE GENERAL
COLLATE LATIN1_GENERAL_CI_AI
GO
CREATE DATABASE FRENCH
COLLATE FRENCH_CS_AI
GO
CREATE DATABASE GERMAN
COLLATE GERMAN_PHONEBOOK_CS_AI
GO
USE GENERAL
CREATE TABLE T
(
 THEDATE DATETIME
)
GO

USE FRENCH
CREATE TABLE T
(
 THEDATE DATETIME
)
GO

USE GERMAN
CREATE TABLE T
(
 THEDATE DATETIME
)
GO

Common problems with temporal data when working in international environments


USA, France, and Germany all use a different date format. To illustrate what happens when data is inserted into the databases above, the Set language command is used

To insert data into the General database using the French date format DD/MM/YYYY, the script below is executed:

USE GENERAL
SET LANGUAGE ENGLISH
INSERT INTO T VALUES('23/08/2007')

CHANGED LANGUAGE SETTING TO US_ENGLISH.
MSG 242, LEVEL 16, STATE 3, LINE 3

THE CONVERSION OF A CHAR DATA TYPE TO A DATETIME DATA TYPE RESULTED IN AN OUT-OF-RANGE
 DATETIME VALUE.

THE STATEMENT HAS BEEN TERMINATED.

Due to the difference in language settings, the insertion fails. SQL Server cannot resolve the string '23/08/2007' to a valid date format

To insert the same data into the German database, the following script is executed:

USE GERMAN
SET LANGUAGE GERMAN
INSERT INTO T VALUES('23/08/2007')

DIE SPRACHENEINSTELLUNG WURDE AUF DEUTSCH GEäNDERT.


(1 ROW(S) AFFECTED)


The data is inserted successfully. The same thing is done with the French database using the script below:

USE FRENCH
SET LANGUAGE FRENCH
INSERT INTO T VALUES('23/08/2007')

LE PARAMèTRE DE LANGUE EST PASSé à FRANçAIS.


(1 ROW(S) AFFECTED)



The insertion into the French database is successful as well. The results would be the same if there were an attempt to insert data with the German date format DD.MM.YYYY into the three sample databases; the insertion would fail on the General database whereas it'd be successful on the other two

On the other hand, if there was an attempt to insert data that's in the US date format MM/DD/YYYY into all three databases, only the insertion into the General database would be successful
The two other INSERT statements cannot be committed successfully and would raise a conversion error

Using the SQL Server's CONVERT statement to apply the correct date format style before performing the insertion, resolves these insertion errors. In the next section, you’ll see how to synchronize temporal data in international environments that are similar to the given example by using ApexSQL Data Diff and without the additional "conversion" step

Using ApexSQL Data Diff to synchronize temporal data when working in international environments

Example 1:
In this example, the French database has one row that's not in the General database. To synchronize the General database with the French database, ApexSQL Data Diff generates the synchronization script below:

USE GENERAL
SET LANGUAGE ENGLISH
SET IDENTITY_INSERT [DBO].[T] ON
INSERT INTO [DBO].[T] ([ID], [THEDATE]) VALUES (1, '20070823 00:00:00.000')
SET IDENTITY_INSERT [DBO].[T] OFF

CHANGED LANGUAGE SETTING TO US_ENGLISH.


(1 ROW(S) AFFECTED)


Example 2:
In this example, the German database has one row that's not in the French database. To synchronize the French database with the German database, ApexSQL Data Diff generates the following synchronization script:

USE FRENCH
SET LANGUAGE FRENCH
SET IDENTITY_INSERT [DBO].[T] ON
INSERT INTO [DBO].[T] ([ID], [THEDATE]) VALUES (1, '20070823 00:00:00.000')
SET IDENTITY_INSERT [DBO].[T] OFF

LE PARAMèTRE DE LANGUE EST PASSé à FRANçAIS.


(1 ROW(S) AFFECTED)


Example 3:
In this example, the General database has one row that's not in the German database. To synchronize the German database with the General database, ApexSQL Data Diff generates the following synchronization script:

USE GERMAN
SET LANGUAGE GERMAN
SET IDENTITY_INSERT [DBO].[T] ON
INSERT INTO [DBO].[T] ([ID], [THEDATE]) VALUES (1, '20070823 00:00:00.000')
SET IDENTITY_INSERT [DBO].[T] OFF

DIE SPRACHENEINSTELLUNG WURDE AUF DEUTSCH GEäNDERT.


(1 ROW(S) AFFECTED)


All of the scripts shown above complete successfully. By default, ApexSQL Data Diff uses the language-neutral date format settings. This default setting can be modified in the Project dialog window by selecting Options in the left pane, and then locating Apply date format under Database configuration in the main dialog window

The "Apply date format" option uses the non-separated date format by default:




The most commonly used formats are also readily available:



To add a format that's not in the list or to use one that already is, check "Apply date format", select (or enter) the desired format, and click the Save as my defaults button. The selected format will then be used by ApexSQL Data Diff on all (SMALL)DATETIME data type columns encountered during the scripting process

For example, if the US date format is used:






The script output would be:

SET IDENTITY_INSERT [DBO].[T] ON
INSERT INTO [DBO].[T] ([ID], [THEDATE]) VALUES (1, '08/23/2007 00:00:00.000')
SET IDENTITY_INSERT [DBO].[T] OFF



Last updated
April 7, 2013

    Labels:

    ...


    Configuring ApexSQL Diff to work with source control data sources

    Summary
    This article explains how to configure ApexSQL Diff to work with source control data sources (how to set a source control data source and how to export a live database to a source control repository)

    Description
    In ApexSQL Diff, you are accessing the source control data sources exclusively through the Source control wizard. There are 2 cases when the wizard is used

    a) When you want to export a live database to some source control repositories:
    From the Home tab, in the Exports group, select Export data source
    The Export data source dialog will pop up

    Then, select a database to export


            And click OK in the Export data source dialog
             


              See the Source control wizard part of this document for more information

              b) When you want to set a source control repository as a comparison/synchronization data source
              Open the Project settings dialog, and set the Data source type to Source control




                Click the Edit button to open the Source control wizard...

                The Source control wizard





                  The Source control wizard is a tree view dialog with the following steps:

                  1. Source control type selection
                  2. Source control login
                  3. Advanced (Configure mappings)

                  1. Source control type selection
                  Here you need to select between different drivers, as in the image, based on the installed source control software:


                    In this step, you will define the way of accessing the Source control system
                    You can access the Source control by:

                    a) Native source control systems (via the drivers developed by ApexSQL for the easy and straightforward way of accessing source control systems)

                    The advantage of this choice is that you don’t need to install a source control client, on the same machine that is running ApexSQL Diff, because native drivers are shipped along with the application

                    b) MSSCCI-compliant source control systems (via the drivers of the MSSCCI-compliant source control client installed on your machine)

                    The limitation of this choice is that you must have an appropriate source control client installed (3rd party or the one shipped with the source control installation), on the same machine where ApexSQL Diff is installed
                    The advantage of this choice is that you can use any source control system from ApexSQL Diff that is MSSCCI-compliant

                    2. Source control login
                    In order to connect to a source control project, you need to login first
                    Here's how the login forms may look in case of:

                    Subversion


                      The meaning of the fields:
                      User and Password are the user credentials for accessing the Microsoft Visual SourceSafe server 
                      Repository URL represents the path to a Subversion repository
                      Project is a project you made within your Subversion database
                      Working folder is a folder on your hard disk you have chosen for your temporary storage

                      SourceGear Vault:

                          The meaning of the fields:
                          User and Password are the user credentials for accessing the Microsoft Visual SourceSafe server
                          Vault Server is a resource locator path to a Vault Server
                          Repository is a repository name located in a Vault Server
                          Project is a project name in the repository of a Vault Server
                          Working folder is a temporary folder on your hard disk

                          Microsoft Visual SourceSafe


                            The meaning of the fields:
                            User and Password are the user credentials for accessing the Microsoft Visual SourceSafe server
                            Database represents the path to a Microsoft Visual SourceSafe repository. It has the form Hostname/Repository, where "Hostname" is the name of a Server machine on which the Microsoft Visual SourceSafe server is installed; this name should be pingable from the network and it may be either a NET bios name or a DNS name. "Repository" is a network share name from the host machine
                            Project is a project name you made within your Microsoft Visual SourceSafe database (here within the production database)
                            Working folder is a folder on your hard disk you have chosen to be your Microsoft Visual SourceSafe stub

                            3. Advanced (Configure mappings)
                            The purpose of the file and folder mapping options is to define the way the objects from your database will be exported/mapped to a source control project
                            Here is an example of the mappings: 




                              Last updated 
                              April 7, 2013

                              Labels:

                              ...


                              ApexSQL Search - Introduction

                              ApexSQL Search is a free SQL search add-in for SSMS and Visual Studio. It offers text search in SQL database objects and data, allows safe renaming of SQL objects, and graphical visualization of object interdependencies

                              With ApexSQL Search you can: 
                              • Search for text within database objects (including object names) using Object search
                              • Search for data stored in tables and views (even encrypted ones) using Text search
                              • Repeat previous searches in a single click using Search history
                              • Visualize (and print) all objects’ relationships using the Dependency viewer
                              • Change the name and schema of tables, views, stored procedures, functions, columns and parameters without breaking your databases with the Smart rename refactor
                              • Visually edit SQL objects’ extended properties via the Extended property editor feature
                              • Easily navigate between multiple SSMS query editor tabs as they are automatically renamed to reflect their contents

                              See also

                              ApexSQL Search - Search phrases, history and results
                              ApexSQL Search - Object Search
                              ApexSQL Search - Text search
                              ApexSQL Search - Dependency viewer
                              ApexSQL Search - Smart rename
                              System requirements

                              Last updated

                              October 07, 2012

                              Labels:

                              ...