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

11
DROP USER занимает слишком много времени, когда много пользователей

В экземпляре SQL Server 2014 с достаточным количеством оперативной памяти и быстрыми дисками более 160 пользователей имеют доступ к базе данных. По какой-то причине без моего ведома выполнение команды DROP USER [username]в этой базе данных занимает до 5 секунд на пользователя. Преобразование...

11
Какой индекс будет использоваться в этом сценарии?

SQL Server 2014 Standard Edition Мне нужно узнать количество рейсов в определенные города и из них в определенные месяцы. Например select count(*) from flights where flightTo_AirportCode = 'aaaa' and flightFrom_Airportcode = 'bbbb' and flightdate < '2016-04-01' and flightdate > '2016-02-28' ;...

11
PostgreSQL: передать таблицу в качестве аргумента в функцию

Я открываю TYPEдля PostgreSQL. У меня есть, TABLE TYPEчто некоторые таблицы должны уважать (интерфейс). Например: CREATE TYPE dataset AS( ChannelId INTEGER ,GranulityIdIn INTEGER ,GranulityId INTEGER ,TimeValue TIMESTAMP ,FloatValue FLOAT ,Status BIGINT ,QualityCodeId INTEGER ,DataArray FLOAT[]...

11
Каков эффект от слишком длинной открытой транзакции в MSSQL?

Мне просто интересно, что произойдет, если вы начнете транзакцию в БД и забудете ее зафиксировать или откатить. Будет ли сервер не работает? Допустим, вы оставили его на 3 дня. Есть также пользователи, которые используют его, предполагая, что другие пользователи не знали, что существует незакрытая...

11
Каков размер выборки статистики по умолчанию в SQL Server?

Из MSDN : Если ни один из вариантов выборки (SAMPLE, FULLSCAN, RESAMPLE)не указан, оптимизатор запросов производит выборку данных и вычисляет размер выборки по умолчанию. Как определить размер выборки статистики по умолчанию? Я прошел MSDN, но не нашел никакой формулы или метода, чтобы определить...

11
Именование хранимых процедур SQL Server

Мы начали называть наши хранимые процедуры как [16_TestStoredProc]. Есть ли какие-либо последствия присвоения имен хранимой процедуре? Я не собираюсь объяснять, почему мы это делаем. Это не то, что у меня есть проблемы с этим, но будет иметь какие-либо...

11
Sql Server не может использовать индекс при простом бижекции

Это еще одна головоломка оптимизатора запросов. Может быть, я просто переоцениваю оптимизаторы запросов, или, может быть, я что-то упустил - поэтому я выкладываю это туда. У меня простой стол CREATE TABLE [dbo].[MyEntities]( [Id] [uniqueidentifier] NOT NULL, [Number] [int] NOT NULL, CONSTRAINT...

11
Как проверить в триггере, если вся строка остается неизменной после обновления?

Конечно, я мог бы сделать это для каждого столбца, сравнивая это так: if (old.column1 = new.column1 and old.column2 = new.column2...) Но было бы трудно закодировать и трудно поддерживать, если я добавлю еще один столбец, например, в будущем. Есть ли способ проверить, все ли столбцы остаются...

11
Как смоделировать тип объекта, который может иметь разные наборы атрибутов?

У меня возникли проблемы при воссоздании базы данных с отношением один-ко-многим (1: M) между пользователями и элементами . Это довольно просто, да; тем не менее, каждый элемент относится к определенной категории (например, автомобиль , лодка или самолет ), и каждая категория имеет определенное...

11
ПРОВЕРЬТЕ ограничение для обеспечения соответствия ###. ###. #### шаблону

Я хотел бы иметь проверочное ограничение, которое применяет этот шаблон регулярных выражений для кода, состоящего из нескольких частей: ^\d{3}\.\d{3}\.\d{4}$ ... три числа, точка, три числа, точка, четыре числа. Нужно ли создавать функцию CLR для обеспечения соответствия шаблону, и можно ли...

11
SQL Server - столбцы NTEXT и манипуляции со строками

У меня есть таблица с NTEXTименем столбца comments. У меня есть вторая строка, давайте назовем ее anothercomment(а varchar), которая должна быть помещена в данную commentsстроку после слова UPDATEHERE. Приведение к nvarchar(max)усечению commentsстроки, поэтому я не могу использовать подобные...

11
Невозможно продолжить выполнение, так как сеанс находится в состоянии уничтожения. при построении кластерного индекса

Я получаю следующую ошибку при попытке создать кластерный индекс Заявление было прекращено. Сообщение 596, уровень 21, состояние 1, строка 0 Не удается продолжить выполнение, поскольку сеанс находится в состоянии уничтожения. Сообщение 0, уровень 20, состояние 0, строка 0 Произошла серьезная ошибка...

11
Использование функции окна для переноса первого ненулевого значения в разделе

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

11
Какое максимальное количество локальных переменных может участвовать в операции SET?

У меня есть хранимая процедура, которая содержит бизнес-логику. Внутри него около 1609 переменных (не спрашивайте меня, почему, именно так работает двигатель). Я пытаюсь SETпеременную к объединенному значению всех других переменных. В результате при создании я получаю ошибку: Сообщение 8631,...

11
Невозможно запустить 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...

11
Можно ли выбрать RAISERROR или THROW в зависимости от версии SQL Server?

Вот мой код прямо сейчас: BEGIN TRY INSERT INTO TABLE (F1,F2,F3) VALUES ('1','2','3') END TRY BEGIN CATCH ;THROW END CATCH Прекрасно работает, если только он не запущен на машине с SQL 2008. Я хотел бы, чтобы блок CATCH проверил версию SQL и запустил THROW, если она равна или выше 2012 года, и...

11
Сравнение производительности между использованием функции Join и Window для получения значений опережения и отставания

У меня есть таблица с 20М строк, а каждая строка имеет 3 колонки: time, id, и value. Для каждого idи timeесть valueстатус. Я хочу знать опережающие и запаздывающие значения определенного timeдля конкретного id. Я использовал два метода для достижения этой цели. Один метод использует соединение, а...

11
Почему при преобразовании динамического SQL (сводного запроса) в вывод XML, первая цифра даты преобразуется в Юникод?

Я использую этот замечательный пример /dba//a/25818/113298 от Bluefeet, чтобы создать сводную диаграмму и преобразовать ее в данные XML. Объявление параметра DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX); Далее идет CTE с большим количеством кода, конечный результат CTE помещается во...

11
Как определяется количество шагов гистограммы в статистике

Как определяется количество шагов гистограммы в статистике в SQL Server? Почему он ограничен 200 шагами, хотя мой ключевой столбец имеет более 200 различных значений? Есть ли решающий фактор? демонстрация Определение схемы CREATE TABLE histogram_step ( id INT IDENTITY(1, 1), name VARCHAR(50),...