Небольшие примеры работы с очередью Database Mail в MSSQL

Остановка Database Mail
exec msdb.dbo.sysmail_stop_sp

Чистка истории неотправленных сообщений
-- Если количество записей в таблице msdb.sysmail_allitems очень большое,
-- то использовать параметр @sent_before для ограничения удаляемых записей


exec msdb.dbo.sysmail_delete_mailitems_sp @sent_status = 'unsent'
exec msdb.dbo.sysmail_delete_mailitems_sp @sent_status = 'retrying'
exec msdb.dbo.sysmail_delete_mailitems_sp @sent_status = 'failed'
Подробнее

Вычисление максимального количества точек принадлежащих одной линии из массива точек C#

Дано:
Массив точек на плоскости: points[][]   Xi и Yi.
Надо найти:
Сколько максимально точек принадлежит одной прямой.

Пример:

Исходный массив: points= [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]
Результат: 4
Подробнее

Добавление записей в таблицу с первичным ключом MSSQL (T-SQL)

Как добавить в таблицу данные с Primary Key (когда надо этот первичный ключ игнорировать)

SET IDENTITY_INSERT tableA ON

-- Теперь можно делать список полей с  Primary Key и добавлять записи так:

INSERT Into tableA ([id], [c2], [c3], [c4], [c5] ) 
SELECT [id], [c2], [c3], [c4], [c5] FROM tableB

-- Вот так нельзя "INSERT Into tableA SELECT ........"

SET IDENTITY_INSERT tableA OFF


Подробнее

Вращение (прокручивание) массива K раз, Rotate Array K times C#

Пример прокручивания/вращения массива Array K  раз на  C#

public static void Rotate(int[] nums, int k) {
        int len = nums.Length;
        int cnt = k%len;
        if ((len<2)||(cnt==0)){return;}
        int x = 0;
        int val = nums[x];
        int val_prev = nums[x];
    
            int x_start = x;
            for (int i = 0; i<len;i++)
            {
                x = x+cnt<len?x+cnt:(x+cnt)%len;
                val_prev = nums[x];
                nums[x] = val;
                
                if (x_start == x)
                {
                    x++;
                    val = nums[x];
                    x_start = x;
                }
                else
                {
                    val = val_prev;
                }
            }
    }

Смысл на примере:
Есть массив: [1,2,3,4,5]
Проворачиваем его 3 раза: K=3.
Результат:
[3,4,5,1,2]

Подробнее

Чистка логов базы данных MSSQL

Вообще процесс чистки логов должен проходить планово, и следить за этим и настраивать должен профессиональный админ. Однако бывает так что на вашем казалось бы небольшом девелоперском проекте для тестов логи неожиданно превысили установленный размер и возникла следующая проблема:

Сама проблема:

The transaction log for database 'база_данных' is full due to 'LOG_BACKUP'. 


Проблему разумеется надо решать.

И вот как это делается:

Для обрезки лога используется вот эта команда:

DBCC SHRINKFILE(база_данных_log, 100);


При выполнении этой команды, LOG файл будет обрезан до 100 мегабайт.

Подробнее