Chat now with support
Chat with Support

SQL Optimizer for SQL Server 10.1.2 - Release Notes

Release Notes

SQL Optimizer for SQL Server® 10.1.2 

Release Notes

Tuesday, November 10, 2020



About SQL Optimizer for SQL Server

SQL Optimizer for SQL Server® is the most comprehensive optimization solution available for SQL Server environments. SQL Optimizer helps you shorten tuning time and optimizes database performance. You can:

  • Scan SQL statements embedded within database objects, SQL Server Profiler files, and application source code.
  • Generate SQL statement alternatives for problematic SQL statements.
  • Test SQL alternatives to find the best performing statement for your database environment.
  • Generate index alternatives to improve database performance.
  • Test index alternatives to find the alternative that provides the greatest performance gain.
  • Optimize execution plans and deploy plan guides for SQL statements without changing original source code.
  • Manage plan guides, including migrating plan guides from one database to another, importing plan guides from a file or exporting plan guides to a file as an archive, and enabling or disabling one plan guide from a batch of plan guides.
  • Locate the most resource-intensive SQL in your server from the Plan Cache and from trace files and trace tables in SQL Profiler.

New Features

New Features

This release of SQL Optimizer for SQL Server includes the following new features and enhancements.

SQL Optimizer for SQL Server 10.1.2

This release of SQL Optimizer for SQL Server is a minor release and includes resolved issues and the following enhancements.

  • SQL Server 2019 Support. This release includes support for SQL Server 2019.

See Resolved Issues and Enhancements for a complete list.

SQL Optimizer for SQL Server 10.1.1

This release of SQL Optimizer for SQL Server is a minor release and includes resolved issues and the following enhancements.

  • Improved performance when identifying invalid SQL. This release includes an enhancement to the SQL parsing process which significantly reduces the time required to identify certain invalid SQL statements.
  • Syntax support - PIVOT. This release includes support for the PIVOT clause.
  • Syntax support - UNPIVOT. This release includes support for the UNPIVOT clause.

See Resolved Issues and Enhancements for a complete list.

SQL Optimizer for SQL Server 10.1

This release of SQL Optimizer for SQL Server is a minor release and includes resolved issues and minor enhancements.

See Resolved Issues and Enhancements for a complete list.

SQL Optimizer for SQL Server 10.0.3

SQL Optimizer 10.0.3 is a minor release and includes the following enhancements. See also Resolved Issues and Enhancements.

SQL Server 2016 Support

This release includes support for Microsoft SQL Server 2016.

  • Added support for query hints, MAX_GRANT_PERCENT and MIN_GRANT_PERCENT, for SQL Server 2016.
  • Added support for the new query hint, NO_PERFORMANCE_SPOOL, for SQL Server 2016.
  • Added support for the new query hint argument, USE HINT, in SQL Server 2016 SP1.
  • Added support for the table hint, SNAPSHOT, introduced in SQL Server 2014.

SQL Optimizer for SQL Server 10.0.1

SQL Optimizer for SQL Server 10.0.1 is a maintenance release and includes primarily resolved issues. See Resolved Issues and Enhancements for more information.

SQL Optimizer for SQL Server 10.0

Find SQL

Search Results

The Find SQL module now includes a new dashboard-style summary page for search results.

  • SQL Optimizer displays the new dashboard-style page immediately after the search process is finished.
  • When you open a saved session, the dashboard displays for easy navigation to results details.
  • The dashboard displays a summary of results from your search. Results are grouped by resource consumed and by SQL location (SQL, batches, or database objects).
  • Click a pie chart to open Top SQL, Top Batches, or Top Database Objects and quickly drill down to result details.

  • This new dashboard-style page allows you to:
    • See a summary of all results on one page.
    • See a side-by-side comparison of resource utilization for the most resource-intensive SQL.
    • Easily compare other resources consumed by the selected SQL.
    • Easily compare resource consumption at SQL Batch and Database Object levels.
    • Go directly to a results page already filtered by resource consumed or SQL location (click the pie chart of interest).
  • The dashboard displays a summary of results based on statistic totals (not averages).
  • The number of SQL used in each pie chart is the Top n SQL suggested by SQL Optimizer. Click a pie chart to open the Summary Chart where you can adjust this number to fine-tune your view.

  • Use the dashboard page to easily navigate between results views. This page also remembers your last view.

SQL Classification

Find SQL also conveniently groups the collected SQL statements into SQL Classification categories (problematic, complex, simple, and invalid).

  • The dashboard displays a color-coded pie chart that helps you visualize the percentage of SQL statements in each classification category. The legend lists the number of SQL in each category.

  • Click a color-coded category in the pie chart to open the SQL by Classification page displaying the list of SQL statements in that category. Select a statement to view SQL text, execution plan, and batch or database object.

Summary Chart View

  • You now click View Details to see the SQL details for Top SQL, Top Batches, or Top Database Objects.

  • Each Summary Chart view now includes a Classification Type column in the SQL grid.

SQL Details View

The Details page has been redesigned to make it easier to view and compare SQL details.

  • The list of SQL and the details are now on the same page. Scroll through the SQL list to quickly view details of each SQL and see how the SQL relate to each other.
  • When viewing details, you can now display the SQL text highlighted within the context of the batch or object.

  • When viewing results by batch/object, expand the batch/object node to see the list of SQL in that batch/object. Select a SQL statement to see its details.

  • In the Details view for Top SQL, select a SQL statement and drill down to see batch or object details.

Optimize SQL

Test Run Function

New Test Run buttons replace the Execute and Batch Run buttons. Each button includes new sub-commands with slightly different functionality. These buttons have been redesigned to streamline the test run process. (To specify the number of records to retrieve and the number of times to test run alternatives, use the Test Run Settings dialog or the Test Run Special Settings dialog.)

  • A new Test Run Current group button replaces the Execute button.

    • Click Test Run - Current to test run a single alternative.
    • Click Test Run Special - Current to test run a single alternative and specify test run options.
  • The Test Run All group button replaces the Batch Run button. This new button includes the Test Run - All and Test Run - Selected commands to test run all alternative or a selected group of alternatives simultaneously. Use the Test Run Settings dialog to specify other options.

  • The Batch Run All/Selected Multiple commands have been removed. To test run SQL multiple times, use the Test Run Settings dialog.
  • The Auto Optimize button is no longer a group button. Click Auto Optimize to rewrite the original SQL and test run all alternatives. Use the Test Run Settings dialog to specify other options.

Test Run Settings Dialog

A new Test Run Settings dialog replaces the Session Batch Run Criteria dialog. This dialog opens when you select Test Run - All or Test Run - Selected.

This new dialog streamlines the process of selecting test run options.

  • Simplify the process of selecting test run settings by answering three questions about your original SQL. SQL Optimizer automatically determines the best test run settings based on your answers.

  • If you prefer, you can specify test run settings manually by selecting the Customize Test Run Settings link at the bottom of the page. The Custom Setup page opens where you can specify detailed options for your test run.

  • Several of the test run options have been refined to better help you identify the best SQL alternative.
    • When using the termination option User-defined time, you can select whether or not to terminate the original SQL if it is included in the batch.
    • When using the termination option Percentage of original SQL run time, you can select whether or not to run the original SQL again if it is not included in the batch.
    • The termination option Run time of the fastest SQL now applies to the fastest SQL in the batch, not all alternatives.
  • Flush data cache before running each SQL is now the default selection.
  • You can now apply a label to a test run to identify all alternatives that were executed in that test run. The label is displayed in the Test Run Label column in the Alternatives or Plans grid. Use the default timestamp or create a custom label.

Test Run Special Settings Dialog

You can now specify test run options when you test run a single SQL or plan alternative.

  • Select the Test Run Special - Current option to test run the alternative. The Test Run Special Settings dialog opens where you can specify the number of records to retrieve and the number of times to test run the alternative.

Execution Statistics

  • The following statistics are now included in the Alternatives pane and the Plans pane in Optimize SQL: Response Time, Writes, Buffers Received, and Bytes Received.

Linked Server Objects

  • The Schema Information tab now identifies a table or view from a linked server by displaying Remote Table or Remote View in the Type field.

Syntax Support

  • SQL Optimizer now supports SQL Server "linked servers" and queries that utilized linked servers.
  • This release includes support for SQL Server synonyms.

Learn More

Find blogs, forums, and other product resources on Toad World.


Resolved Issues

Resolved Issues and Enhancements

The following is a list of issues addressed and enhancements implemented in this release.

Resolved Issues in 10.1.2

Feature Resolved Issue Defect ID
Scan SQL Fixed an issue in which queries with comments are marked as valid SOFSS-1656
Optimize SQL Fixed an issue in which SQL Optimizer would generate semantically different alternatives SOFSS-1600

Resolved Issues in 10.1.1

Feature Resolved Issue Defect ID
Scan SQL Corrected an issue in which the scanning process paused unexpectedly and indefinitely when the process was only 88% complete. SOFSS-1196

Resolved Issues in 10.1

Feature Resolved Issue Defect ID
Optimize Indexes When gathering a SQL workload from a Spotlight Statistics Repository, after switching from one Monitored Instance to another, the "Date Collected" drop-down list is enabled as expected. SOFSS-1327
Syntax Corrected an issue which caused an "Incorrect syntax" error when attempting to retrieve the execution plan for SQL containing a CASE statement inside a PARTION BY clause. SOFSS-1320, SOEP-2248, ST115572

Resolved Issues in 10.0.3

Feature Resolved Issue Defect ID
Integration with other Quest products Corrected an issue which prevented integration with Foglight. ST118843, QSOSS-517
Integration with other Quest products Corrected an issue that caused an error when sending SQL to the Optimize SQL module in SQL Optimizer for SQL Server from Foglight. ST118832, QSOSS-1198
Optimize Indexes Corrected an issue that caused an error when attempting to connect to a Spotlight Statistics Repository in a SQL Server 2016 database to collect SQL. The error text included the following: "Procedure or function spotlight_get_monitored_objects has too many arguments specified." QSOSS-1245
Optimize SQL (SQL Rewrite) Corrected an issue that caused an "Objects of this type have no space allocated" error when attempting to generated Index alternatives. ST118919, QSOSS-1199
SQL Server 2016 Added support for the new query hint argument, USE HINT, in SQL Server 2016 SP1. QSOSS-946
SQL Server 2016 Added support for new DATEDIFF_BIG function in SQL Server 2016. QSOSS-953
Syntax Corrected a syntax issue in which a column was incorrectly treated as a bind variable. This issue was encountered when the SQL contained either a "left join" or "right join," the first table had no alias, and columns in the first table were qualified with the table name. ST118920, QSOSS-568, QSOSS-1200
Syntax Added support for $IDENTITY and $ROWGUID. QSOSS-959

Resolved Issues in 10.0.1

Feature Resolved Issue Defect ID
Integration with Toad for SQL Server When sending SQL from Toad for SQL Server to SQL Optimizer to Auto Optimize, the Test Run Settings dialog opens as expected. ST115905, ST115914, QSOSS-449
Optimize SQL An issue that resulted in incorrect values for "Time Saved (%)" and "Times of Improvement" in the Report page for an Optimize SQL session is resolved. ST116812
Optimize SQL After selecting Clear Optimization Results | Clear Original Scenario in the Alternative Details pane and then entering SQL again, the Get Estimated Plan button works as expected. QSOSS-401
Optimize SQL If you attempt to generate indexes when optimizing a SELECT INTO statement, you will no longer encounter "An object or column name is missing or empty" error message. ST116701

Resolved Issues in 10.0

Feature Resolved Issue Defect ID
Find SQL When creating a new Plan Cache search, the user was unable to start the Plan Cache search process after closing the Top SQL selection text box by clicking the close [x] button. ST113068
Find SQL When collecting SQL, the number of SQL now updates dynamically on the Show All Searches page. ST114802
Find SQL An issue that caused an empty XML file to be generated when saving an execution plan in Find SQL is resolved. ST114881
Find SQL In the Summary Chart, the Primary Statistics (y-axis label) correctly updates after selecting to view a different primary statistic (resource type). ST114937
Optimize SQL Old execution statistics are now cleared after original SQL is rewriten and execution plan is retrieved. ST109320
Optimize SQL Improved performance of SQL Rewrite process. ST113052
Optimize SQL Added support for synonyms. ST74220
Optimize SQL An issue that caused an "Out of Memory" error when using Batch Run to run SQL that returns a large number of rows is resolved. ST112494
Optimize SQL

An issue that caused the "SQL Extraction" to display when inputting a single invalid SQL statement is resolved.

ST113628
Optimize SQL Revised termination criteria in Batch Run. ST113710
Optimize SQL Optimize SQL now points out the best value for each statistic. The value is displayed using bold text to highlight it. ST114018
Optimize SQL An issue that caused duplicate columns to display for remote objects in the Schema Information tab is resolved. ST114083
Optimize SQL Optimize SQL failed to generate alternatives for some SQL containing linked server objects. This issue is resolved. ST114279
Optimize SQL Support for SQL Server 2014 cardinality estimator. You can enable/disable in Options. ST114816
Optimize SQL Importing a session from STS files is no longer supported. ST114826
Optimize SQL When sending multiple SQL alternative containing the same bind variable to Benchmark Factory, the scalability job failed because only the first SQL received the bind variable. This issue is resolved. ST114842
Optimize SQL After opening a saved session, the user-defined alternative would contain duplicate indexes. This issue is resolved. ST114845
Optimize SQL An issue that caused the application to unexpectedly close when selecting the Virtual Indexes tab in a saved session shortly after creating a new session is resolved. ST114939
Optimize SQL SQL Rewrite: When auto-optimizing SQL containing a temp table and a bind variable, the original SQL test runs successfully and no longer displays an error icon in the status column. ST114979
SQL Scanner The SQL Scanner now supports the following syntax: [server].[database].[schema].[object] ST41156
System Requirements Include support for Windows 8.1 and Windows Server 2012 R2. ST113995
System Requirements Include support for Windows 8.1 (with Update) and Windows Server 2012 R2 (with Update). ST114511, ST114878, ST114879
User Interface If you input your original SQL from a file, when saving the SQL as a SQL text file again, for convenience the default file name in the Save As dialog is now set to the original file name. ST113215

Known Issues

The following is a list of issues known to exist at the time of the SQL Optimizer release.

Feature Known Issue Defect ID
General

If you uninstall the standalone version of SQL Optimizer with Toad for SQL Server and SQL Optimizer installed, you can no longer launch SQL Optimizer by sending SQL statements from Toad for SQL Server to SQL Optimizer.

ST77615

When you launch SQL Optimizer from Windows 2000, you may get an error message, "Quest.Tuning.SQLSvr.Main has encountered a problem and needs to close."

Workaround:

Download and install MSXML 6.0 from http://www.microsoft.com/en-us/download/details.aspx?id=3988.

ST102569

Installation

If you upgrade to SQL Optimizer for SQL Server 10.0.1 from a previous version (and install versions side-by-side) and then uninstall a previous version, when you attempt to send SQL from Toad for SQL Server to SQL Optimizer, you will encounter an error. After closing the error message, the SQL may or may not be sent successfully.

Workaround:

  • Uninstall SQL Optimizer 10.0 before installing version 10.0.1.
  • Or use the Repair feature in the SQL Optimizer for SQL Server 10.0.1 .msi Installer to replace the missing files.

N/A

Installation

If you upgrade to SQL Optimizer for SQL Server 10.0.1 from a previous version and then uninstall SQL Optimizer 10.0.1, the Start menu shortcut and some installation files are not completely removed.

Workaround: After uninstalling SQL Optimizer 10.0.1, manually remove the SQL Optimizer 10.0.1 shortcut and remaining 10.0.1 installation files.

N/A

Installation

After installing SQL Optimizer for SQL Server 10.0.1, if you then install a previous version of SQL Optimizer side-by-side with 10.0.1, and then uninstall version 10.0.1, you cannot launch the previous version from the Start menu.

Workaround: Launch the previous version of SQL Optimizer using the executable in the installation directory.

N/A

Installation

When you upgrade from 7.1 to 8.0, the error window "Quest.Tuning.SQLSvr.Main" displays.

Workaround:

  1. Uninstall 7.1.
  2. Install 8.0.

ST90338

When you upgrade from 7.0 to 7.1 or from 7.1 to 8.0, Install for Everyone does not work.

ST89823

You are not provided with an option to upgrade when installing SQL Optimizer 7.1 if you have SQL Optimizer 7.0 installed with Toad for SQL Server.

Workaround:

Perform a side-by-side installation of SQL Optimizer 7.0.

ST83496

Optimize SQL

When you connect to SQL Server using Windows group, you cannot define a default schema.

Workarounds:

  1. Connect to the SQL Server with a login who has permission to create a user, and use the following script to create a user login (replace domainname\username with your NT login). USE [yourdbname] GO CREATE USER [domainman\username] FOR LOGIN [domainname\username] WITH DEFAULT_SCHEMA=[dbo] GO. After the above is created, connect to the database using Windows Authentication to use SQL Optimizer.
  2. Contact your Database Administrator to directly add your domainuser as a login.

ST84377

A SQL statement with a hidden control character in the text is classified as Invalid.

ST41386, ST98296

Optimizing SQL with DBO.Sys Objects results in a "Table does not exist" error because Sys Objects reside in the SYS schema and not the DBO schema. Since the DBO schema is only backwards compatible to SQL Server, SQL Optimizer is unable to access it.

Workaround:

Optimize SQL with Sys Objects with the SYS schema instead of the DBO schema.

ST75908

Executing SQL alternatives with an Option Clause using Query Hints for SELECT statements in CREATE VIEW causes an error because these statements are not supported by SQL Server.

Workaround:

Clear the checkbox for the SQL alternative with the Option Clause before using the Auto Optimize or Optimize function to generate alternatives without the Option Clause.

ST53842


Third Party Known Issues

The following is a list of third party issues known to exist at the time of this release.

Feature Known Issue Defect ID
Optimize SQL

When using Microsoft SQL Server 2005 SP1 and optimizing certain types of SQL statements, you might encounter an "Internal Query Processor" error.

See Microsoft support article 931329 for more information.

Workaround: Upgrade to SQL Server 2005 SP2.

N/A

Scan SQL If the SQL Server CURSOR_CLOSE_ON_COMMIT dboption parameter is not set to OFF, using the sp_helptext system stored procedure in Scan SQL may return the following error due to SQL Server BUG #: 57967 (SQLBUG_70) or BUG #: 231137 (SHILOH): Server: Msg 16917, Level 16, State 2, Line 0 Cursor is not open.

N/A

SQL Server Connection

If you are using dynamic port allocation and UDP port 1434 is disabled, SQL Optimizer may not be able to connect to SQL Server and you may receive an error message. This is a known Microsoft issue. See Microsoft Support Article ID 823938 for more information.

Workaround:Manually specify the SQL Server connection string as [Server]\[Named Instance],[Port] in SQL Optimizer.

N/A


Self Service Tools
Knowledge Base
Notifications & Alerts
Product Support
Software Downloads
Technical Documentation
User Forums
Video Tutorials
RSS Feed
Contact Us
Licensing Assistance
Technical Support
View All
Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating