.gif)
SQL Server
Technical Article
Writers: KarlDehmer, Peter Saddow
Technical Reviewers: Peter Saddow, Russell Green, Devendra
Tiwari and Arun Sundaram
Published: August 2009
Applies to: SQL Server 2008
Summary: This white paper is intended for
developers who are responsible for designing and developing the setup and
installation components for custom applications that embed Microsoft SQL Server
2008 Express. This document includes:
- How
to determine which edition of Express to install
- How
to verify existing SQL Server installations and instances
- How
to handle exit codes and rules
- How
to navigate and use the log files
The use of the
Microsoft® SQL Server® data management software for both business and personal
applications continues to flourish. These applications are heavily ingrained in
our daily lives and are providing increasingly more sophisticated information,
which results in a greater need for supporting database technology. Microsoft
SQL Server 2008 Express is a robust, freely distributable relational database
management system. Express includes SQL Server Management Studio Basic. You can
use SQL Server 2008 Express as a:
- Local
data store
- Embedded
database in an application
- Lightweight
database server
When
integrated with Microsoft Visual Studio® 2008 SP1, SQL Server 2008 Express
helps facilitate the design and development of database applications.
You have a
choice of four different editions of SQL Server 2008 Express. Your application
requirements will determine which edition you need. The following table lists
each edition and the features it includes.
Table 1: SQL Server 2008 Express editions
These four SQL
Server 2008 editions include the following functionality and capabilities.
- SQL
Server Database Engine – for creating, storing, updating, and retrieving data
- SQL
Server Management Studio Basic – a visual database management tool for
creating, editing and managing databases
- SQL
Server Database Engine - for creating, storing, updating, and retrieving data
- SQL
Server Management Studio Basic – a visual database management tool for
creating, editing and managing databases
- Full-Text
Search – a powerful, high-speed engine for searching text-intensive data
- Reporting
Services – an integrated design environment for creating reports
SQL Server Database
Engine - for creating, storing, updating, and retrieving data
- Free
graphical management tool for configuring, managing, and administering SQL
Server 2008 Express applications
- Also
use for managing multiple instances of the SQL Server Database Engine created
by any edition of SQL Server 2008, including Workgroup, Web, Standard, and
Enterprise editions
Note: This separate download is for
customers who have previously installed SQL Server 2008 Express (Runtime Only).
For new installations of SQL Server 2008 Express and SQL Server Management
Studio Express, download the SQL Server 2008 Express with Tools from the SQL
Server Installation Wizard.
For more
information about SQL Server 2008 Express, go to the SQL Server 2008 Express Web site
(http://www.microsoft.com/sqlserver/2008/en/us/express.aspx).
To download
SQL Server 2008 Express, go to the SQL Server 2008 Express download page
(http://www.microsoft.com/express/sql/download/).
Before
installing SQL Server 2008 Express on a computer, you need to determine whether
prior versions of SQL Server or instances of SQL Server already exist. If prior
versions exist, you need to decide whether to upgrade the existing instance or
install a new instance.
The
recommended and officially supported way to detect other versions of SQL
Server, or SQL server instances on a computer, is by using the SQL Server Windows®
Management Instrumentation (WMI) provider. Although other detection methods
exist, this white paper uses the SQL Server WMI provider for SQL Server 2008
and SQL Server 2005. Other methods, such as using the registry for detecting
instances, are not recommended.
Note: The SQL Server WMI provider can only
detect instances of SQL Server 2005 and later.
The following
code sample uses the WMI provider for SQL Server 2008 to detect all SQL Server
2008 and SQL Server 2005 instances. For every instance detected, the code will
list the edition and version of each instance in the results. The sample
illustrates how to obtain the list of instance names.
C# Example
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
namespace ExpressDetection
{
class Program
{
static void Main(string[] args)
{
if (!EnumerateSQLInstances())
{
Console.WriteLine("There are no instances of SQL Server 2005 or SQL Server 2008 installed");
}
}
/// <summary>
/// Enumerates all SQL Server instances on the machine.
/// </summary>
/// <returns></returns>
public static bool EnumerateSQLInstances()
{
string correctNamespace = GetCorrectWmiNameSpace();
if (string.Equals(correctNamespace, string.Empty))
{
return false;
}
string query = string.Format("select * from SqlServiceAdvancedProperty where SQLServiceType = 1 and PropertyName = 'instanceID'");
ManagementObjectSearcher getSqlEngine = new ManagementObjectSearcher(correctNamespace, query);
if (getSqlEngine.Get().Count == 0)
{
return false;
}
Console.WriteLine("SQL Server database instances discovered :");
string instanceName = string.Empty;
string serviceName = string.Empty;
string version = string.Empty;
string edition = string.Empty;
Console.WriteLine("Instance Name \t ServiceName \t Edition \t Version \t");
foreach (ManagementObject sqlEngine in getSqlEngine.Get())
{
serviceName = sqlEngine["ServiceName"].ToString();
instanceName = GetInstanceNameFromServiceName(serviceName);
version = GetWmiPropertyValueForEngineService(serviceName, correctNamespace, "Version");
edition = GetWmiPropertyValueForEngineService(serviceName, correctNamespace, "SKUNAME");
Console.Write("{0} \t", instanceName);
Console.Write("{0} \t", serviceName);
Console.Write("{0} \t", edition);
Console.WriteLine("{0} \t", version);
}
return true;
}
/// <summary>
/// Method returns the correct SQL namespace to use to detect SQL Server instances.
/// </summary>
/// <returns>namespace to use to detect SQL Server instances</returns>
public static string GetCorrectWmiNameSpace()
{
String wmiNamespaceToUse = "root\\Microsoft\\sqlserver";
List<string> namespaces = new List<string>();
try
{
// Enumerate all WMI instances of
// __namespace WMI class.
ManagementClass nsClass =
new ManagementClass(
new ManagementScope(wmiNamespaceToUse),
new ManagementPath("__namespace"),
null);
foreach (ManagementObject ns in
nsClass.GetInstances())
{
namespaces.Add(ns["Name"].ToString());
}
}
catch (ManagementException e)
{
Console.WriteLine("Exception = " + e.Message);
}
if (namespaces.Count > 0)
{
if (namespaces.Contains("ComputerManagement10"))
{
//use katmai+ namespace
wmiNamespaceToUse = wmiNamespaceToUse + "\\ComputerManagement10";
}
else if (namespaces.Contains("ComputerManagement"))
{
//use yukon namespace
wmiNamespaceToUse = wmiNamespaceToUse + "\\ComputerManagement";
}
else
{
wmiNamespaceToUse = string.Empty;
}
}
else
{
wmiNamespaceToUse = string.Empty;
}
return wmiNamespaceToUse;
}
/// <summary>
/// method extracts the instance name from the service name
/// </summary>
/// <param name="serviceName"></param>
/// <returns></returns>
public static string GetInstanceNameFromServiceName(string serviceName)
{
if (!string.IsNullOrEmpty(serviceName))
{
if (string.Equals(serviceName, "MSSQLSERVER", StringComparison.OrdinalIgnoreCase))
{
return serviceName;
}
else
{
return serviceName.Substring(serviceName.IndexOf('$') + 1, serviceName.Length - serviceName.IndexOf('$')-1);
}
}
else
{
return string.Empty;
}
}
/// <summary>
/// Returns the WMI property value for a given property name for a particular SQL Server service Name
/// </summary>
/// <param name="serviceName">The service name for the SQL Server engine serivce to query for</param>
/// <param name="wmiNamespace">The wmi namespace to connect to </param>
/// <param name="propertyName">The property name whose value is required</param>
/// <returns></returns>
public static string GetWmiPropertyValueForEngineService(string serviceName, string wmiNamespace, string propertyName)
{
string propertyValue = string.Empty;
string query = String.Format("select * from SqlServiceAdvancedProperty where SQLServiceType = 1 and PropertyName = '{0}' and ServiceName = '{1}'", propertyName, serviceName);
ManagementObjectSearcher propertySearcher = new ManagementObjectSearcher(wmiNamespace, query);
foreach (ManagementObject sqlEdition in propertySearcher.Get())
{
propertyValue = sqlEdition["PropertyStrValue"].ToString();
}
return propertyValue;
}
}
}
The screen
shot in Figure 1 reflects the output from the sample code above. The results
list all of the instances detected in addition to the instance edition and
instance version.
.jpg)
Figure 1: Results of detected instances
To detect SQL
Server 2005 instances, use the following namespace: root\Microsoft\SqlServer\ComputerManagement
For more
information about troubleshooting problems with WMI, see Windows Management Instrumentation (http://msdn.microsoft.com/en-us/library/aa394582(VS.85).aspx).
The two SQL
Server 2008 Express installation modes are:
- New
SQL Server 2008 Express installations
- Upgrade
installations
Each
installation mode has its own set of parameters that provide information and
instructions on how to perform the new installation or upgrade. Parameters are
either required or optional.
To
accommodate installing or upgrading large numbers of systems, the SQL Server
2008 Express setup process is fully scriptable. You can run Express with
associated parameters from:
- The
command prompt
- Part
of a command shell script
- Another
program
Regardless of
where you execute a new installation or upgrade, you can run the statement from
one of two places:
- At
the command prompt
- In
a configuration file (ConfigurationFile.ini)
It is
recommended that you ship the Express package extracted on your media and then
launch Setup.exe directly. To extract the Express package, run the following
command.
{Express package} /X:{Directory to extract to}
Even though
both the SQL Server 2008 Express command prompt and the configuration file
installation methods provide similar functionality (that is, they have the same
parameters), their implementation differs. The ConfigurationFile.ini stores the
user input settings for the specific installation (public settings applicable
to the current installation).
You can use
the configuration file to restart the installation using the user settings from
an earlier setup. The only settings not saved in the configuration file are the
passwords for the accounts and the product ID (PID). When necessary, you can
add these parameters through the configuration file, at a command prompt, or
through a user interface prompt.
When
installing new instances or upgrading existing instances of SQL Server at the
command prompt, you can specify the features to install and configure. You can
also specify silent, basic, or full interaction with the setup user interface.
Your installation requirements will determine setup interaction type.
For more
information, see How to: Install SQL Server 2008 from
the Command Prompt
(http://msdn.microsoft.com/en-us/library/ms144259.aspx).
An example of
performing a new installation from the command prompt:
Setup.exe /q /Action=Install /Hideconsole /Features=SQL,Tools
/InstanceName=SQLExpress /SQLSYSADMINACCOUNTS="Builtin\Administrators"
/SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>
In the
preceding example:
- /q
– specifies that Setup run in a quiet mode without any user interface.
- /Action
– specifies which action to perform. In this example, the action is Install.
- /Hideconsole
– specifies that the console window is hidden or closed during the install.
- /Features
– specifies which parent features and features to install. In this example, the
parent feature SQL is installed, which includes SQLEngine, Replication, and
Fulltext components. The Tools feature installs all of the tools components.
- /InstanceName
– specifies a SQL Server instance name.
- /SQLSYSADMINACCOUNTS
–provisions logins to be members of the system administrators role.
- /SQLSVCACCOUNT
– specifies the startup account for the SQL Server service.
- /SQLSVCPASSWORD
– specifies the password for SQLSVCACCOUNT.
The following
table contains the list of parameters that are available to SQL Server 2008
Express, which is a partial list of all of the parameters in SQL Server 2008.
The parameters marked with an X are typical for SQL Server 2008 Express
embedded installations. The parameters with no X are not typically used for
common SQL Server Express installations.
Table 2: Parameters for performing a new
installation of SQL Server 2008 Express
Although an
upgrade from SQL Server 2005 Express is straightforward, there are important
differences between MSDE and SQL Server Express that you must understand before
creating an upgrade plan. For more information about upgrading to SQL Server
2008 Express, see the Ultimate guide for upgrading to
SQL Server 2008
(http://blogs.technet.com/dataplatforminsider/archive/2008/12/04/ultimate-guide-for-upgrading-to-sql-server-2008.aspx)
and refer to Chapter 10, “Upgrading to SQL Server 2008 Express”.
Here’s an
example of performing a basic upgrade:
Setup.exe /q /Hideconsole /ACTION=upgrade /INSTANCENAME=SQLExpress
The following
table contains a list of the input parameters used for upgrading to SQL Server
2008 Express.
Table 3: All parameters for performing an
upgrade
When
installing new instances or upgrading existing instances of SQL Server at the
command prompt, you can specify the features to install and configure. You can
also specify silent, basic, or full interaction with the setup user interface.
Your installation requirements will determine setup interaction type.
Using a
configuration file allows you to store all of the installation or upgrade
parameters in a single, more organized location. This option also provides a
level of encapsulation allowing the standardized use of a single configuration
file or multiple configuration files for more diverse deployment requirements.
The following
configuration file example performs the same functionality as the preceding
command-line installation example in order to better illustrate the differences
between the methods.
Configuration
file example:
;SQLSERVER2008 Configuration File [SQLSERVER2008]
; Setup will not display any user interface.
QUIET="True"
; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.
ACTION="Install"
; Specifies that the console window is hidden or closed.
HIDECONSOLE="True"
; Specifies features to install, uninstall, or upgrade. The list of top-level
features include SQL, AS, RS, IS, and Tools. The SQL feature will install the
Database Engine, replication, and full-text. The Tools feature will install
Management Tools, SQL Server Books Online, Business Intelligence Development Studio, and other
shared components.
FEATURES=SQL, TOOLS
; Specify a default or named instance. MSSQLSERVER is the default instance for non-
Express editions, and SQLExpress is the default instance for Express editions. This parameter is required when
installing the SQL Server Database Engine (SQL), Analysis Services (AS), or Reporting
Services (RS).
INSTANCENAME="SQLEXPRESS"
; Windows account(s) to provision as SQL Server system administrators.
SQLSYSADMINACCOUNTS="Builtin\Administrators"
; Account for SQL Server service: Domain\User or system account.
/SQLSVCACCOUNT="<DomainName\UserName>"
; Specifies the password for SQLSVCACCOUNT
/SQLSVCPASSWORD="<StrongPassword>
Another
example of a configuration file can be found on any computer with SQL Server
2008 Express installed at the default location of C:\Program Files\Microsoft
SQL Server\100\Setup Bootstrap\Log\<timestamp
folder>\ConfigurationFile.ini.
For more
information about using the configuration file, see How to: Install SQL Server 2008 Using
a Configuration File
(http://msdn.microsoft.com/en-us/library/dd239405.aspx).
To ensure a
successful and user-friendly installation, your installation application must
trap and process SQL Server 2008 Express exit codes. These codes allow you to
take corrective action for managing a new installation or upgrade of SQL Server
2008 Express.
Except for
the "Success but Reboot Required" error, if setup returns a nonzero
error code:
- A
rule failed during setup.
- Setup
was unable to handle an installation failure.
If a rule
failed, address the cause for rule failure and restart the setup program. If there
is an unhandled failure, view the log files to understand the cause. For more
information about the log files, see “Understanding the SQL Server Log Files” later
in this paper.
Refer to the following
table for a list of exit codes for common installation failure points. Consider
the list as a core set of codes for the minimum basic checks for an
installation. For a larger list of exit codes in the form of rules, see “Rule
Failures.”
Table 4: Exit Codes Returned by Setup
Rules provide
a greater degree of functionality and control, which allows for a more managed
and polished installation. In addition, rule failures populate the error logs,
which provide detailed information for investigating any installation issues.
Three
categories of rules exist. Each category represents a processing or execution
phase for a typical setup request:
- Global
rules check
- Component
update
- User-requested
action
Each of these
phases generates both a detail and a summary log, which may generate additional
log files when required. User-requested Setup actions call the Setup
application at least three times during a product installation. For more
information, see “Understanding the SQL Server Log Files” later in this paper.
The following
table lists the rule failures you can check during an installation.
Table 5: Rule failures
Many of the
same security considerations for SQL Server 2005 also apply to SQL Server 2008
Express. For more information about these considerations, see Security Considerations for a SQL
Server Installation
(http://msdn.microsoft.com/en-us/library/ms144228.aspx).
Consider the
following security guidelines when embedding and deploying SQL Server 2008
Express:
- Service
account – It is recommended that you
configure the service account under a domain account or a local account. If Windows Vista is used, the
recommended setup is to run SQL Server services under the Network
Service account. For more information, see (http://msdn.microsoft.com/en-us/library/ms143504.aspx).
If installing SQL Server Express on a domain controller, you cannot use the
default Network Service account.
- SQL
Server Authentication Mode – During
installation, the recommended configuration is to set up SQL Server to enable
Windows Authentication mode, which is the default. If the application
requirements do not allow this, you need to enable mixed mode authentication.
If you select mixed mode authentication during setup, you must provide and then
confirm a strong password for the built-in SQL Server system administrator
account named “sa.” Renaming the sa account is also recommended.
For more information, see (http://msdn.microsoft.com/en-us/library/ms144284.aspx). - Firewall – Consider the following:
- Firewall systems help prevent
unauthorized access to computer resources. If a firewall is turned on but not
correctly configured, attempts to connect to SQL Server may be blocked.
- To access an instance of SQL Server
through a firewall, you must configure the firewall on the computer running SQL
Server to allow access. You can use the firewall that is included with Windows,
or you can install a different firewall.
For more
information, see Configuring the Windows Firewall to
Allow SQL Server Access
(http://msdn.microsoft.com/en-us/library/cc646023.aspx).
Understanding
the SQL Server log files is important when troubleshooting installation issues.
If an error occurs during installation, the first step is to review the error
log. While error logs of older versions of SQL Server may appear similar, the
error logs for SQL Server Setup have changed for this release.
For more
information, see How to Troubleshoot SQL Server 2008
Setup Issues
(http://support.microsoft.com/kb/955396).
To review the
SQL Server error logs, follow these steps:
- If
an installation error occurs, first find and review the main log located in
%programfiles%\Microsoft SQL Server\100\Setup Bootstrap\LOG\Summary.txt
- If
the main log in step 1 does not exist, find and review: SqlSetup.log in %temp%
- If
no errors exist in the Summary.txt log or SqlSetup.log, find and review the
Detail.log file located in %programfiles%\Microsoft SQL Server\100\Setup
Bootstrap\LOG\<session folder> and
search for "error:" You should see the error near this tag.
A SQL Server
2008 Express installation generates many log files in both a new installation
and an upgrade. Each set of log files provides varying levels of detail and
scope of content.
The log files
for an installation are created in %programfiles%\Microsoft SQL
Server\100\Setup Bootstrap\Log\<YYYYMMDD_HHMM>. Every time setup runs, it
creates a new timestamp directory.
The log file
for the unmanaged Setup.exe is located in%temp%\sqlsetup*.log. This log
contains the information regarding the execution and steps taken by Setup.exe.
The Setup100.exe log is located in the SetupBootstrap\log folder.
All files in
the logs folder, with the exception of the unmanaged log, are archived into the
Log*.cab file in their respective log folder (a cab generated for each session
folder). The following section describes the four categories of log files.
Location: %programfiles%\Microsoft SQL
Server\100\Setup Bootstrap\Log\
Purpose: This log is the “clean” and
“user-friendly” log file that directs the user to the problem. This file lists
all detected SQL Server components, the operating system environment, the
specified command-line parameters and values, and the overall status of the
Windows Installer (.msi file) and the Windows Installer update package (.msp
file) that runs. The Summary.txt log file in this location is the latest one.
The following table describes the sections of the log file.
Table 6: Log file sections
If there are
errors, the errors are listed in the overall summary section in the beginning
of the file. The feature specific failures are listed in the detailed results.
Location: %programfiles%\Microsoft SQL
Server\100\Setup Bootstrap\Log\<YYYYMMDD_HHMM>\Summary_
{MachineName}_<_20080503_040551.txt
Purpose: This is the Summary.txt log file for
this session.
Location: %programfiles%\Microsoft SQL
Server\100\Setup Bootstrap\Log\<YYYYMMDD_HHMM>\ Summary
{MachineName}_20080503_040551_ComponentUpdate.txt
Purpose: This is similar to the summary file
that is generated during the component update work flow.
Location: %programfiles%\Microsoft SQL
Server\100\Setup
Bootstrap\Log\<YYYYMMDD_HHMM>\Summary_{MachineName}_20080503_040551_GlobalRules.txt
Purpose: This is similar to the summary file
generated during the global rules workflow.
Location: %programfiles%\Microsoft SQL
Server\100\Setup Bootstrap\Log\<YYYYMMDD_HHMM>\Detail.txt
Purpose: This log file contains the results
from processing the global rules and component update, and it provides a
detailed log of the execution. The Detail.txt log file organizes the line
entries in the order of the timestamps and the file extensions (module
optional) that produce the log. This log file is important for identifying any
failures, because it generates the logs based on the time the actions are
invoked. You can use this file to determine the step-by-step execution process,
the order in which actions execute, and the dependencies between actions. This
file is generated for the main workflow (similar to an installation or
upgrade).
If an error
occurs in the setup process, the installation program logs exceptions or errors
when they occur. To find errors in this file, you can find the exception or
error at the end of the file. Then search the file for “error” or “exception”
keywords, which will help you determine when and where the error occurred.
Example of a
failure in the Detail.txt log:
2009-05-12 10:26:26 Slp: Error: Action "RunFeatureSpecificRules" threw an exception during execution.
2009-05-12 10:26:27 Slp: Microsoft.SqlServer.Setup.Chainer.Workflow.ActionExecutionException: A previous release of Microsoft Visual Studio 2008 is installed on this computer. Upgrade Microsoft Visual Studio 2008 to the SP1 before installing SQL Server 2008. ---> Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngineRuleFailureException: A previous release of Microsoft Visual Studio 2008 is installed on this computer. Upgrade Microsoft Visual Studio 2008 to the SP1 before installing SQL Server 2008.
2009-05-12 10:26:27 Slp: at Microsoft.SqlServer.Configuration.RulesEngineExtension.RunRulesAction.ExecuteAction(String actionId)
2009-05-12 10:26:27 Slp: at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
2009-05-12 10:26:27 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
2009-05-12 10:26:27 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
2009-05-12 10:26:27 Slp: --- End of inner exception stack trace ---
2009-05-12 10:26:27 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
2009-05-12 10:26:32 Slp: Received request to add the following file to Watson reporting: C:\Users\petersad\AppData\Local\Temp\tmpDEE9.tmp
2009-05-12 10:26:32 Slp: The following is an exception stack listing the exceptions in outermost to innermost order
2009-05-12 10:26:32 Slp: Inner exceptions are being indented
2009-05-12 10:26:32 Slp:
2009-05-12 10:26:32 Slp: Exception type: Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngineRuleFailureException
2009-05-12 10:26:32 Slp: Message:
2009-05-12 10:26:32 Slp: A previous release of Microsoft Visual Studio 2008 is installed on this computer. Upgrade Microsoft Visual Studio 2008 to the SP1 before installing SQL Server 2008.
2009-05-12 10:26:32 Slp: Data:
2009-05-12 10:26:32 Slp: DisableWatson = true
2009-05-12 10:26:32 Slp: Stack:
2009-05-12 10:26:32 Slp: at Microsoft.SqlServer.Configuration.RulesEngineExtension.RunRulesAction.ExecuteAction(String actionId)
2009-05-12 10:26:32 Slp: at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
2009-05-12 10:26:32 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
2009-05-12 10:26:32 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
2009-05-12 10:26:34 Slp:
2009-05-12 10:26:34 Slp: ----------------------------------------------------------------------
2009-05-12 10:26:34 Slp:
2009-05-12 10:26:34 Slp: Error result: -2067922356
2009-05-12 10:26:34 Slp: Result facility code: 1214
2009-05-12 10:26:34 Slp: Result error code: 588
Location:
%programfiles%\Microsoft SQL Server\100\Setup
Bootstrap\Log\<YYYYMMDD_HHMM>\Detail_ComponentUpdate.txt
Purpose: Similar to the Detail.txt log file,
this file is generated for the component update workflow.
Location: %programfiles%\Microsoft SQL
Server\100\Setup Bootstrap\Log\<YYYYMMDD_HHMM>\Detail_GlobalRules.txt
Purpose: Similar to the Detail.txt log file,
this file is generated for the global rules execution.
- <Feature>_<Architecture>_<
Iteration >.log
- <Feature>_<Architecture>_<Language>_<
Iteration >.log
- <Feature>_<Architecture>_<Iteration>_<workflow>.log
Location: %programfiles%\Microsoft SQL
Server\100\Setup Bootstrap\Log\<YYYYMMDD_HHMM>\<Name>.log
Purpose: The MSIEXEC package installation
process generates details in the MSI log files. To find errors in the MSI log
files, search for “value 3” (English MSI version only); the error is usually
near this string. At the end of the file, is a summary of the execution (pass
or fail status and other properties). This does not apply for initialization
failures, which are logged in a different way.
Location: %programfiles%\Microsoft SQL
Server\100\Setup Bootstrap\Log\<YYYYMMDD_HHMM>\Configurationfile.ini
Purpose: This file contains the input settings
specific to an installation (public settings that apply to the current setup).
The configuration file stores and uses settings provided by the user to restart
the installation. This eliminates the need to enter the same parameter values
again. Passwords for the accounts and the PID are the only settings not saved
in the configuration file. You can add these parameter values later to the
configuration file, or you can provide them at a command prompt or in the UI.
Location: %programfiles%\Microsoft SQL
Server\100\Setup
Bootstrap\Log\<YYYYMMDD_HHMM>\SystemConfigurationCheck_Report.htm
Purpose: Contains a user-friendly version of
the rules execution status. It also provides a short description of each
executed rule.
SQL Server
2008 Express is designed to provide a lightweight and easy-to-use way to
include powerful SQL Server functionality in your applications. a successful,
seamless installation or upgrade in your SQL Server 2008 Express application. When
embedding SQL Server 2008 Express in an application, it is important for the
new installation or upgrade to be successful and seamless. This paper provides
examples, tips, and troubleshooting information to help you achieve that goal.
For more information:
http://www.microsoft.com/sqlserver/: SQL Server Web site
http://technet.microsoft.com/en-us/sqlserver/: SQL Server TechCenter
http://msdn.microsoft.com/en-us/sqlserver/: SQL Server DevCenter
Did this
paper help you? Please give us your feedback. Tell us on a scale of 1 (poor) to
5 (excellent), how would you rate this paper and why have you given it this
rating? For example:
- Are
you rating it high due to having good examples, excellent screen shots, clear
writing, or another reason?
- Are
you rating it low due to poor examples, fuzzy screen shots, or unclear writing?
This feedback
will help us improve the quality of white papers we release.
To send
feedback on this white paper, visit the Microsoft Connect Site.