Перейти к содержимому

Установка SQL Server и подключение из DataGrip

Курс MS SQL с нуля · Урок 1 из 12 · Часть 1. Среда и первые запросы

Урок 1 ставит три рабочие вещи: запущенный SQL Server, подключённую консоль DataGrip и первый выполненный запрос. Всё остальное — тренировка чтения ошибок: именно на них новички теряют больше всего времени.

Понадобится компьютер с Windows и права администратора на нём. Установка Express-редакции уроком не засчитывается: часть следующих занятий опирается на возможности полной редакции.

Содержание

1. Что вы освоите

К концу урока вы:

  • устанавливаете SQL Server Developer Edition со смешанной проверкой подлинности;
  • подключаете DataGrip к экземпляру по умолчанию и объясняете каждое поле;
  • выполняете запрос в консоли и переключаете контекст базы данных;
  • читаете сообщение об ошибке дословно: номер, тяжесть, строка, текст.
↑ К оглавлению

2. Сервер, экземпляр и база: термины

Сервер — служба, которая хранит данные и выполняет запросы. Экземпляр — отдельный работающий комплект сервера; экземпляр по умолчанию не имеет имени и доступен по адресу localhost. Внутри экземпляра живут системные базы (master, model, msdb, tempdb) и пользовательские — наша учебная TechStore появится в уроке 2.

DataGrip — клиент: посылает серверу текст запроса и показывает результат. Сервер и DataGrip — разные программы; закрытие DataGrip сервер не останавливает.

Экземпляр по умолчанию: подключение вида localhost\SQLEXPRESS относится к именованному экземпляру Express-редакции. Курс ставится на экземпляр по умолчанию без имени — просто localhost, порт 1433.
↑ К оглавлению

3. Установка SQL Server Developer Edition

Установка занимает около получаса. Последовательность действий:

  1. Скачайте Developer Edition со страницы Microsoft из раздела источников (не Express: у той есть пределы по памяти и нет части инструментов).
  2. В установщике выберите тип «Пользовательский» — видны все шаги.
  3. Шаг экземпляра: оставьте экземпляр по умолчанию — так проще подключаться.
  4. Шаг проверки подлинности: смешанный режим, пароль входа sa запишите, текущего пользователя Windows добавьте в администраторы сервера.
  5. Завершите установку; перезагрузка — по требованию установщика.

Проверка без SQL

служба в Windows

Win+R, затем services.msc: служба SQL Server (MSSQLSERVER) обязана быть в состоянии «Выполняется». Если стоит иначе — правая кнопка, «Запустить». Эта проверка ловит большинство проблем дохода до DataGrip.

↑ К оглавлению

4. Подключение DataGrip

В Database Explorer слева: + → Data Source → Microsoft SQL Server. Поля подключения к экземпляру по умолчанию:

ПолеЗначениеПояснение
Hostlocalhostсвой компьютер; допустимо 127.0.0.1
Port1433стандартный порт сервера по умолчанию
AuthenticationUser & Passworduser sa и пароль из шага установки; альтернатива — Windows Authentication
Databasemasterстартовая системная база; позже переключимся

При первом подключении DataGrip предложит скачать драйвер — соглашайтесь. Кнопка Test Connection должна стать зелёной, только после этого — OK.

Красный тест: сообщение про TCP/IP почти всегда означает выключенный протокол: SQL Server Configuration Manager → раздел сетевой конфигурации → протоколы для MSSQLSERVER → включить TCP/IP и перезапустить службу сервера.
↑ К оглавлению

5. Первая консоль и первый запрос

Правый щелчок по источнику → New → Query Console. Первый запрос:

Чистый код

SELECT 1;
GO
SQL
  • Построчный разбор

    Ниже приведён тот же фрагмент с пояснением после каждой смысловой строки. Строки, которые начинаются с двух дефисов и стрелки вправо, содержат комментарий преподавателя. Эти строки не являются обязательной частью программы.

    SELECT 1;
    -- → простейший запрос: сервер вычисляет константу, обращения к таблицам не требуется
    GO
    -- → конец пакета: разделитель понимает клиент (DataGrip, SSMS), серверу он не отправляется
    SQL

Результат открывается внизу. Рабочие сочетания клавиш всего курса:

КлавишиДействие
Ctrl+Enterвыполнить оператор под курсором или выделенный фрагмент
Ctrl+A, затем Ctrl+Enterвыполнить файл целиком
Ctrl+Shift+F10выбор схемы и базы консоли
двойной Shiftпоиск любого действия или настройки IDE
GO — не T-SQL: разделитель GO понимает клиент (DataGrip, SSMS), а не сервер: текст SELECT 1; GO — это два пакета, и второй пустой, поэтому панель результатов показывает последний и кажется «запрос ничего не вывел». Правила курса: одиночный запрос выполняется курсором внутри него без GO; GO ставится только в цельных скриптах (установка базы урока 2), с начала строки и без точки с запятой после.

Чтение сообщений об ошибках

Сервер отвечает на ошибки строкой вида:

Чистый код

Msg 208, Level 16, State 1, Line 3
Invalid object name 'dbo.Order'.
текст ошибки
  • Построчный разбор

    Ниже приведён тот же фрагмент с пояснением после каждой смысловой строки. Строки, которые начинаются с двух дефисов и стрелки вправо, содержат комментарий преподавателя. Эти строки не являются обязательной частью программы.

    Msg 208, Level 16, State 1, Line 3
    -- → номер ошибки 208, тяжесть 16 (ошибка текста пользователя), строка пакета 3
    Invalid object name 'dbo.Order'.
    -- → причина дословно: объект с таким именем в текущей базе не найден
    текст ошибки

Расшифровка по полям:

  • Msg 208 — номер ошибки; по нему ищут в документации;
  • Level 16 — тяжесть; значения от 11 до 16 — ошибки синтаксиса и имён, выше — уже административные;
  • Line 3 — строка пакета, на которой сервер остановился;
  • текст — человекочитаемая причина: «сервер не нашёл объект с таким именем».
Первая ошибка важнее: смотрят первую ошибку пакета и номер строки выше неё: последующие сообщения обычно её следствие.

Получить такое сообщение предельно просто и безопасно: выполнить в консоли на базе master запрос SELECT * FROM dbo.Customers; — таблицы с таким именем в master нет, и сервер отвечает ровно Msg 208 из примера выше. Именно на этом запросе построена задача 1.5.

↑ К оглавлению

6. Задачи и эталонные решения

Шесть задач в консоли на контексте master.

  1. версия, редакция и уровень обновления сервера — одним запросом;
  2. список баз экземпляра с датами создания от старой к новой;
  3. порядок сортировки сервера и расшифровка букв CI и AS;
  4. текущие дата и время двумя функциями: устаревшей и рекомендуемой;
  5. сознательно получить Msg 208 рецептом из урока: запрос SELECT * FROM dbo.Customers; на контексте базы master, затем разбор каждого поля сообщения;
  6. переключить контекст консоли на другую базу и подтвердить функцией DB_NAME.

Эталоны урока

открывать после самостоятельной попытки

Чистый код

SELECT @@VERSION AS version_string,
       SERVERPROPERTY('ProductVersion') AS product_version,
       SERVERPROPERTY('Edition')        AS edition,
       SERVERPROPERTY('ProductLevel')   AS product_level;
GO

SELECT name, create_date, state_desc
FROM sys.databases
ORDER BY create_date;
GO

SELECT SERVERPROPERTY('Collation') AS server_collation;
GO

SELECT GETDATE()     AS classic_now,
       SYSDATETIME() AS precise_now;
GO

SELECT DB_NAME() AS current_database;
GO
решения задач 1.1–1.4, 1.6
  • Построчный разбор

    Ниже приведён тот же фрагмент с пояснением после каждой смысловой строки. Строки, которые начинаются с двух дефисов и стрелки вправо, содержат комментарий преподавателя. Эти строки не являются обязательной частью программы.

    SELECT @@VERSION AS version_string,
    -- → строка версии целиком: человекочитаемо
           SERVERPROPERTY('ProductVersion') AS product_version,
    -- → точный номер: 16.0.x соответствует SQL Server 2022
           SERVERPROPERTY('Edition')        AS edition,
    -- → редакция: ожидание курса — Developer Edition
           SERVERPROPERTY('ProductLevel')   AS product_level;
    -- → уровень обновления: выпуск RTM или номер накопительного пакета CU
    GO
    
    SELECT name, create_date, state_desc
    -- → имя базы, дата её создания, состояние
    FROM sys.databases
    -- → системное представление: одна строка на базу экземпляра
    ORDER BY create_date;
    -- → системные базы старше всех и оказываются наверху списка
    GO
    
    SELECT SERVERPROPERTY('Collation') AS server_collation;
    -- → порядок сортировки сервера по умолчанию; CI — без учёта регистра, AS — с учётом диакритики
    GO
    
    SELECT GETDATE()     AS classic_now,
    -- → старая функция времени: точность до сотых долей секунды
           SYSDATETIME() AS precise_now;
    -- → рекомендуемая: тип datetime2 с точностью до долей микросекунд
    GO
    
    SELECT DB_NAME() AS current_database;
    -- → база текущего сеанса: переключается через Ctrl+Shift+F10
    GO
    решения задач 1.1–1.4, 1.6
↑ К оглавлению

7. Типичные ошибки урока

  1. Test Connection красный — протокол TCP/IP выключен; включается в Configuration Manager с перезапуском службы.
  2. Login failed for user sa (Msg 18456) — сервер без смешанного режима; лечится Windows-подключением и включением режима в свойствах сервера; сообщение намеренно умалчивает причину.
  3. Пустой Database Explorer — схемы не выбраны: Properties → Schemas → master и tempdb.
  4. Msg 208 на простом запросе — консоль смотрит не в ту базу; проверка функцией DB_NAME, лечение переключением контекста.
  5. Запрос «завис» — чаще всего он не выполнен, а выполняется; индикатор внизу панели и красная кнопка остановки.
  6. Путаница имени экземпляра — localhost\SQLEXPRESS к экземпляру по умолчанию не подключится: имя нужно только именованному экземпляру.
↑ К оглавлению

8. Чек-лист практики и источники

Чек-лист первого занятия

отметки делаются по факту

Источники для углубления:

  1. Загрузка SQL Server Developer Edition;
  2. Документация DataGrip: подключение к SQL Server;
  3. SERVERPROPERTY: список свойств экземпляра.
Итог: среда готова: сервер работает, DataGrip подключён, первый запрос выполнен, сообщения читаются. В уроке 2 поднимаем учебную базу.

Проверено: 23.10.2026

↑ К оглавлению
Конспект:
Четверг, 22 октября 2026