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

18
Не используйте транзакцию для хранимой процедуры

У меня есть хранимая процедура, которая запускает несколько команд. Я не хочу, чтобы эти команды были включены в транзакцию хранимой процедуры. Если 4-я команда терпит неудачу, я хочу, чтобы 1-я, 2-я и 3-я команды остались, а не откатывались. Можно ли написать хранимую процедуру таким образом,...

18
Необходимо понимать ошибку выполнения параллельного запроса

Сегодня мы испытали снижение производительности на нашем производственном сервере sql. За время, когда это произошло, мы зафиксировали несколько "The query processor could not start the necessary thread resources for parallel query execution"ошибок. Чтение, которое я сделал, предполагает, что это...

18
«Невозможно создать строку размером 8074, которая превышает допустимый максимальный размер строки 8060» при изменении таблицы

Я пытаюсь изменить столбец в таблице. Существующая таблица выглядит так: CREATE TABLE [dbo].[table]( [id1] [int] NOT NULL, [id2] [int] NOT NULL, [id3] [int] NOT NULL, [name] [nvarchar](255) NOT NULL, [id4] [int] NOT NULL, [xmlData] [xml](CONTENT [dbo].[xml_schema]) NULL, [booleanData1] [bit] NOT...

18
Таблицы, оптимизированные для памяти - их действительно сложно поддерживать?

Я исследую преимущества обновления с MS SQL 2012 до 2014 года. Одна из главных особенностей SQL 2014 - это оптимизированные для памяти таблицы, которые, очевидно, делают запросы очень быстрыми. Я обнаружил, что есть несколько ограничений для таблиц, оптимизированных для памяти, таких как: Нет...

18
Кластерные индексы хранилища столбцов и внешние ключи

Я настраиваю производительность хранилища данных, используя индексы. Я довольно новичок в SQL Server 2014. Microsoft описывает следующее: «Мы рассматриваем кластеризованный индекс columnstore как стандарт для хранения больших таблиц фактов хранилища данных и ожидаем, что он будет использоваться в...

18
Как измерить или найти стоимость создания плана запроса?

У меня есть типичный случай, когда сниффинг параметров приводит к тому, что «плохой» план выполнения попадает в кэш плана, в результате чего последующее выполнение моей хранимой процедуры происходит очень медленно. Я могу «решить» эту проблему с помощью локальных переменных OPTIMIZE FOR ......

18
Производительность подкачки с настраиваемой сортировкой по многим миллионам строк

В нашем приложении есть сетка, в которой пользователи могут просматривать большое количество записей (10-20 миллионов). Сетка поддерживает сортировку по возрастанию и убыванию по ряду столбцов (20+). Многие из этих значений также не являются уникальными, поэтому приложение также сортирует их по...

18
Использование DISTINCT в оконной функции с OVER

Я пытаюсь перенести запрос из Oracle в SQL Server 2014. Вот мой запрос, который прекрасно работает в Oracle: select count(distinct A) over (partition by B) / count(*) over() as A_B from MyTable Вот ошибка, которую я получил после того, как попытался выполнить этот запрос в SQL Server 2014. Use of...

18
Неожиданные пробелы в столбце IDENTITY

Я пытаюсь сгенерировать уникальные номера заказов на покупку, которые начинаются с 1 и увеличиваются на 1. У меня есть таблица PONumber, созданная с помощью этого сценария: CREATE TABLE [dbo].[PONumbers] ( [PONumberPK] [int] IDENTITY(1,1) NOT NULL, [NewPONo] [bit] NOT NULL, [DateInserted]...

18
FOR XML не удалось сериализовать данные, поскольку они содержат символ (0x0000)

У меня большой запрос (при необходимости я опубликую его здесь), и я получаю эту ошибку: Сообщение 6841, уровень 16, состояние 1, строка 1 FOR XML не удалось сериализовать данные для узла «NoName», поскольку он содержит символ (0x0000), который не разрешен в XML. Чтобы получить эти данные с помощью...

18
Почему табличная переменная вызывает сканирование индекса, в то время как временная таблица использует поиск и поиск по закладкам?

Я пытаюсь понять, почему использование табличной переменной не позволяет оптимизатору использовать поиск по индексу, а затем поиск по закладкам по сравнению со сканированием индекса. Заполнение таблицы: CREATE TABLE dbo.Test ( RowKey INT NOT NULL PRIMARY KEY, SecondColumn CHAR(1) NOT NULL DEFAULT...

18
Почему создание индекса занимает больше времени после увеличения размера столбца?

Наш поставщик изменил ширину столбцов практически для каждого столбца во всей базе данных. База данных составляет около 7 ТБ, более 9000 таблиц. Мы пытаемся создать индекс для таблицы с 5,5 миллиардами строк. До обновления вендора мы могли создать индекс за 2 часа. Теперь это занимает дни. Что они...

18
Невозможно создать отфильтрованный индекс для вычисляемого столбца

В моем предыдущем вопросе, это хорошая идея, чтобы отключить эскалацию блокировки при добавлении новых вычисляемых столбцов в таблицу? Я создаю вычисляемый столбец: ALTER TABLE dbo.tblBGiftVoucherItem ADD isUsGift AS CAST ( ISNULL( CASE WHEN sintMarketID = 2 AND strType = 'CARD' AND strTier1 LIKE...

18
Почему SQL-инъекция не происходит по этому запросу внутри хранимой процедуры?

Я сделал следующую хранимую процедуру: ALTER PROCEDURE usp_actorBirthdays (@nameString nvarchar(100), @actorgender nvarchar(100)) AS SELECT ActorDOB, ActorName FROM tblActor WHERE ActorName LIKE '%' + @nameString + '%' AND ActorGender = @actorgender Теперь я попытался сделать что-то вроде этого....

18
Сгруппируйте ежедневное расписание в [Дата начала; Дата окончания] интервалы со списком дней недели

Мне нужно конвертировать данные между двумя системами. Первая система хранит расписания в виде простого списка дат. Каждая дата, включенная в расписание, состоит из одной строки. В последовательности дат могут быть различные промежутки (выходные, праздничные дни и более длинные паузы, некоторые дни...

18
Мульти-оператор TVF против Inline TVF Performance

Сравнивая некоторые ответы на вопрос о Палиндроме (только 10 000 пользователей, поскольку я удалил ответ), я получаю запутанные результаты. Я предложил TVF с привязкой к нескольким операторам, который, по моему мнению, будет быстрее, чем запуск стандартной функции. У меня также сложилось...

18
Планирование размера кеша и зарезервированной памяти

При выполнении запроса, включающего фактический план выполнения, корневой оператор ( SELECT) сообщает мне, что размер кэшированного плана составляет 32 КБ. Запрос, который присоединяется sys.dm_exec_cached_plansи sys.dm_os_memory_objects, глядя на рассматриваемый план, сообщает, что значения для...

18
Прописывать только первую букву каждого слова каждого предложения в SQL Server

Я хочу использовать только первую букву каждого слова каждого предложения в столбце SQL. Например, если предложение: 'Мне нравятся фильмы' тогда мне нужен вывод: 'Мне нравятся фильмы' Запрос: declare @a varchar(15) set @a = 'qWeRtY kEyBoArD' select @a as [Normal text], upper(@a) as [Uppercase...

18
Какова цель столбца Row_GUID?

Я копался в базе данных AdventureWorks2012 и вижу, что Row_GUID используется в нескольких таблицах. На мой вопрос есть 2 части: Когда я должен включить столбец Row_GUID? Каковы преимущества и преимущества столбца...