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

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

1
Postgres: связь не существует ошибка
Я использовал pg_restore для загрузки моей базы данных postgres с файлом дампа. Я подключился к моей БД с моим пользователем: sudo -u arajguru psql dump select current_user; current_user -------------- arajguru Теперь я смог увидеть все вновь созданные таблицы: dump=> \dt List of relations Schema | Name | Type | Owner …
14 postgresql 

4
Удалить все данные в базе данных Postgres
Я создал свежий дб дамп от производственного сервера с --data-onlyи --column-insertsфлагами, так что я только кучу заявлений вставки для вставки данных при выполнении восстановления на промежуточном сервере. pg_dump -h localhost -U adminuser --data-only --column-inserts maindb > maindb.sql Как сначала удалить все данные в базе данных промежуточного сервера, прежде чем восстанавливать …

2
PostgreSQL UPSERT проблема со значениями NULL
У меня проблема с использованием новой функции UPSERT в Postgres 9.5 У меня есть таблица, которая используется для агрегирования данных из другой таблицы. Составной ключ состоит из 20 столбцов, 10 из которых могут быть обнуляемыми. Ниже я создал уменьшенную версию проблемы, в частности, со значениями NULL. CREATE TABLE public.test_upsert ( …

3
Как лучше всего поддерживать размеры файла журнала SQL
Я в некотором роде новый администратор баз данных, и я управляю экземпляром SQL Server 2012, который обладает достаточной активностью. Я работаю в режиме полного восстановления, потому что нам нужно время восстановления. Прямо сейчас я беру полную резервную копию баз данных и журналов каждый день в 5 утра. Некоторые из файлов …

1
Временное перемещение базы данных SQL Server 2016 в SQL Server 2017 и последующее перемещение назад. Является ли это возможным?
Если я возьму резервную копию базы данных из экземпляра SQL Server 2016, а затем восстановлю ее до экземпляра 2017, чтобы поработать над ней. Могу ли я затем развернуть и сделать резервную копию этой базы данных из экземпляра 2017 года и использовать ее для перезаписи исходной версии в экземпляре 2016 года?

1
Оценка мощности предикатов частично охватывающего диапазона
Сейчас я пытаюсь выяснить, как SQL Server оценивает количество предикатов диапазона, которые частично покрывают шаг гистограммы. В интернете, при значении статистики кардинальности для оценки внутри шага, я наткнулся на похожий вопрос, и Пол Уайт дал на него довольно интересный ответ. Согласно ответу Павла, формулы для оценки количества элементов для предикатов> …

1
Почему эта блокировка RX-X не отображается в расширенных событиях?
Проблема У меня есть пара запросов, которые при сериализуемой изоляции вызывают блокировку RX-X. Однако, когда я использую Расширенные события для наблюдения за захватом блокировки, захват блокировки RX-X никогда не появляется, он только освобождается. От куда это? Репро Вот мой стол: CREATE TABLE dbo.LockTest ( ID int identity, Junk char(4) ) …

1
Только физический checkdb не работает, но полный завершен успешно
Я выполняю checkdb с параметром Physical_only, и он завершается с несколькими ошибками, как показано ниже: Сообщение 8965, уровень 16, состояние 1, строка 1 Ошибка таблицы: идентификатор объекта 1557580587, идентификатор индекса 1, идентификатор раздела 72057594088456192, идентификатор блока выделения 72057594177454080 (тип In-row data). На узел данных вне строки на странице (1: 13282192), …

1
Поддерживает ли SQL Server 2017, включая более старые версии, размеры секторов диска 8 КБ?
Дисковые накопители (в общих чертах включающие не только вращающиеся носители, но и не вращающиеся носители [SSD, NVMe и т. Д.]) Продолжают развиваться в своих базовых форматах и ​​оборудовании. Частично это было «улучшением» с 512-байтовых размеров физических секторов до 4- килобайтных размеров физических секторов, что меняет структуру на диске (512n, 512e, …

2
При просмотре предполагаемого плана выполнения генерируются CXPACKET, PAGELATCH_SH и LATCH_EX [ACCESS_METHODS_DATASET_PARENT] ожидания
Я использую Microsoft SQL Server 2016 с пакетом обновления 2 (SP2-CU6) (13.0.5292.0) на виртуальной машине с 4 виртуальными ЦП с max degree of parallelismустановленным значением 2и cost threshold for parallelismустановленным значением 50. По утрам, при попытке отобразить примерный план выполнения для запроса SELECT TOP 100 , я сталкиваюсь с массовым …

1
SET NOCOUNT Ошибка при обработке вызова SQL после обновления
Мы обновляем нашу тестовую среду новым сервером и обновленной версией Microsoft SQL Server и столкнулись с проблемой. На новом сервере наш старый код получит «операция запрещена, когда объект закрыт» при выполнении некоторых хранимых процедур. Это сообщение никогда не появлялось на старом сервере. Когда мы отследили его, проблему можно решить, добавив …

2
Требуется ли для изменения пароля «sa» перезапуск SQL (в смешанном режиме)?
Мы обнаружили, что учетная запись SQL «sa» используется не так, как должно было быть, поэтому мы меняем пароли sa во всех наших экземплярах SQL. (У нас есть серверы с SQL 2005 по 2017, работающие в смешанном режиме аутентификации. Все пользователи и приложения должны использовать для подключения либо учетные записи домена, …

1
Сжатые индексы SQL Server остаются сжатыми при перестроении без указания сжатия данных?
После того, как кто-то перестраивает свои индексы SQL Server с использованием сжатия страниц ( ALTER INDEX IX1 REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE)), нужно ли в последующих перестроениях (как это делается некоторыми сценариями обслуживания после определенного порога фрагментации) снова указывать сжатие данных? Будут ли индексы эффективно декомпрессированы?

3
Почему все столбцы этого запроса выбираются быстрее, чем один столбец, который мне нужен?
У меня есть запрос, где использование select *не только делает гораздо меньше операций чтения, но также использует значительно меньше процессорного времени, чем использование select c.Foo. Это запрос: select top 1000 c.ID from ATable a join BTable b on b.OrderKey = a.OrderKey and b.ClientId = a.ClientId join CTable c on c.OrderId …

1
Почему PostgreSQL выбирает более дорогой порядок соединения?
PostgreSQL с использованием значений по умолчанию, плюс default_statistics_target=1000 random_page_cost=1.5 Версия PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit Я пылесосил и анализировал. Запрос очень прост: SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN schedule s …

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