Перезапуск (Restart) MSSQL Server на Linux (Ubuntu).

Перезапуск (Restart) MSSQL Server на Linux (Ubuntu).

Microsoft рекомендует перезапускать сервер так:

-- Получить состояние сервиса
sudo systemctl status mssql-server

-- Остановить сервис
sudo systemctl stop mssql-server

-- Запустить сервис
sudo systemctl start mssql-server

-- Перезапустить сервис
sudo systemctl restart mssql-server


Для Ubuntu я лично предпочитаю такой способ:

service mssql-server status
service mssql-server stop
service mssql-server start
service mssql-server restart
Подробнее

OFFSET FETCH - Ограничение выборки в MSSQL

"OFFSET FETCH" это фильтр который позволяет пропустить некоторое количество первых строк в выборке.

Например:

select field1, field2, field3 
from table1
order by field1, field2
offset 100 rows fetch next 50 rows only;

Этот пример вернет строки с 101 по 150, из всех строк отсортированных по field1 и field2.

! Сначала будет произведена сортировка, затем возврат 50 строк.

! Для больших объемов данных этот способ требует много ресурсов, поэтому использовать лучше на минимизированных выборках.

Подробнее

Поиск процедуры по тексту который она содержит (по метаданным) MSSQL

Пример поиска процедуры по тексту который она содержит

SELECT name
FROM   sys.procedures
WHERE  Object_definition(object_id) LIKE '%некоторый_текст%'

Этот скрипт вернет названия всех процедур которые содержат в текст: "некоторый_текст"

Подробнее

Обновление таблицы с условием по второй таблице через JOIN MSSQL

Пример обновления данных в одной таблице с одновременным сопоставлением и проверкой условия по второй таблице при помощи JOIN:

update cc
 set cc.ActivateState=2
  from ClientsCards cc
   left join ClientsCardsHeads cch 
    on cch.CardUid=cc.Uid
where cc.ActivateState=0 and cch.State=3


ClientsCards cc
- Первая таблица в которой производится изменение.

ClientsCardsHeads cch - Вторая таблица с данными которой производится сверка.

Подробнее

Пример выбора некоторого количества пронумерованных записей в MSSQL

Данный пример может быть полезен, когда надо выбрать некоторое количество пронумерованных записей из неоткуда допустим во временную таблицу или табличную переменную.

Пример:

select number as Section from master..spt_values where type='L' and number>0 and number<=100

Пример выводит 100 строк таблицы с значениями от 1 до 100 и единственным столбцом Section.

Подробнее

Пример отлова ошибок в MSSQL

Пример, как отлавливать ошибки в MSSQL.

BEGIN TRY  
     -- Какой нибудь код который вернет ошибку для примера.  
    SELECT 1/0;  
END TRY  
BEGIN CATCH  
    SELECT  
        ERROR_NUMBER() AS ErrorNumber  
        ,ERROR_SEVERITY() AS ErrorSeverity  
        ,ERROR_STATE() AS ErrorState  
        ,ERROR_PROCEDURE() AS ErrorProcedure  
        ,ERROR_LINE() AS ErrorLine  
        ,ERROR_MESSAGE() AS ErrorMessage;  
END CATCH;  
GO
Подробнее

Передача набора данных в MSSQL из С# в одном запросе

Часто бывает необходимость передать за один раз некоторый набор данных в процедуру, в этой публикации будет приведен пример как это сделать на языке C# для базы данных MSSQL.

Использовать будем обычный способ вызова процедуры без каких либо фреймворков.

Для начала создадим тестовую таблицу в базе данных:

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Bottles](
	[Uid] [uniqueidentifier] NOT NULL,
	[Name] [varchar](50) NULL,
	[Color] [varchar](50) NULL
) ON [PRIMARY]
GO

В данной таблице будем размещать бутылки разных названий и цветов (просто для теста).

Подробнее