Troubleshooting ACT Setup
Applies To: Windows 7, Windows Vista
There are several known errors that can occur when configuring and using the Application Compatibility Toolkit (ACT). This topic can help you troubleshoot errors related to the following:
Configuring the Microsoft® SQL Server® database for use with the ACT and the ACT Log Processing Service.
Receiving correct share-level and folder-level permissions for the ACT Log.
Receiving the proper ACT Log Processing Service rights.
Recommended ACT Database Configuration and Modifications
There are several known errors that can occur when configuring the Microsoft® SQL Server® database to use with the Application Compatibility Toolkit (ACT) and the ACT Log Processing Service. ACT uses the Microsoft SQL Server database for storing and sharing compatibility issue data. If you do not use Microsoft SQL Server, you can download and install Microsoft SQL Server Express to run on your local computer.
For general information about creating Microsoft SQL Server databases, see Administering the Database Engine on MSDN.
Creating the ACT database
You can create the ACT database, by using one of the following options:
While you are configuring ACT, you can use the Application Compatibility Tool Configuration Wizard to create a new database.
You can run the CreateDB.sql file. Refer to the following table for the location of the CreateDB.sql file, based on your operating system:
|Operating system||Location of the CreateDB.sql file|
Windows® 7 operating system
Windows Vista® operating system
%SYSTEMDRIVE% \Users\All Users\Microsoft\Application Compatibility Toolkit 5\CreateDB.sql
%SYSTEMDRIVE% \programdata\Microsoft\Application Compatibility Toolkit 5\CreateDB.sql
Windows Server® 2003 with Service Pack 1 (SP1)
Windows® 2000 with Update Rollup 1 for Service Pack 4(SP4)
Windows XP with Service Pack 2 (SP2)
%SYSTEMDRIVE% \Documents and Settings\All Users\Application Data\Microsoft\Application Compatibility Toolkit 5\CreateDB.sql
ACT Database Role Assignments
You must assign the following database roles to the specified accounts.
You must assign the db_datareader, db_datawriter, and db_owner database roles to the user and local service accounts that will be used to run the ACT Log Processing Service.
You must assign the db_datareader and db_datawriter database roles to the user account that will log on to the computer running the Application Compatibility Manager.
You must grant the following explicit permissions to each specific user on the ACT database. Without these permissions, the Application Compatibility Toolkit will fail to function for that user.
Additional ACT Database Recommendations
We also recommend that you make the following changes to the database as part of your deployment planning:
Create a larger database, including a larger log file–size setting, and then set the growth increments appropriately. If you create a database with the default setting for data storage, then the data portion of the database will have an initial size of 1 megabyte (MB), and a growth increment of 1 MB. If you create a database with the default setting for the log file storage, then the log file portion of the database will have an initial size of 1 MB and a growth increment of 10 percent. We recommend that you try to maintain a data-to-log file ratio of 5:1 or 4:1. For example, if your data portion is 5 gigabytes (GB), then your log file portion should be 1 GB.
Change the recovery model of your database. The default recovery model is Full, but we recommend that you change this model setting to Simple.
Separate the hard drives on which you store your data portion and log file portion. The default, unless altered by your SQL Administrator, is for both the data and log files to be stored on the same hard drive. Separating the data from the log files will reduce disk I/O contention.
SQL Server Database Related Issues
The following sections discuss some of the common errors you may encounter while configuring and accessing your SQL Server database.
Invalid SQL Server Message
If you attempt to connect to a SQL Server database that is not valid, you will receive the following error message:
The SQL Server you entered either does not exist or you do not have the required credentials for access.
To correct this error, you must verify the following:
That you are connecting to a valid SQL Server database.
That you have both read and write permissions for the database. If you do not have read and write permissions to the database, contact your SQL Server administrator.
For more information, see the Adding a Member to a SQL Server Database Role topic on MSDN.
SQL Server Version Is Not Valid
If you attempt to connect to an invalid SQL Server version, you will receive the following error message:
"The SQL Server you are trying to connect to is not a supported version. Please check the Help documentation to find out about the supported versions of the SQL Server."
To correct this error, you must verify that ACT supports your version of SQL Server or SQL Server Express. For more information, see Software and Hardware Requirements for ACT 5.6.
Unable To Connect To SQL Server Database
If you are experiencing issues connecting to your SQL Server database, you can try the following steps based on your SQL Server database management version.
To attempt to remedy your SQL Server database connection issues
Stop your SQL Server instance by typing the following in a Command Prompt window:
C:\>net stop <MSSQLSERVER>
Where MSSQLSERVER is the name of your SQL Server instance. The default name for SQL Server is MSSQLSERVER, while the default name for the SQL Server Express Edition is MSSQL$SQLEXPRESS.
Enable the TCP/IP protocol for your SQL Server instance:
The SQL Server Configuration Manager tool appears.
From the SQL Server Configuration Manager, expand SQL Server 2005 Network Configuration, and then click Protocols for MSSQLSERVER.
The associated protocols appear.
Right-click TCP/IP, and then click Enable.
The TCP/IP protocols are enabled.
Add firewall port exceptions for your SQL Server instance:
Type C:\>firewall.cpl. The Windows Firewall tool appears.
In the Windows Firewall tool, select the Exceptions tab, and then click Add Port. The Add a Port dialog box appears.
Add a firewall exception for TCP port 1433 (SQL Server) and for UDP port 1434 (SQL Browser), and then click OK.
The SQL Browser is the service that receives incoming SQL requests, allowing you to access the Microsoft SQL Server Express Edition database from a remote computer. By default, this service is disabled, which means you can only access the database locally. If the Application Compatibility Manager or ACT Log Processing Service is not installed on the same computer as the database, the user will be required to manually start the SQL Browser from the Services tool.
Type C:\>net start MSSQLSERVER to start your SQL Server instance.
Type C:\>sc config SQLBrowser start= auto to change the configuration of your SQL Browser.
Type C:\>net start SQLBrowser to start your SQL Browser.
Invalid Permissions and Database Creation Issue
You will receive an error if you attempt to create an ACT database using the Application Compatibility Manager or the ACT Configuration Wizard and do not have database creation permissions for the in-use instance of SQL Server. You can either get the required permissions to the user account, or you can ask your SQL Server administrator to create the database.
If you use a user account to create the database, you must also assign it the role of SQL Server administrator.
To manually grant permissions to a user account
In the Microsoft SQL Server Management Studio, expand the Security folder, right-click Logins, and click New Logins. The Login - New dialog box appears.
On the General page, type the name of the user account used to create the ACT database.
Click Server Roles.
The Server Roles page appears.
Select the check box next to either sysadmin or dbcreator, granting the appropriate security privileges to the user account, depending on your company policies.
To create an ACT database as a SQL administrator
With the SQL query tool, open the CreateDB.SQL file located as specified in the "Recommended ACT Database Configuration and Modifications" section earlier in this topic.
Optionally, search for the text, ACT56, and replace that text with the name of your new ACT database.
You are not required to change the database name from ACT56.
Run the CreateDB.SQL script against your target SQL Server by using SQL Server Management Studio, or by using the OSQL tool, running this command:
osql -E -S <serverName> -I CreateDB.sql
On the taskbar, click Start, point to All Programs, point to Microsoft Application Compatibility Toolkit 5.6, and then click Application Compatibility Manager.
Click Tools, and then click Settings.
The Settings dialog box appears.
Modify the Database field to reflect your new database, and then use the Application Compatibility Manager to create your data collection packages and to view your compatibility reports.
Your user account must have read and write permissions to the ACT database to view the ACT reports and to use the Application Compatibility Manager.
Verifying Your ACT Database Permissions for the ACT Log Processing Service
The ACT Log Processing Service also requires read and write access to the ACT database.
To grant permissions to the ACT database
From the SQL Server Management Studio, expand the Security folder, right-click Logins, and click New Logins.
The Login - New dialog box appears.
Complete the following information from the General page:
Login name. Type the name of the account for which you require permissions. If you are using the Local System account for the ACT Log Processing Service, you must provide access to the <domain>\<computer_name>$ account, where <computer_name> is the name of the computer running the ACT Log Processing Service.
Default database. Select the ACT database that your user account requires permissions to.
Click User Mapping.
The User Mapping page appears.
Select the check box next to your ACT database, defined above.
The database role membership appears.
Select the check boxes next to db_datareader and db_datawriter, and then click OK.
The user account has read and write permissions to the ACT database. This enables database modification.
If you continue to experience issues with the ACT Log Processing Service, even while using the Local System account, see the Troubleshooting Kerberos Delegation article on MSDN.
Verifying Your ACT Log Share Permissions
You must have two sets of permissions configured for the ACT Log Processing Service share:
Permission for the data collection packages that run on your local computers to upload the log files to the ACT Log Processing Service share.
Permission for the ACT Log Processing Service to process the data provided from the share to the ACT client database.
The ACT Configuration Wizard automatically sets these permissions.
If you are having trouble writing to the ACT Log Processing Service share or processing the log files from the ACT Log Processing Service share, you must verify that you have the correct permissions at both the share level and the folder level.
Share Level Permissions
You must verify that the Everyone group has Change and Read permissions for the ACT Log Processing Service share folder.
To verify or to change the share-level permissions
Right-click the ACT Log Processing Service share folder, and then click Properties.
Click the Sharing tab, share the folder, and then click Permissions.
Add the Everyone group if it is not already there, and then click the Change and Read permission check boxes in the Allow column.
Folder-Level Permissions (NTFS Only)
You must verify the following permissions:
The Everyone group has Write access.
The ACT Log Processing Service account has List Folder Contents, Read, and Write permissions based on the type of account you are using:
Local System Account. You must apply these permissions to the <domain_name>\<machine_name> $ account.
User Account. You must apply these permissions to the specific user.
To verify or to change the folder-level permissions
Right-click the ACT Log Processing Service share folder, and then click Properties.
Click the Security tab, add the ACT Log Processing Service share account, and then click the List Folder Contents, Read, and Write permission check boxes in the Allow column.
Add the Everyone group, if it is not already there, and then click the Write permission check box in the Allow column.
Additional Troubleshooting Notes
If you are still having issues with uploading your log files to the ACT Log Processing Service share, you can try these additional troubleshooting tips:
- If you are going across different domains for the computers running your data collection packages and the ACT Log Processing Service share, you must provide explicit Write permissions for the Anonymous group to the ACT Log Processing Service share. You must also provide these permissions if you are uploading data from a non-domain joined computer.
For more information, see Everyone Group Does Not Include Anonymous Security Identifier.
- If you are running your data collection packages on computers using Windows 2000, and uploading your collected data to an ACT Log Processing Service share located in a different domain, in addition to the tip above, you must also explicitly enable null session access for the ACT Log Processing Service share.
By enabling the null session access for the ACT Log Processing Service share, you are also enabling Anonymous access. As an alternative to enabling Anonymous access, you can provide similar permissions to the Authenticated users group.
ACT Log Share and Windows Firewall
If your organization has Windows Firewall configured on the computer with your ACT Log Share, your data collection packages will be unable to copy your log files to your share. This prevents you from seeing your compatibility data in the Application Compatibility Manager.
To work around this issue, you can either:
Turn off your Windows Firewall completely before setting up your ACT Log Processing Share.
Continue using your Windows Firewall, but enable the File Sharing option.
Miscellaneous ACT Log Processing Service Issues
The following sections provide details about some of the other issues that can occur with the ACT Log Processing Service.
Reviewing Files in ACT Log File Format
When you are reviewing log files for ACT, be aware that the log files are in Unicode format.
Viewing and Assigning "Log On as a Service" Rights
The Application Compatibility Toolkit (ACT) uses the ACT Log Processing Service to process your ACT log files and any communication from your compatibility evaluators. Starting the ACT Log Processing Service requires either a Local System or user account. If using a user account, the <domain>\<user> must have Log on as a service logon rights. Otherwise, the account will be unable to start the ACT Log Processing Service and complete the ACT Configuration Wizard.
Built-in computer accounts, such as the Local System account, have this right assigned by default.
If the ACT attempts to perform the assignment and does not succeed, we recommend trying the following process.
To view and to assign logon rights
In Control Panel, double-click Administrative Tools, and then double-click Local Security Policy.
The Local Security Settings window opens.
Expand the Local Policies folder, and then click User Rights Assignment. Policies and their associated security settings are displayed.
Double-click the Log on as a service policy.
The Log on as a service Properties dialog box appears.
Verify that your <domain>\<user> account appears. If it does not appear, click Add User or Group.
The Select Users or Groups dialog box appears.
Add your user account information, click OK, and then click OK again to close the Log on as a service Properties dialog box.
ACT Log Processing Service Fails to Start
If your ACT Log Processing Service is not starting and your logs are not being processed, it might be due to:
A conflict between ACT and your SQL Server database. If both ACT and your SQL Server database exist on the same computer, it is possible that the log processing service started before your SQL Server service.
The ACT Log Processing Service does not have the right permissions to access and write to the ACT database. Refer to the "Verifying Your ACT Database Permissions for the ACT Log Processing Service" section earlier in this topic more information about how to set these permissions
The ACT Log Processing Service account must be an Administrator account.
To manually restart the ACT Log Processing Service
In Control Panel, double-click Administrative Tools, and then double-click Services.
The Services window opens.
Right-click ACT Log Processing Service, and then click Restart.
The ACT Log Processing Service starts.
From your event log, verify that the service did not generate issues while starting.