Articles of sql server 2005

как решить проблему взаимоблокировки?

Я прочитал эту проблему с мертвой блокировкой. Когда таблицы базы данных начинают накапливать тысячи строк, и многие пользователи начинают работать над одной и той же таблицей одновременно, запросы SELECT в таблицах начинают создавать блокировки и блокировки транзакций. Является ли эта проблема взаимоблокировки связанной с TransactNo updlock? Если вы знаете эту проблему, дайте мне знать PLS. […]

Почему запрос медленный, но быстрый процесс на SQL Server?

Почему, если я запускаю свой запрос в качестве параметризованной процедуры, он выполняется в 10 раз быстрее, если я запускаю его напрямую в качестве параметризованного запроса? Я использую тот же самый запрос в обоих случаях, и не имеет значения, звоню ли я из Management Studio или SqlCommand из кода. EDIT: план выполнения выглядит по-другому. Итак, почему? […]

Объединение двух таблиц в SQL Server 2008

У меня есть две таблицы, одна из которых является таблицей Stage, схема которой является exac main, я хочу обновить данные из таблицы этажа в основную таблицу с столбцом идентификатора как резервным ключом. Я попытался использовать Merge в SQL, но столкнулся с проблемами, так как обновлено только несколько значений, и тысячи новых значений необходимо вставить в […]

Должен ли я использовать sp_executesql или EXEC для запуска хранимой процедуры?

У меня есть хранимая процедура, которая должна вызывать второй SP несколько раз. Единственное, что меняется, это параметры для второго SP. Что-то вроде этого: SELECT @P1=5, @P2=5 EXEC MyProc @P1, @P2 SELECT @P1=0, @P2=1 EXEC MyProc @P1, @P2 Теперь, если это был динамический SQL, который я запускал, я знаю, что sp_executesql будет лучше, чем EXEC, но […]

sp_whoisactive приводит к неизвестному запросу: «Вставить Into <имя_таблицы>> выбрать *, %% bmk %% из <table_name> (maxdop 1)"

sp_whoisactive приводит к неизвестному запросу: insert into <table_name> select *,%%bmk%% from <table_name> option (maxdop 1) Я проверил вышеуказанный блок кода, но не нашел этот код в любой из моих процедур. Кто-нибудь может предложить, что этот запрос может сделать.

Таблица, содержащая постоянную колонку TEXT

У нас есть таблица в производственной системе, которая (по устаревшим причинам) работает с SQL 2005 (9.0.5266) и содержит столбец TEXT (наряду с несколькими другими столбцами различных типов данных). Внезапно (начиная с недели назад) мы заметили, что размер этой таблицы растет линейно на 10-15 ГБ в день (тогда как раньше он всегда оставался неизменным). Таблица представляет […]

Почему SQL Server «вычисляет скаляр», когда я выбираю постоянный вычисленный столбец?

У меня есть один постоянный столбец на основе поля XML, и SQL Server всегда использует «Compute Scalar», когда я запрашиваю эту таблицу. Зачем? это не сохранилось? Я подозреваю, что я не делаю никаких условий, которые предотвращают истинное сохранение столбца. Это моя таблица (и функция, необходимая для создания сохраненного столбца): create FUNCTION [dbo].[FuncTestPersisted] (@xml XML) RETURNS […]

SQLServer – выберите bool, если столбец начинается со строки

Я хотел бы выбрать логическое значение того, начинается ли столбец с определенной строки. SELECT (name LIKE 'foo%') AS isFoo FROM bar; Есть ли способ сделать это без использования встроенного CASE ?

Различные планы выполнения для одной и той же хранимой процедуры

У нас есть запрос, который занимает около 5 секунд в нашей производственной системе, но на нашей зеркальной системе (как можно более идентичной для производства) и dev-системах требуется менее 1 секунды. Мы проверили планы запросов, и мы видим, что они отличаются. Также из этих планов мы можем понять, почему один занимает больше времени, чем другой. Данные, […]

Использование SQL Profiler для создания файла трассировки в течение нескольких дней

Я хотел бы создать один файл трассировки с использованием SQL Profiler, который охватывает несколько дней, поэтому я могу запустить его через DTA, чтобы получить некоторые рекомендации по индексам. Моя проблема в том, что я буду делать это на своем ноутбуке, который я закрываю и возвращаю домой каждую ночь, поэтому я не могу просто приостановить его, […]