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

22
Как ограничить максимальное количество строк в таблице до 1

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

22
Кэширует ли SQL Server результат табличной функции с несколькими операторами?

Табличная функция с несколькими утверждениями возвращает свой результат в табличной переменной. Эти результаты когда-либо повторно используются, или функция всегда полностью оценивается каждый раз, когда она...

22
Триггеры компилируются каждый раз?

Мы устраняем неполадки на сервере с высокой загрузкой ЦП. Обнаружив, что запросы на самом деле не вызывают его, мы начали изучать компиляции. Монитор производительности показывает менее 50 компиляций в секунду и менее 15 перекомпиляций в секунду. После запуска сеанса XE в поисках компиляций мы...

22
Базы данных распределенной группы доступности SQL Server не синхронизируются после перезагрузки сервера

Мы готовимся к значительному обновлению наших SQL-серверов и отмечаем необычное поведение с распределенными группами доступности, которое я пытаюсь решить, прежде чем двигаться дальше. В прошлом месяце я обновил удаленный вторичный сервер с SQL Server 2016 до SQL Server 2017. Этот сервер является...

22
Разве плохо иметь индексное пространство больше, чем пространство данных?

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

22
Почему мои некластеризованные индексы занимают больше места при удалении строк?

У меня есть большая таблица с 7,5 млрд строк и 5 индексов. Когда я удаляю примерно 10 миллионов строк, я замечаю, что некластеризованные индексы увеличивают количество страниц, на которых они хранятся. Я написал запрос, dm_db_partition_statsчтобы сообщить разницу (после - до) в страницах: Индекс 1...

21
Каковы лучшие практики для запуска SQL Server на виртуальной машине?

Каковы лучшие практики для запуска SQL Server на виртуальной машине? Мои операции по онлайн-транзакциям очень низкие, но существует большой объем обработки данных с целью предоставления отчетных данных нескольким...

21
Как часто для резервного копирования основной базы данных?

Предложение в BOL довольно расплывчато: Резервное копирование мастер так часто, как необходимо, чтобы защитить данные в достаточной степени для вашего бизнеса. Мы рекомендуем регулярное расписание резервного копирования, которое можно дополнить дополнительным резервным копированием после...

21
Определить, как произошло изменение схемы?

Что-то плохое случилось вчера. Представление, которое было создано некоторое время назад, было изменено кем-то, что в итоге сломало отчеты. К несчастью. кто-то (сознательно или неосознанно) сделал эту модификацию в базе данных PRODUCTION. Мой вопрос: есть ли способ (скрипт / программное обеспечение...

21
Можно ли слепо добавлять недостающие индексы?

Я часто использую SSMS для проверки моих медленных хранимых процедур на предмет отсутствия индексов. Всякий раз, когда я вижу «Отсутствующий индекс (Impact xxx)», моя реакция на коленях - просто создать новый индекс. Насколько я могу судить, это приводит к более быстрому запросу каждый раз. Любая...

21
Преимущества Common Table Expression (CTE)?

Этот вопрос был перенесен из переполнения стека, поскольку на него можно ответить в Exchange Stack Exchange для администраторов баз данных. Мигрировал 7 лет назад . Из MSDN : В отличие от производной таблицы, CTE может иметь самоссылку и на нее можно ссылаться несколько раз в одном запросе. Я...

21
CREATE DATABASE против CREATE ANY DATABASE разрешений

В чем разница между разрешениями CREATE DATABASEи CREATE ANY DATABASEразрешениями в Microsoft SQL Server ? Я не могу найти авторитетный ответ. Лучшее, что я могу сделать вывод, это то, что (а) CREATE ANYподразумевает, что я могу создать базу данных, которая будет принадлежать другому пользователю,...

21
Как добавить столбец версии строки в большую таблицу с минимальным временем простоя

Используя SQL Server 2008 и более поздние версии, я хочу добавить столбец rowversion в большую таблицу, однако, когда я просто ALTER TABLE [Tablename] ADD Rowversion [Rowversion] NOT NULL Тогда таблица будет недоступна для обновления слишком долго. Какие стратегии я могу использовать, чтобы...

21
Кто-нибудь использует HierarchyId в производстве? Это надежно?

Кто-нибудь использует HierarchyId в реальном производстве с таблицами разумного размера, более нескольких тысяч строк? Это надежный / производительный? До сих пор я не нашел никого, кто не связан с продавцом, рекомендовал бы это, и Пол Нильсен советует против этого здесь . Каков ваш опыт...

21
Лучший способ хранить единицы в базе данных

Я унаследовал большую (SQLServer) базу данных с сотнями столбцов, которые представляют суммы той или иной вещи. Единицы для этих значений (например, «галлоны», «дюймы» и т. Д.) Хранятся в поле MS_Description расширенных свойств. Мне интересно, есть ли лучший способ хранить эту информацию. Я...

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

Три SELECTутверждения в этом коде USE [tempdb]; GO SET NOCOUNT ON; CREATE TABLE dbo.persist_test ( id INT NOT NULL , id5 AS (id * 5) , id5p AS (id * 5) PERSISTED ); INSERT INTO dbo.persist_test (id) VALUES (1), (2), (3); SELECT id FROM dbo.persist_test; SELECT id5 FROM dbo.persist_test; SELECT id5p...

21
Подавить автозаполнение SQL Server Management Studio автоматически

Есть ли способ временно отключить автозаполнение SQL Server Management Studio при вводе запроса? Я не хочу полностью отключать автозаполнение, просто скажите, удерживая нажатой клавишу, набирая определенное слово, чтобы оно не мешало. Например, скажем, у меня был следующий запрос SELECT Foo, Foo2...

21
Должен ли я добавить SET NOCOUNT ON ко всем моим триггерам?

Это довольно распространенное знание, что вы должны иметь SET NOCOUNT ON по умолчанию при создании новых хранимых процедур. Microsoft изменила шаблон по умолчанию, чтобы включить его в 2012 году. Я думал, что это должно быть то же самое для триггеров, но он не включен в шаблон. Это преднамеренное...