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

Все версии Microsoft SQL Server (не MySQL). Также добавьте тег для конкретной версии, например sql-server-2016, поскольку он часто имеет отношение к вопросу.

2
Индекс Columnstore в файловой группе read_only предотвращает CheckDB
Похоже, установка файловой группы read_onlyпредотвращает dbcc checkdbдля всей базы данных, если файловая группа содержит индекс columnstore. При попытке запустить checkdbили checkfilegroup( для любой файловой группы в базе данных, включая вторичные файлы для чтения и записи и[PRIMARY] ), возвращается ошибка ниже ... Msg 8921, Level 16, State 1, Line 24 Check …

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

1
Почему 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 в подзапросе, он возвращает NULL. SELECT t1.Id, t1.DateTest, (SELECT TOP …
15 sql-server 

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

2
Как 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 При рассмотрении кода я предполагал, что он не …

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

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

3
Почему мой запрос 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 , o.sintMarketID , o.strOrderKey , o.strOfferCode , o.strCurrencyCode , o.decBCShipFullPrice , o.decBCShipFinal , …

3
Хранимая процедура базы данных с «режимом предварительного просмотра»
Довольно распространенным шаблоном в приложении базы данных, с которым я работаю, является необходимость создания хранимой процедуры для отчета или утилиты, которая имеет «режим предварительного просмотра». Когда такая процедура выполняет обновления, этот параметр указывает, что результаты действия должны быть возвращены, но процедура на самом деле не должна выполнять обновления базы данных. …
15 sql-server  t-sql 

2
Более новая версия SQL Server менее стабильна?
Наш архитектор баз данных сказал нашему клиенту, что SQL Server 2014 - плохой выбор по сравнению с 2012 годом, поскольку в нем отсутствуют преимущества производительности и стабильности, которые есть у 2012 года. Все, что я прочитал, противоречит этому. Аарон Бертран говорит, что все наоборот, и все официальные документы, которые я …

3
Резервные копии журнала транзакций: последовательные или параллельные?
Мы используем SQL Server 2012 Standard Edition. Мне также довелось использовать сценарии Олы Хелленгрен, чтобы обеспечить более простую и гибкую среду для резервного копирования и обслуживания. Этот вопрос не столько о сценариях Олы, сколько о лучшей практике. Я понимаю, что окончательный ответ «это зависит от требований вашей компании». Но я …

1
Метрики, чтобы доказать или опровергнуть необходимость дополнительных администраторов баз данных?
В настоящее время у нас есть 2 DBA, я и еще один парень, и мы оба чувствуем потребность в дополнительном ресурсе (или двух). Я несколько раз беседовал с моим непосредственным руководителем по этой теме, но у меня возникают трудности с продажей идеи. Совсем недавно наш менеджер поделился с нами, что …

1
Счетчик SQL Server 2014 (DISTINCT x) игнорирует вектор плотности статистики для столбца x
Для a, COUNT(DISTINCT)который имеет ~ 1 миллиард различных значений, я получаю план запроса с агрегатом хешей, который оценивается в ~ 3 миллиона строк. Почему это происходит? SQL Server 2012 дает хорошую оценку, так что это ошибка в SQL Server 2014, о которой я должен сообщить в Connect? Запрос и плохая …

1
Недостаточно системной памяти в пуле ресурсов по умолчанию для выполнения этого запроса
Я использую SQL Server 2014 - 12.0.2269.0 (X64) в Windows Server 2012, и у меня возникают некоторые проблемы с памятью. Когда я запускаю хранимую процедуру, которая выполняет довольно «тяжелые» вычисления, я получаю ошибку примерно через 10 минут: Недостаточно системной памяти в пуле ресурсов «по умолчанию» для выполнения этого запроса. Мой …

2
DDL_admin против разрешений db_owner
Я занимаюсь проектом, который включает в себя удаление и ограничение разрешений всех пользователей базы данных в нашей ферме серверов. (веселые времена) Одним из разрешений, которые в настоящее время ограничены, являются разрешения db_owner Это разрешение пересматривается в каждом конкретном случае, но общим изменением является замена разрешений db_owner следующим: db_datareader db_datawriter db_ddladmin …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.