Способ задать дату в MSSQL чтобы не зависеть от региональных настроек сервера.

Собственно привожу здесь пример того как можно сделать так, чтобы скрипт в MSSQL использующий дату отрабатывал правильно при любых региональных настройках и формате даты, я лично - это реализовал вот таким образом:

В скрипте пишем дату вот так:

convert(datetime,'"+data+"',120)

Где data это строка вот такого вида:

ГГГГ.ММ.ДД чч:мм:сс

- Именно на такой формат даты указывает число 120. Поэтому сервер уже не перепутает месяц с днём и т.п.

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

{ fn NOW() }

Вот и всё.

Подробнее

Пример создания последовательности SEQUENCE в MSSQL

Примр создания последовательности SEQUENCE в MSSQL:

CREATE SEQUENCE [dbo].[CardNum] 
 AS [bigint]
 START WITH 1
 INCREMENT BY 1
 MINVALUE -9223372036854775808
 MAXVALUE 9223372036854775807
 CACHE 
GO

Этот сккрипт создаст последовательность SEQUENCE CardNum с типом BIGINT и стартовым значением 1 в текущей базе данных.


Чтобы получить новое значение value из последовательности SEQUENCE:

set @card_num =  NEXT VALUE FOR [dbo].[CardNum];


Чтобы получить текущие свойства properties для последовательности SEQUENCE:

SELECT * FROM sys.sequences WHERE name = 'CardNum' ;
Подробнее

Включение возможности использования xp_cmdshell в MSSQL


Для включения возможности использования xp_cmdshell в MSSQL необходимо:

-- Разрешаем изменение дополнительных параметров.
EXEC sp_configure 'show advanced options', 1
GO

-- Обновkztv текущее настроенное значение для дополнительных параметров
RECONFIGURE
GO

-- Включаем cmdshell.
EXEC sp_configure 'xp_cmdshell', 1
GO

-- Обновляем текущее настроенное значение для cmdshell
RECONFIGURE
GO
---
Подробнее

Перезапуск (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 '%некоторый_текст%'

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

Подробнее