Администраторы базы данных

Вопросы и ответы для специалистов по базам данных, которые хотят улучшить свои навыки работы с базами данных и учиться у других в сообществе

1
Как отфильтровать использование определяемой пользователем скалярной функции из данных аудита SQL Server?
У нас есть база данных SQL Server, которая имеет спецификацию аудита базы данных, которая проверяет все выполняемые действия в базе данных. CREATE DATABASE AUDIT SPECIFICATION [dbAudit] FOR SERVER AUDIT [servAudit] ADD (EXECUTE ON DATABASE::[DatabaseName] BY [public]) Мы обнаружили, что некоторые запросы записывают в журнал аудита использование скалярной функции для каждой …

3
Эмулируйте пользовательскую скалярную функцию таким образом, чтобы не предотвратить параллелизм
Я пытаюсь увидеть, есть ли способ обмануть SQL Server, чтобы использовать определенный план для запроса. 1. Окружающая среда Представьте, что у вас есть данные, которые используются разными процессами. Итак, предположим, у нас есть результаты экспериментов, которые занимают много места. Затем для каждого процесса мы знаем, какой год / месяц результата …

1
Почему обрезка временной таблицы в конце хранимой процедуры ускоряет создание свободного пространства в базе данных tempdb?
SQL Server кэширует временные таблицы, созданные в хранимых процедурах, и просто переименовывает их, когда процедура заканчивается и впоследствии выполняется. Мой вопрос касается того, когда освободится пространство tempdb. Я читал, что таблица обрезается в конце процедуры . Я читал в комментариях, что это обрабатывается для каждого сеанса, и видел вопрос о …

2
Найти несжатый размер всех таблиц в базе данных
В Dynamics AX существует механизм кэширования, в котором таблицы можно настроить для загрузки в память и кэширования. Этот кэш ограничен определенным объемом в КБ для предотвращения проблем с памятью. Настройка, о которой я говорю, вызывается entiretablecacheи загружает всю таблицу в память, как только запрашивается одна запись. До недавнего времени мы …

2
Что такое «таблица переходов» в Postgres?
На странице, описывающей новые возможности Postgres 10, упоминаются «Таблицы переходов для триггеров». Таблицы переходов для триггеров Эта функция делает AFTER STATEMENTтриггеры как полезными, так и производительными, предоставляя, при необходимости, старые и новые строки запросам. До этой функции AFTER STATEMENTтриггеры не имели прямого доступа к ним, а обходные пути были византийскими …

3
Регистрирует ли журнал SQL Server незафиксированные операции?
Я часто вижу такие заявления, как записи в журнале sql server при каждой операции и операции. Но я путать о том, что происходит , когда транзакция в конце концов проката назад . Скажем явная транзакция имеет 3 положения: statement A, statement B, statement C, и , наконец rollback statement D. …
12 sql-server 

3
Зачем оператору параллелизма (потоки перераспределения) уменьшать оценки строк до 1?
Я использую SQL Server 2012 Enterprise. Я столкнулся с планом SQL, демонстрирующим некоторое поведение, которое я не нахожу полностью интуитивным. После тяжелой операции параллельного сканирования индекса происходит операция параллелизма (потоки перераспределения), но она убивает оценки строк, возвращаемые сканированием индекса (Object10.Index2), уменьшая оценку до 1. Я провел некоторый поиск, но не …

5
Заполнение пропущенных данных на основе значений на конец предыдущего месяца
Учитывая следующие данные: create table #histories ( username varchar(10), account varchar(10), assigned date ); insert into #histories values ('PHIL','ACCOUNT1','2017-01-04'), ('PETER','ACCOUNT1','2017-01-15'), ('DAVE','ACCOUNT1','2017-03-04'), ('ANDY','ACCOUNT1','2017-05-06'), ('DAVE','ACCOUNT1','2017-05-07'), ('FRED','ACCOUNT1','2017-05-08'), ('JAMES','ACCOUNT1','2017-08-05'), ('DAVE','ACCOUNT2','2017-01-02'), ('PHIL','ACCOUNT2','2017-01-18'), ('JOSH','ACCOUNT2','2017-04-08'), ('JAMES','ACCOUNT2','2017-04-09'), ('DAVE','ACCOUNT2','2017-05-06'), ('PHIL','ACCOUNT2','2017-05-07') ; ... который представляет, когда данный пользователь был назначен на учетную запись. Я пытаюсь установить, кому принадлежала данная учетная …


2
Отсутствие планов выполнения для хранимых процедур
Каковы причины отсутствия плана в кэше для хранимых процедур? WITH RECOMPILE Динамический SQL Зашифрованный код Значительные изменения данных Обновить статистику Что еще? Недавно я работал на 2 серверах (SQL Server 2008 R2 и SQL Server 2012), которые не имели планов в кеше для очень ресурсоемких хранимых процедур. Многие, может быть, …

2
Что [ОТ x, y] означает в Postgres?
Я только начинаю с Postgres. Читая этот документ, я наткнулся на этот запрос: SELECT title, ts_rank_cd(textsearch, query) AS rank FROM apod, to_tsquery('neutrino|(dark & matter)') query WHERE query @@ textsearch ORDER BY rank DESC LIMIT 10; Я могу понять все , что в этом запросе, за исключением того, для этого: FROM …
12 postgresql  join 

2
Могу ли я провести рефакторинг этого запроса, чтобы он работал параллельно?
У меня есть запрос, который занимает около 3 часов на нашем сервере - и он не использует преимущества параллельной обработки. (около 1,15 миллионов записей в dbo.Deidentified, 300 записей в dbo.NamesMultiWord). Сервер имеет доступ к 8 ядрам. UPDATE dbo.Deidentified WITH (TABLOCK) SET IndexedXml = dbo.ReplaceMultiWord(IndexedXml), DE461 = dbo.ReplaceMultiWord(DE461), DE87 = dbo.ReplaceMultiWord(DE87), …

2
Настроить неограниченное делегирование для BULK INSERT
У меня есть пара узлов Microsoft SQL Server 2016 в группе доступности всегда. Я пытаюсь выполнить BULK INSERT(используя запрос SQL Server 2016 Management Studio) файл, расположенный в отказоустойчивом кластере файлового сервера Windows Server 2016, но получаю следующую ошибку: Сообщение 4861, уровень 16, состояние 1 Не удается выполнить массовую загрузку, поскольку …

1
Как я могу заставить скалярный UDF быть оценен только один раз в запросе?
У меня есть запрос, который необходимо отфильтровать по результату скалярного UDF. Запрос должен быть отправлен как один оператор (поэтому я не могу присвоить результат UDF локальной переменной), и я не могу использовать TVF. Я знаю о проблемах производительности, вызванных скалярными UDF, которые включают в себя принудительное выполнение всего плана поочередно, …

3
Должна ли мультитенантная система с SQL Server 2016, Shard или иметь изоляцию арендатора через отдельную базу данных на каждого арендатора?
Учитывая вариант использования: Данные арендатора не должны пересекаться, одному арендатору не нужны данные другого арендатора. Каждый арендатор может иметь большой объем исторических данных. SQL Server размещен в экземпляре AWS EC2. Каждый арендатор географически отдален. Предполагается использовать сторонние инструменты визуализации, такие как PowerBI Embedded. Ожидается, что объем данных будет расти со …

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