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

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

3
Почему оптимизатор выбрал бы Clustered Index + Sort вместо Non-Clustered Index?
Учитывая следующий пример: IF OBJECT_ID('dbo.my_table') IS NOT NULL DROP TABLE [dbo].[my_table]; GO CREATE TABLE [dbo].[my_table] ( [id] int IDENTITY (1,1) NOT NULL PRIMARY KEY, [foo] int NULL, [bar] int NULL, [nki] int NOT NULL ); GO /* Insert some random data */ INSERT INTO [dbo].[my_table] (foo, bar, nki) SELECT TOP …

2
Когда `nvarchar / nchar` будет использоваться с SQL Server 2019?
В SQL Server 2019 Microsoft вводит поддержку UTF-8 для CHARи VARCHARтипов данных и говорит: Эта функция может обеспечить значительную экономию памяти в зависимости от используемого набора символов. Например, изменение существующего типа данных столбца со строками ASCII с NCHAR (10) на CHAR (10) с использованием сортировки с поддержкой UTF-8 приводит к …

1
Когда использовать несколько таблиц в DynamoDB?
Лучшие практики DyanmoDB дают понять, что: Вы должны поддерживать как можно меньше таблиц в приложении DynamoDB. Наиболее хорошо разработанные приложения требуют только одну таблицу. Я нахожу забавным то, что почти каждый урок, который я видел по работе с DyanmoDB, имеет многостольный дизайн. Но что это означает на практике? Давайте рассмотрим …

2
MongoDB завершает работу, когда ему не хватает памяти
У меня есть следующая конфигурация: хост-машина, которая запускает три док-контейнера: MongoDB Redis Программа, использующая предыдущие два контейнера для хранения данных Redis и MongoDB используются для хранения огромных объемов данных. Я знаю, что Redis должен хранить все свои данные в оперативной памяти, и я в порядке с этим. К сожалению, происходит …

1
В чем разница между пользователем `dbo` и владельцем базы данных, хранящейся в sys.databases
Недавно у нас возник вопрос, где у пользователя dboв базе данных есть sidчто не соответствует owner_sidin sys.databases. Я понимаю, как владелец базы данных отличается от участников роли, db_ownerно я всегда думал, что пользователь dboявляется фактическим владельцем базы данных. Разве это не так? И если так, есть ли реальные различия между …

2
Как динамически изменить базу данных с помощью TSQL
У меня проблемы с попыткой динамически изменить контекст SSMS на базу данных, указанную в динамическом SQL: EXEC sys.sp_executesql N'USE db1 ' ; Он выполняется успешно, однако контекст базы данных SSMS не изменяется. Я попытался небольшое изменение выше, как DECLARE @sql NVARCHAR(100) DECLARE @db NVARCHAR(50) SET @db = N'db1' SET @sql …

3
Используйте Dark Theme в таблице результатов SSMS, Обозревателе объектов и других окнах.
Существует несколько способов использовать Dark Theme в главном окне кодирования SSMS: импортировать файл vsettings, применить Dark Theme, отключенную в файле конфигурации, или сделать это вручную. Но все эти параметры не влияют на результаты сетки, проводник объектов и другие окна. Эти 2 являются основными, которые я использую, кроме кодирующего. Я попробовал …

3
SQL Server Вставка в - Как определить столбец, который вызывает ошибку усечения
У меня есть хранимая процедура, которая вставляет 650 полей в таблицу. Вставка не выполняется с ошибкой усечения. Это просто INSERT INTO SELECT (a bunch of fields) FROM (a bunch of tables) Ниже приведено сообщение об ошибке: Сообщение 8152, уровень 16, состояние 14, процедура DSP_Procedure, строка 1075 Строка или двоичные данные …

1
Обновление материализованного представления PostgreSQL автоматически без использования триггеров
Я создал материализованное представление с именем view_table_Aтаблицы сторонних данных table_A. Я хочу, чтобы представление автоматически обновлялось после каждой новой вставки в table_A. Я пытался сделать это с помощью триггеров, но это не сработало. Можно ли автоматически обновлять материализованное представление без использования триггеров?

4
Как создать строку для каждого дня в диапазоне дат, используя хранимую процедуру?
Я хотел бы создать хранимую процедуру, которая будет создавать строки в таблице для каждого дня в заданном диапазоне дат. Хранимая процедура принимает два входа: дату начала и дату окончания желаемого пользователем диапазона дат. Итак, допустим, у меня есть таблица примерно так: SELECT Day, Currency FROM ConversionTable Day - это DateTime, …

2
В какой момент база данных обновляет свои индексы в транзакции?
Я пытаюсь понять последовательность событий во вставках, где участвуют как индекс, так и транзакция. Например, документация Oracle гласит: Если вы создаете [или имеете] один или несколько индексов перед загрузкой данных, база данных должна обновлять каждый индекс по мере вставки каждой строки. Но что произойдет, если я создаю транзакцию, вставляю пять …

2
Основная база данных повреждена, экземпляр не запускается - каковы мои варианты?
Помогите! Моя основная база данных повреждена, я даже не могу вывести экземпляр SQL в онлайн! Какие есть варианты для восстановления моего сервера? У меня есть резервная копия master, но страница MSDN «Восстановление базы данных master» просит меня запустить экземпляр в однопользовательском режиме, чего я не могу сделать! (Примечание: я оставляю …

5
Как проверить, какой компонент Database Engine установлен на сервере базы данных, к которому у меня есть доступ для выполнения запросов?
Я хочу проверить, какой тип sql запущен на сервере Datasase, к которому я могу получить доступ. У меня есть только доступ к веб-интерфейсу и списку таблиц. Через интерфейс я могу выполнять запросы к таблицам, которые присутствуют в списке. Как я могу получить больше информации о сервере и версии, на которой …

2
Невозможно запустить SQL Server в Ubuntu 16.04
Вчера на моем компьютере с Ubuntu 16.04 была установлена ​​и работала открытая версия SQL Server v.Next . Но это не работает сегодня. Получение ниже ошибки: root @ OraServer: / var / opt / mssql / log # systemctl status mssql-server ● mssql-server.service - ядро ​​базы данных Microsoft (R) SQL Server …

2
Использование функции окна для переноса первого ненулевого значения в разделе
Рассмотрим таблицу, в которой записываются посещения create table visits ( person varchar(10), ts timestamp, somevalue varchar(10) ) Рассмотрим данные этого примера (временная метка упрощена как счетчик) ts| person | somevalue ------------------------- 1 | bob |null 2 | bob |null 3 | jim |null 4 | bob | A 5 | …

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