Записи с меткой «SQL Server»

Как пофиксить ошибку «Символьные или двоичные данные могут быть усечены»

Пересказ статьи Brent Ozar. How to fix the error “String or binary data would be truncated” Сначала давайте посмотрим на ошибку: создадим таблицу с небольшими полями, а затем попытаемся вставить больше данных, чем они могут вместить. CREATE TABLE dbo.CoolPeople(PersonName VARCHAR(20), PrimaryCar VARCHAR(20)); GO INSERT INTO dbo.CoolPeople(PersonName, PrimaryCar) VALUES (’Baby’, ‘2006 Subaru Impreza WRX GD’); GO …

Сравнение планов в Management Studio

Пересказ статьи Gail. Comparing plans in Management Studio Ранее я рассматривал использование Query Store (хранилище запросов) для сравнения планов выполнения, но это не единственный способ, который позволяет сравнить два плана выполнения. Другой метод требует сохраненного плана выполнения и просмотрщика планов выполнения в Management Stidio.

Краткое введение в bcp

Пересказ статьи Arthur-Daniels. A brief introduction for bcp Я заканчиваю использование утилиты bcp перемещением таблиц между средами. При этом я нахожу, что множество руководств в интернет очень детально описывают её использование. Это прекрасно, если у вас много времени. Вот моё краткое введение. Я буду обращаться сюда, если забуду, как её использовать.

Оптимизация запросов, передаваемых непосредственно

Пересказ статьи Bert Wagner. Optimizing for Ad Hoc Workloads Кэш планов выполнения — отличная вещь: после затраченных усилий на построение плана запроса SQL Server сохраняет этот план в кэше планов для повторного использования в дальнейшем.

Кардинальное число

Пересказ статьи Bert Wagner. Cardinality: Not Just For The Birds При построении индексов для ваших запросов порядок столбцов в ключе индекса имеет значение. SQL Server наиболее эффективно использует индекс, если данные в этом индексе сохраняются в том же порядке, какой требуется для вашего запроса при выполнении соединения (join), фильтрации (where), группировки (group by) или сортировки …

Основы, и использование хинта NOLOCK в SQL Server

Пересказ статьи Esat Erkeç. Essentials and usage of NOLOCK hint in SQL Server Основная идея механизма блокировок в SQL Server состоит в контроле согласованности транзакций. Согласно этому принципу, если процессу требуется выполнить операции вставки, удаления или обновления, ядро SQL Server блокирует строку или строки и не позволяет другим процессам получить доступ к данным до завершения …

Почему не следует использовать SELECT * в рабочих системах (никогда!)

Пересказ статьи Gavin Draper. Why You Shouldn’t Use SELECT * In Production Systems (EVER!) Это не значит, что я никогда не использую операторы SELECT *; обычно я использую их для прямых запросов на стадии разработки. Моё предупреждение относится к их использованию в рабочих системах.

Какой-то индекс в моем индексе

Пересказ статьи Gavin Draper. Waiter Waiter There’s an Index in my Index Речь пойдет о том, как SQL Server обращается к одновременно к кластеризованному и некластерихованному индексам при поиске закладок.

Логические операции чтения SQL Server — о чем они на самом деле говорят нам?

Пересказ статьи Ami Levin. SQL Server Logical Reads – What do they really tell us? Трассировка SQL Server, которую наиболее часто используют администраторы баз данных для оценки производительности запросов, предоставляет счетчик ‘logical reads’ (логические чтения), на который многие администраторы полагаются при оценке производительности ввода/вывода запросов. В данной статье мы проверим истинность этих счетчиков и приведем …

Предотвращение выполнения всего скрипта

Пересказ статьи Solomon Rutzky. Prevent Full Script Execution (Understanding and Using PARSEONLY and NOEXEC) Иногда, работая над SQL-скриптом, мне не нужно выполнять весь написанный код. Например, при разработке сложного скрипта мне требуется тестировать части кода. Зачастую случайные нажатия F5, когда я забываю выделить нужный фрагмент, запускают весь скрипт от начала с нежелательными последствиями.