Вопросы с тегом «sql-server»

15
План выполнения с несколькими отсутствующими индексами

Если вы выполните запрос с «Включить фактический план выполнения», план также предложит отсутствующие индексы. Детали индекса находятся внутри MissingIndexesтега в XML. Есть ли ситуация, когда план включает несколько предложений по индексам? Я пробовал разные sql-запросы, но не смог найти ни одного...

15
Можно ли дефрагментировать системные таблицы SQL Server?

У нас есть несколько баз данных, в которых создается и удаляется большое количество таблиц. Из того, что мы можем сказать, SQL Server не выполняет никакого внутреннего обслуживания системных базовых таблиц , что означает, что они могут со временем стать очень фрагментированными и раздутыми по...

15
Почему мой запрос EXISTS выполняет сканирование индекса вместо поиска индекса?

Я работаю над оптимизацией некоторых запросов. Для запроса ниже SET STATISTICS IO ON; DECLARE @OrderStartDate DATETIME2 = '27 feb 2016'; DECLARE @OrderEndDate DATETIME2 = '28 feb 2016'; SELECT o.strBxOrderNo , o.sintOrderStatusID , o.sintOrderChannelID , o.sintOrderTypeID , o.sdtmOrdCreated ,...

15
Как SQL Удалить, используя подзапрос

Следующий код был добавлен одним из наших разработчиков для удаления дублирующихся записей из таблицы: DELETE SubQuery FROM ( SELECT ID ,FK1 ,FK2 ,CreatedDateTime ,ROW_NUMBER() OVER(PARTITION BY FK1, FK2 ORDER BY CreatedDateTime) AS RowNumber FROM Table ) AS SubQuery WHERE RowNumber > 1 При...

15
Хранимая процедура базы данных с «режимом предварительного просмотра»

Довольно распространенным шаблоном в приложении базы данных, с которым я работаю, является необходимость создания хранимой процедуры для отчета или утилиты, которая имеет «режим предварительного просмотра». Когда такая процедура выполняет обновления, этот параметр указывает, что результаты действия...

15
Как проверить наличие символов, отличных от Ascii

Каков наилучший способ проверить наличие в поле VARCHAR символов, отличных от Ascii? CHAR(1)через CHAR(31)и CHAR(127)через CHAR(255). Я попытался использовать PATINDEXи столкнулся со следующей проблемой. Проверка нижнего диапазона работала правильно. SELECT * FROM mbrnotes WHERE PATINDEX('%[' +...

15
Почему мой индекс не используется в SELECT TOP?

Вот краткий обзор: я делаю запрос на выборку. Каждый столбец в WHEREи ORDER BYпунктах находятся в одном некластерном индекс IX_MachineryId_DateRecorded, либо как часть ключа, или в качестве INCLUDEстолбцов. Я выбираю все столбцы, так что это приведет к поиску закладок, но я только беру TOP (1), так...

15
datetime2 (0) против datetime2 (2)

Согласно документации datetime2 (Transact-SQL) : Размер хранилища 6 байтов для точности меньше 3. 7 байтов для точности 3 и 4. Все остальные точности требуют 8 байтов. Размер datetime2(0), datetime2(1), datetime2(2)использовать один и тот же объем памяти (6 байт). Буду ли я прав, говоря, что я мог...

15
Почему COALESCE в подзапросе возвращает NULL?

Учитывая эту схему: CREATE TABLE #TEST_COALESCE ( Id int NOT NULL, DateTest datetime NOT NULL, PRIMARY KEY (Id, DateTest) ); INSERT INTO #TEST_COALESCE VALUES (1, '20170201'), (1, '20170202'), (1, '20170203'), (2, '20170204'), (2, '20170205'), (2, '20170206'); Если я использую COALESCE в...

15
Преимущества использования WITH TABLOCK на INSERT

При некоторых обстоятельствах выполнение INSERT INTO <tablename> (WITH TABLOCK)будет быстрее из-за минимальной регистрации. К таким обстоятельствам относится наличие базы данных в BULK_LOGGEDмодели восстановления. Есть ли другие потенциальные выгоды производительности для использования WITH...

15
Запрос подробных различий между строками для большого количества данных

У меня есть несколько больших таблиц, каждая с> 300 столбцами. Приложение, которое я использую, создает «архивы» измененных строк, делая копию текущей строки во вторичной таблице. Рассмотрим тривиальный пример: CREATE TABLE dbo.bigtable ( UpdateDate datetime, PK varchar(12) PRIMARY KEY, col1...

15
SQL Server - если логика в хранимой процедуре и плане кеша

SQL Server 2012 и 2016 Standard: Если я добавлю if-elseлогику в хранимую процедуру для выполнения одной из двух ветвей кода, в зависимости от значения параметра, кеширует ли движок последнюю версию? И если при следующем выполнении значение параметра изменится, будет ли он перекомпилирован и...

15
Декодировать строку Base64 непосредственно в SQL Server

У меня есть varcharстолбец в таблице в SQL Server, который содержит текстовую строку в кодировке base64, которую я хотел бы преобразовать в текстовый эквивалент Есть ли в SQL Server какие-либо встроенные функции для обработки подобных вещей? Пример строки base64:...

15
Индекс Columnstore в файловой группе read_only предотвращает CheckDB

Похоже, установка файловой группы read_onlyпредотвращает dbcc checkdbдля всей базы данных, если файловая группа содержит индекс columnstore. При попытке запустить checkdbили checkfilegroup( для любой файловой группы в базе данных, включая вторичные файлы для чтения и записи и[PRIMARY] ),...

15
Как найти запрос, который все еще держит блокировку?

Запрос sys.dm_tran_locksDMV показывает нам, какие сеансы (SPID) удерживают блокировки таких ресурсов, как таблица, страница и строка. Для каждой полученной блокировки есть ли способ определить, какой оператор SQL (удалить, вставить, обновить или выбрать) вызвал эту блокировку? Я знаю, что...

15
SQL Server: как отключить триггер для обновления только для текущего сеанса?

Я работаю на SQL Server 2008 R2. У меня есть табличное преимущество, которое имеет триггер AFTER INSERT, UPDATE с именем tiu_benefit . Я хочу написать инструкцию UPDATE для этой таблицы, чтобы обновить 1 строку, но я не хочу, чтобы ее триггер срабатывал. Я знаю, что могу отключить триггер до...

15
10 ТБ резервного копирования / восстановления Вопрос

У нас очень большая производственная база данных, которая составляет 10 ТБ. Мы рассматриваем возможность перехода на облачный сервис, но я должен понять риски и оценить продолжительность всего процесса. Я делаю резервную копию базы данных один раз в месяц, используя решение для резервного...

15
Как время ожидания может быть выше времени на часах?

Когда я отслеживаю ожидания с помощью sp_BlitzFirst, я получаю следующую информацию: <?ClickToSeeDetails -- For 20 seconds over the last 5 seconds, SQL Server was waiting on this particular bottleneck. -- ?> Должно ли это звучать "20 раз за последние 5 секунд?" Нахождение было...