Import Log Files into the Tuning Database

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

Use the command-line tool MssLogToDatabase.exe to import Speech Server trace log files into the tuning database.

To install Speech Server Log Tools, install Speech Server and select Data Processing Utilities. The default installation path for Speech Server Log Tools is %ProgramFiles%\Microsoft Office Communications Server 2007 Speech Server\SDK.

Preparing a Tuning Database for Data Import

Before importing data, a tuning database must exist. Create an empty database manually if a Speech Server tuning database does not already exist. For more information, see Creating a New SQL Server Database in Server Explorer. Also, see the following guidelines:

  • Ensure that all database files are presized, including tempdb, to accommodate the amount of data in the import.
  • For 100,000 calls, consider presizing the tuning database with 100 GB and set the transaction log size to 5 GB.
  • Set autogrow to 100 MB.
  • Transaction log files and database data files should reside on different physical spindles.

Importing Data

To start MssLogToDatabase.exe

  1. On the Windows taskbar, click Start, click Run, type cmd, and then click OK.

  2. At the command prompt, type cd /d %ProgramFiles%\Microsoft Office Communications Server 2007 Speech Server\SDK, and then press ENTER.

  3. Enter the appropriate MssLogToDatabase.exe syntax, and then press ENTER.

    See syntax and examples in the following sections.

    If the database is new and empty, all schema artifacts (for example, tables, views, procedures, and roles) are created and data is imported. If data has already been imported into the database and therefore the artifacts already exist, the new data is simply imported.

    Pressing CTRL+C interrupts execution.

Note

An out of memory exception can occur with large imports on computers that are near or below the hardware requirements for Speech Server. To fix this problem, either break up the import into multiple, smaller imports (for example, a single ETL file at a time) or upgrade the computer. For more information, see Speech Server Requirements. For information about setting the memory parameter in MssLogToDatabase.exe, see the following sections.

Note

If you are importing large volumes of data (for example, more than 30-GB log files in a single import session), ensure that the hotfix FIX: You may receive an error message when an ADO.NET-connected application uses the is installed on the computer running MssLogToDatabase.exe. This hotfix prevents tabular data stream protocol errors from occurring.

Note

MssLogToDatabase.exe supports only one import at a time into a given SQL??Server database.

Syntax

MssLogToDatabase logfile
[@responsefile]
/database:value
[/server:value]
[/username: value]
[/password:value]
[/connect:seconds]
[/timeout:seconds]
[/memory:megabytes]
[/noencrypt]
[/nocreate]
[/force]
[/description:text]
[/disableindexes]
[/rebuildindexes]
[/from:datetime]
[/to:datetime]
[/filter:level]
[/audio:level]
[/nologo]
[/verbose]
[/help]

Parameters

Parameter Description

Logfile

Specifies the paths and file names of the trace logs to read. Wildcards are supported. Use spaces to delimit multiple file names.

@responsefile

Specifies the path and name of the file containing arguments for the command line. Optional.

/database:value

Specifies the name of the database into which data is imported. (Short form: /d) Required.

/server:value

Specifies the network name of the SQL??Server host. Specify the server name explicitly. For example, if the local server is SQLExpress: /server:.\sqlexpress. (Short form: /s). If the local server is SQLExpress, this value is required.

/username:value

Specifies the name of the user for SQL??Server authentication. (Short form: /u) Optional.

/password:value

Specifies the password for SQL??Server authentication. (Short form: /p) Optional.

/connect

Specifies the timeout, in seconds, for the SQL??Server connection. The default is 300 seconds. Optional.

/timeout:seconds

Specifies the timeout, in seconds, for SQL commands that execute during the import. The default is 900 seconds. (Short form: /t) Optional.

/memory:MB

Specifies the maximum memory to use during the import process, in megabytes. Ensure that this parameter is set with regard for available computer memory, given that other processes are likely to run simultaneously. (Short form: /p) Optional. The default is 200 MB.

/noencrypt

Specifies that communication with SQL??Server is not encrypted. By default, an encrypted protocol is used. Optional.

/nocreate

Specifies that the tuning schema is not created if it does not already exist. Use this switch to ensure that the process fails if a valid tuning schema is absent. Optional.

/force

Specifies that this session overrides any active import session. (Short form: /f) Optional.

/description:text

Provides a database description, which is used to identify source databases used in building a data warehouse. The default is <server>;<database>.

/disableindexes

Disables non-clustered indexes prior to import. Consider using this switch when the amount of data to import is reasonably large compared with the size of the existing SQL??Server database. Available only with Microsoft SQL??Server 2005 databases.

/rebuildindexes

Rebuilds non-clustered indexes after import. Consider using this switch when the amount of data to import is reasonably large compared with the size of the existing SQL??Server database. Available only with Microsoft SQL??Server 2005 databases.

/from:datetime

No events logged earlier than this date and time are imported. If a date is omitted, the current date is used. Date and time are expected in the format specified in Control Panel under Regional and Language Options. (Short form: /f) Optional.

/to: datetime

No events logged later than this date and time are imported. If a date is omitted, the current date is used. Date and time are expected in the format specified in Control Panel under Regional and Language Options. (Short form: /t) Optional.

/filter:level

Specifies the type of data to import. The default is all. Possible values:

  • all, which imports all data.
  • analysis, which imports all data including the Recognizer audio described in the /audio parameter, but no Trace messages.
  • reports, which imports all data except the following:
    • Semantic information such as semantic events
    • Selected trace and debug messages
    • Grammars
    • Prompt text
    • Recognition result text
    • Audio

/audio:level

If /filter:all is specified, this flag indicates how much audio to import. The default is Recognizer. Possible values:

  • Recognizer ??? User-spoken audio as logged by the recognition engine.
  • Turn ??? Audio from application turns.
  • Session ??? Audio from application sessions.
  • None

/nologo

Specifies that the copyright message is suppressed. Optional.

/verbose

Specifies that the file overwrite warning are suppressed. (Short form: /v) Optional.

/help

Specifies that a message displaying usage Help are displayed. (Short form: /h or /?) Optional.

Remarks

Any argument with a space in it must be delimited with quotation marks.

Create a Tuning Schema in an Empty Database

If the database is new and empty, all schema artifacts (for example, tables, views, procedures, and roles) are created and data is imported when MssLogToDatabase.exe runs. If data has already been imported into the database and therefore the artifacts already exist, the new data is simply imported.

To Create a Schema without Importing Data

To create a schema without importing any data, run MSSLogToDatabase.exe without specifying any ETL log file in the command line.

Important Security Notice

Storing SQL??Server credentials in the response file is a security risk. Users of this tool are advised to use Windows Authentication to connect to the SQL??Server database whenever possible. Windows Authentication is the default and preferred means of connecting to the database.

When SQL??Server credentials are required to connect, users are strongly advised not to store their credentials in the response file. If the credentials are not specified in the file, the tool requests them to be entered on the command line before connecting. Storing credentials in a response file means that the database is vulnerable to any third party who is able to read the contents of the file. If credentials must be stored, users should take every precaution to prevent unauthorized access to the response file.

Response File

The response file provides an alternate method for specifying arguments. Arguments in a response file can be entered in one line or one line per argument. Any text entered after a pound sign (#) in a response file is treated as a comment. See the following example of response file content.

/from:"1/1/05 1:02:00"

/y

/verbose

#Use a pound sign to specify comment text.

One of the following examples shows how to specify a response file.

Example

//No log files are imported, so a schema is created with no data.
msslogtodatabase /s:<servername> /d:<databasename> /noencrypt

//A response file specifies arguments.
msslogtodatabase *.etl @responsefile.txt /server:MSSTuning /database:SpeechApplication

//A username and password are used to make the SQL connection.
msslogtodatabase *.etl /server:MSSTuning /database:SpeechApplication /username:mySQLUserName /password:mySQLPassWord

See Also

Other Resources

Management of Tuning Data
Speech Application Analysis and Tuning