SQL Server — реляционная система управления базами данных от Microsoft

🟢 SQL Server. Введение

SQL Server — это реляционная система управления базами данных от Microsoft. Она широко используется в корпоративных системах, поддерживает транзакции, T-SQL, репликацию, кластеризацию и работу с большими данными. MS SQL Server отлично интегрируется с экосистемой Microsoft и является ключевым инструментом для бизнес-аналитики и приложений уровня Enterprise.

История

  • 1989 — первая версия SQL Server для OS/2.
  • 1993 — SQL Server 4.2 для Windows NT.
  • 2000-е — появление SQL Server 2000/2005 с CLR и XML.
  • 2012 — AlwaysOn Availability Groups.
  • 2020-е — поддержка Linux, интеграция с Azure SQL Database.

Архитектура

  • Database Engine — ядро, обрабатывающее запросы и транзакции.
  • T-SQL — процедурное расширение SQL от Microsoft.
  • SSMS (SQL Server Management Studio) — инструмент администрирования.
  • Integration Services (SSIS) — ETL-процессы.
  • Reporting Services (SSRS) — отчёты и визуализация.
  • Analysis Services (SSAS) — OLAP и аналитика.

Установка

# Windows
# Скачать установщик с сайта Microsoft и следовать инструкциям

# Linux (Ubuntu)
sudo apt-get update
sudo apt-get install mssql-server
sudo /opt/mssql/bin/mssql-conf setup

Подключение

sqlcmd -S localhost -U SA -P 'YourPassword123'

Создание базы и таблицы в MS SQL Server

CREATE DATABASE CompanyDB;
GO

USE CompanyDB;
GO

CREATE TABLE Employees (
    Id INT PRIMARY KEY IDENTITY,
    Name NVARCHAR(100) NOT NULL,
    Position NVARCHAR(100),
    Salary DECIMAL(10,2),
    HireDate DATE
);

CRUD в MS SQL Server

INSERT INTO Employees (Name, Position, Salary, HireDate)
VALUES ('Иван Иванов', 'Менеджер', 60000, '2022-05-01');

SELECT Name, Position, Salary FROM Employees WHERE Salary > 50000;

UPDATE Employees SET Salary = Salary * 1.1 WHERE Position = 'Менеджер';

DELETE FROM Employees WHERE Id = 3;

Индексы

CREATE INDEX idx_salary ON Employees(Salary);
CREATE UNIQUE INDEX idx_name ON Employees(Name);

Транзакции

BEGIN TRANSACTION;
UPDATE Accounts SET Balance = Balance - 100 WHERE Id = 1;
UPDATE Accounts SET Balance = Balance + 100 WHERE Id = 2;
COMMIT;

Хранимые процедуры и функции

CREATE PROCEDURE GetEmployees
AS
BEGIN
    SELECT * FROM Employees;
END;
GO

CREATE FUNCTION Bonus(@Salary DECIMAL(10,2))
RETURNS DECIMAL(10,2)
AS
BEGIN
    RETURN @Salary * 0.1;
END;
GO

Триггеры

CREATE TRIGGER trg_SetHireDate
ON Employees
AFTER INSERT
AS
BEGIN
    UPDATE Employees
    SET HireDate = GETDATE()
    WHERE HireDate IS NULL;
END;

Работа с JSON в MS SQL Server

DECLARE @json NVARCHAR(MAX) =
'{"name":"Ноутбук","price":75000,"features":{"ram":"16GB"}}';

SELECT *
FROM OPENJSON(@json)
WITH (
    name NVARCHAR(100) '$.name',
    price INT '$.price',
    ram NVARCHAR(50) '$.features.ram'
);

Представления

CREATE VIEW HighSalaryEmployees AS
SELECT Name, Salary FROM Employees WHERE Salary > 70000;

Бэкапы и восстановление

BACKUP DATABASE CompanyDB TO DISK = 'C:\backup\companydb.bak';

RESTORE DATABASE CompanyDB FROM DISK = 'C:\backup\companydb.bak';

Безопасность

CREATE LOGIN Developer WITH PASSWORD = 'StrongPassword!';
CREATE USER DeveloperUser FOR LOGIN Developer;
GRANT SELECT, INSERT, UPDATE, DELETE ON Employees TO DeveloperUser;

MS SQL Server и кластеризация

Для высокой доступности используется AlwaysOn Availability Groups и кластеризация Windows Server Failover Clustering (WSFC).

MS SQL Server и репликация

  • Transactional Replication
  • Merge Replication
  • Snapshot Replication

Заключение

MS SQL Server — мощная реляционная СУБД для корпоративных решений. Она поддерживает транзакции, индексы, T-SQL, репликацию, бэкапы, JSON и масштабирование. Благодаря интеграции с Microsoft Azure и экосистемой Windows, MS SQL Server остаётся одним из ключевых инструментов для бизнеса.

🔗 Официальная документация MS SQL Server


 

Понравилась статья? Поделиться с друзьями:
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии