Создание сценария метаданных базы данных необходимо создать только для статистики базы данных в SQL Server 2005 и SQL Server 2008

Переводы статьи Переводы статьи
Код статьи: 914288 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Введение эта ссылка может указывать на содержимое полностью или частично на английском языке

Оптимизатор запросов в Microsoft SQL Server 2005 или Microsoft SQL Server 2008 использует следующие типы данных, чтобы определить оптимальный план запроса.
  • Метаданные базы данных
  • Среды оборудования
  • Состояние сеанса базы данных
Как правило все эти же типы данных должны имитировать чтобы воспроизвести поведение оптимизатора запросов системы проверки.

Служба технической поддержки корпорации Майкрософт может потребоваться создать сценарий метаданных базы данных. Службу поддержки пользователей Майкрософт использует этот сценарий из метаданных базы данных, исследовать проблему оптимизатор. Статья описывает действия, чтобы создать сценарий статистики. В статье также описывается, как оптимизатор запросов использует данные.

Дополнительная информация

При использовании SQL Server 2005, перед выполнением действий для создания сценария, убедитесь, что SQL Server Management Studio версии SQL Server 2005 с пакетом обновления 2 (SP2) или более поздней версии. При использовании более ранних версиях SQL Server Management Studio в SQL Server 2005, мастера сценариев не содержит все необходимые параметры для действия, описанные в данной статье для правильной работы.

Создать сценарий для всей базы данных

При создании копии только для статистики базы данных может быть проще и надежнее сценария всей базы данных, вместо того, как отдельные объекты сценария. Можно создать сценарий для всей базы данных, появляется следующие преимущества:
  • Можно избежать проблем с отсутствующими зависимые объекты, которые необходимо воспроизвести проблему.
  • Требуется значительно меньшее число шагов для выделения необходимых объектов.
Примечание.Если создать сценарий для базы данных и метаданных для базы данных содержит тысячи объектов, процесс создания сценариев потреблять значительные ресурсы Процессора. Корпорация Майкрософт рекомендует создать сценарий, часы наименьшей нагрузки. Также можно использовать второй параметр для создания сценария для отдельных объектов.

Чтобы создать сценарий для каждой базы данных, на которую ссылается запрос, выполните следующие действия:
  1. Открыть SQL Server Management Studio.
  2. В диалоговом окнеВ обозревателе объектовexpandБазы данных, а затем найдите базу данных, которые нужно внести в сценарий.
  3. Щелкните правой кнопкой мыши базу данных, выберите пунктЗадачии выберите командуСоздание сценариев.
  4. В мастере создания сценариев убедитесь, что выбрана необходимая база данных. Для выбораВнести в сценарий все объекты выбранной базы данныхи нажмите кнопку?????.
  5. В диалоговом окнеВыбор параметров сценариядиалоговое окно измените следующие параметры из значения по умолчанию значения, перечисленные в следующей таблице.
    Свернуть эту таблицуРазвернуть эту таблицу
    Параметр сценарияВыберите значение
    Заполнение AnsiTrue
    Продолжение сценария on ErrorTrue
    Создать сценарий для зависимых объектовTrue
    Включить имена системных ограниченийTrue
    Сопоставление сценарияTrue
    Создать сценарий базы данныхTrue
    Сценарий имена входаTrue
    Разрешения уровня объектов сценарияTrue
    Сценарий статистикиВнести в сценарий статистику и гистограммы
    Внести в сценарий индексыTrue
    Сценарий триггеровTrue
    Примечание.надписьюСценарий имена входапараметр,Разрешения уровня объектов сценарияпараметр может не требоваться, если схема содержит объекты, принадлежащие отличные от имен входаdbo.
  6. затем –?????.
  7. Перейдите на вкладкуСценарий в файлпараметр, а затем введите имя файла.
  8. затем –Завершить.

Отдельные объекты сценария

Вы можете только отдельные объекты сценария, на которые ссылается конкретного запроса, вместо написания сценариев для всей базы данных. Тем не менее, если не все базы данных объекты создаются с помощью предложения WITH SCHEMABINDING, сведения о зависимостях вsys.dependsСистемная таблица может не всегда быть точным. Это расхождение может вызвать один из следующих причин:
  • Процесс написания сценариев не сценарий для зависимых объектов.
  • Процесс написания сценариев может внести в сценарий объекты в неправильной последовательности. Для успешного выполнения сценария, необходимо вручную изменить созданный сценарий.
Таким образом мы не рекомендуем сценарий отдельных объектов, если в базе данных имеется большое количество объектов и сценариев в противном случае потребуется слишком много времени. Если необходимо использовать отдельные объекты сценария, выполните следующие действия.
  1. В SQL Server Management Studio разверните узелБазы данных, а затем найдите базу данных, которые нужно внести в сценарий.
  2. Щелкните правой кнопкой мыши базу данных, выберите пунктСценарий базы данных под именем, выберите пунктCREATE дляи выберите командуФайл:.
  3. Введите имя файла и нажмите кнопкуСохранить.

    Контейнер ядра базы данных будет включен в сценарий. Этот контейнер включает файлов, файловых групп, базы данных и свойств.
  4. Щелкните правой кнопкой мыши базу данных, выберите пунктЗадачии выберите командуСоздание сценариев.
  5. Убедитесь, что выбрана необходимая база данных, а затем нажмите кнопку?????.
  6. В диалоговом окнеВыбор параметров сценариядиалоговое окно измените следующие параметры из значения по умолчанию значения, перечисленные в следующей таблице.
    Свернуть эту таблицуРазвернуть эту таблицу
    Параметр сценарияВыберите значение
    Заполнение AnsiTrue
    Продолжение сценария on ErrorTrue
    Включить имена системных ограниченийTrue
    Создать сценарий для зависимых объектовTrue
    Сопоставление сценарияTrue
    Сценарий имена входаTrue
    Разрешения уровня объектов сценарияTrue
    Сценарий статистикиВнести в сценарий статистику и гистограммы
    Сценарий USE DATABASETrue
    Внести в сценарий индексыTrue
    Сценарий триггеровTrue
    Примечание.надписьюСценарий имена входапараметр,Разрешения уровня объектов сценарияпараметр может не требоваться, если схема содержит объекты, принадлежащие отличные от имен входаdbo.
  7. В диалоговом окнеВыберите типы объектовдиалоговое окно, выберите все базы данных типов объектов, который ссылается на проблемных запросов.

    Например если запрос ссылается только на таблицы, выберитеТаблицы. Если запрос ссылается на представление, выберитеТаблицы и представления. Если проблемный запрос использует пользовательскую функцию, выберитеФункции.
  8. После выбора всех типов объектов, на которые ссылается запрос, нажмите кнопку?????.
  9. Появится диалоговое окно для каждого типа объекта базы данных, который выбран на шаге 7. В каждом диалоговом окне выберите конкретные таблицы, представления, функции или другие объекты базы данных и нажмите кнопку?????.
  10. Перейдите на вкладкуСценарий в файлпараметр, а затем укажите тем же именем, введенным в шаге 3.
  11. затем –Завершитьдля запуска сценариев.
После завершения сценария отправьте файл сценария к специалисту службы поддержки пользователей корпорации Майкрософт. Инженер технической поддержки корпорации Майкрософт также могут потребоваться следующие сведения.
  • Конфигурации оборудования, включая число процессоров и объем физической памяти существует
  • The SET options that were active when you ran the query
Примечание.You may have already provided this information by sending a SQLDiag report or a SQL Profiler trace. You may have also used another method to provide this information.

How the information is used

The following tables help explain how the query optimizer uses this information to select a query plan.

Metadata

Свернуть эту таблицуРазвернуть эту таблицу
ОграниченияThe query optimizer frequently uses constraints to detect contradictions between the query and the underlying schema. For example, if the query has a "WHERE col = 5" clause and a "CHECK (col< 5)"="" check="" constraint="" exists,="" the="" query="" optimizer="" knows="" that="" no="" rows="" will="">

The query optimizer makes similar types of deductions about nullability. For example, the "WHERE col IS NULL" clause is known to be true or false depending on the nullability of the column and whether the column is from the outer table of an outer join. The presence of FOREIGN KEY constraints is useful to determine cardinality and the appropriate join order. The query optimizer can use constraint information to eliminate joins or simplify predicates. These changes may remove the requirement to access the base tables.
StatisticsПлотность и гистограмма, которая показывает распределение начальные столбца ключа индекса и статистики, содержит статистические данные. В зависимости от характера предикат оптимизатор запросов может использовать плотности распределения и гистограммы, чтобы оценить количество предиката. Обновленные статистические данные необходимы для оценки точное количество элементов. Оценки мощности используются в качестве входных данных в оценке затрат оператора. Таким образом необходимо иметь хорошую мощность оценки получить планы оптимальной запросов.
Размер таблицы (число строк и страниц)Оптимизатор запросов использует гистограммы и плотности для вычисления вероятности того, что заданного предиката имеет значение true или false. Оценка окончательного мощность вычисляется путем умножения вероятности по количеству строк, возвращаемых оператором дочерних. Количество страниц в таблице или индексе является фактором в оценке затрат на операции ввода-ВЫВОДА. Размер таблицы используется для расчета затрат на сканирование и полезен при оценить количество страниц, которые будут доступны во время поиска индекса.
Параметры базы данныхНесколько параметров базы данных может повлиять на оптимизацию. надписьюAUTO_CREATE_STATISTICSиAUTO_UPDATE_STATISTICSпараметры влияют ли оптимизатор запросов будет создать новую статистику или обновление статистики, являются устаревшими. надписьюПАРАМЕТРИЗАЦИЯуровень влияет на способ ввода запрос является параметризованным, прежде чем передается входного запроса оптимизатор запросов. Параметризация может повлиять на оценки мощности и может также запретить сопоставление для индексированных представлений и другие виды оптимизации. надписьюDATE_CORRELATION_OPTIMIZATIONпараметр заставляет оптимизатор поиск корреляции между столбцами. Этот параметр влияет на оценки мощности и затрат.

Среда

Свернуть эту таблицуРазвернуть эту таблицу
Параметры SET сеансанадписьюANSI_NULLSНастройка затрагивает ли «NULL = NULL "выражения вычисляется как true. Оценка элементов для внешних соединений могут изменяться в зависимости от текущих параметров. Кроме того могут также измениться неоднозначность выражения. Например "col = NULL" по-разному в зависимости от параметра выражение. Тем не менее "col IS NULL" выражение всегда равно одинаково.
Ресурсы аппаратурыСтоимость для сортировки и хэш-операторов, зависит от относительный объем памяти, доступной для SQL Server. Например, если размер данных превышает размер кэша, оптимизатор запросов знает, данные всегда должны быть очереди на диск. Тем не менее если размер данных гораздо меньше, чем кэш-памяти, операция является скорее всего, будет выполнена в памяти. SQL Server также рассматривает разных оптимизаций, если сервер имеет более одного процессора и параллелизм не было отключено с помощью подсказки «MAXDOP» илиМаксимальная степень параллелизмапараметр конфигурации.
Склад SQL Server, обновление устройств (SKU)Некоторые возможности будут включены только на определенных выпусков SQL Server 2005 или SQL Server 2008. Например соответствующих запросу к индексированным представлениям возникает только в SQL Server 2005 Enterprise Edition. Аналогичным образом соответствие для руководства плана ограничена стандартный выпуск SQL Server 2000 и SQL Server 2005 Enterprise Edition.

Свойства

Код статьи: 914288 - Последний отзыв: 27 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Ключевые слова: 
kbexpertiseinter kbexpertiseadvanced kbsql2005engine kbhowto kbinfo kbmt KB914288 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:914288

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com