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

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

264
Почему журнал транзакций продолжает расти или не хватает места?

Этот вопрос, кажется, является распространенным вопросом на большинстве форумов и во всем Интернете, он задается здесь во многих форматах, которые обычно звучат так: В SQL Server - По каким причинам журнал транзакций становится таким большим? Почему мой файл журнала такой большой? Как можно...

227
Как вы документируете свои базы данных?

Я считаю, что большинство моих клиентов вообще не документируют свои базы данных, и я нахожу это довольно пугающим. Чтобы познакомить вас с лучшей практикой, я хотел бы знать, какие инструменты / процессы используют люди. Как вы документируете свою базу данных? (SQL-сервер) Какой инструмент вы...

195
Когда я должен использовать уникальное ограничение вместо уникального индекса?

Когда я хочу, чтобы столбец имел разные значения, я могу использовать ограничение create table t1( id int primary key, code varchar(10) unique NULL ); go или я могу использовать уникальный индекс create table t2( id int primary key, code varchar(10) NULL ); go create unique index I_t2 on t2(code);...

174
В чем разница между CTE и Temp Table?

В чем разница между общим выражением таблицы (CTE) и временной таблицей? И когда я должен использовать один над другим? КТР WITH cte (Column1, Column2, Column3) AS ( SELECT Column1, Column2, Column3 FROM SomeTable ) SELECT * FROM cte Temp Table SELECT Column1, Column2, Column3 INTO #tmpTable FROM...

169
Когда первичный ключ должен быть объявлен некластеризованным?

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

162
Должны ли разработчики запрашивать производственные базы данных?

Должны ли разработчики получать разрешение на запрос ( SELECT/ только для чтения) производственных баз данных? Предыдущее место , где я работал, команда разработчиков была db_datareaderроль; где я сейчас работаю, команда разработчиков не может даже подключиться к производственному экземпляру. Один...

112
Почему таблицы чисел «бесценны»?

Наш постоянный эксперт по базам данных говорит нам, что таблицы чисел бесценны . Я не совсем понимаю, почему. Вот таблица чисел: USE Model GO CREATE TABLE Numbers ( Number INT NOT NULL, CONSTRAINT PK_Numbers PRIMARY KEY CLUSTERED (Number) WITH FILLFACTOR = 100 ) INSERT INTO Numbers SELECT (a.Number...

110
Как определить, нужен ли индекс или необходим

Я запускаю инструмент автоматического индексирования в нашей базе данных MS SQL (я изменил скрипт, созданный Microsoft, который просматривает таблицы статистики индекса - Automated Auto Indexing ). Из статистики у меня теперь есть список рекомендаций для индексов, которые нужно создать....

105
SQL Server Management Studio 18 не открывается (появляется только заставка)

Я только что установил SSMS 18 GA на компьютер, на котором установлена ​​только VS2019, и когда я пытаюсь открыть SSMS, появится всплывающее окно, но затем процесс завершается. Запуск ssms с -logпараметром выдает сообщение об ошибке: Сбой CreateInstance для пакета [Пакет планировщика задач]...

100
Зачем использовать TRUNCATE и DROP?

В системе, над которой я работаю, есть много хранимых процедур и сценариев SQL, которые используют временные таблицы. После использования этих таблиц рекомендуется удалить их. Многие из моих коллег (почти все из которых гораздо опытнее меня) обычно делают это: TRUNCATE TABLE #mytemp DROP TABLE...

98
Читает ли SQL Server всю функцию COALESCE, даже если первый аргумент не равен NULL?

Я использую функцию T-SQL, COALESCEгде первый аргумент не будет нулевым в 95% случаев, когда он запускается. Если первый аргумент NULL, второй аргумент довольно длительный процесс: SELECT COALESCE(c.FirstName ,(SELECT TOP 1 b.FirstName FROM TableA a JOIN TableB b ON .....) ) Если, например,...

97
Guid vs INT - Что лучше в качестве первичного ключа?

Я читаю вокруг причин использовать или нет Guidи int. intменьше, быстрее, легко запоминается, сохраняет хронологическую последовательность. И что касается Guid, единственное преимущество, которое я нашел, - то, что это уникально. В каком случае Guidбудет лучше, чем intи почему? Из того, что я...

92
Действительно ли добавление префикса 'tbl' к именам таблиц является проблемой?

Я смотрю несколько видео с Брентом Озаром ( например, этот ), и он предлагает не ставить таблицы с префиксами ‘tbl’или ‘TBL’. В интернете я обнаружил, что некоторые блоги говорят, что это ничего не добавляет к документации, а также что «для ее прочтения требуется больше времени». Вопросы и...

91
Когда использовать TINYINT поверх INT?

В общем, я всегда использую Интс. Я знаю, что в теории это не лучшая практика, так как вы должны использовать наименьший тип данных, который будет гарантированно хранить данные. Например, лучше использовать, tinyintкогда вы знаете, что единственные данные, которые вы будете хранить, это 1, 0 или...

88
Получение n строк на группу

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

88
Это плохая практика всегда создавать транзакцию?

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