Начало работы с MS SQL Server
Базу данных часто отождествляют с набором таблиц, которые хранят данные. Но это не совсем так. Лучше сказать, что база данных представляет хранилище объектов. Основные из них:
- Таблицы : хранят собственно данные
- Представления (Views): выражения языка SQL, которые возвращают набор данных в виде таблицы
- Хранимые процедуры : выполняют код на языке SQL по отношению к данным к БД (например, получает данные или изменяет их)
- Функции : также код SQL, который выполняет определенную задачу
В SQL Server используется два типа баз данных: системные и пользовательские. Системные базы данных необходимы серверу SQL для корректной работы. А пользовательские базы данных создаются пользователями сервера и могут хранить любую произвольную информацию. Их можно изменять и удалять, создавать заново. Собственно это те базы данных, которые мы будем создавать и с которыми мы будем работать.
Системные базы данных
В MS SQL Server по умолчанию создается четыре системных баз данных:
- master : эта главная база данных сервера, в случае ее отсутствия или повреждения сервер не сможет работать. Она хранит все используемые логины пользователей сервера, их роли, различные конфигурационные настройки, имена и информацию о базах данных, которые хранятся на сервере, а также ряд другой информации.
- model : эта база данных представляет шаблон, на основе которого создаются другие базы данных. То есть когда мы создаем через SSMS свою бд, она создается как копия базы model.
- msdb : хранит информацию о работе, выполняемой таким компонентом как планировщик SQL. Также она хранит информацию о бекапах баз данных.
- tempdb : эта база данных используется как хранилище для временных объектов. Она заново пересоздается при каждом запуске сервера.
Все эти базы можно увидеть через SQL Server Management Studio в узле Databases -> System Databases :
Эти базы данных не следует изменять, за исключением бд model.
Если на этапе установки сервера был выбран и установлен компонент PolyBase, то также на сервере по умолчанию будут расположены еще три базы данных, которые используется этим компонентом: DWConfiguration, DWDiagnostics, DWQueue.
Создание базы данных в SQL Management Studio
Теперь создадим свою базу данных. Для этого мы можем использовать скрипт на языке SQL, либо все сделать с помощью графических средств в SQL Management Studio. В данном случае мы выберем второй способ. Для этого откроем SQL Server Management Studio и нажмем правой кнопкой мыши на узел Databases . Затем в появившемся контекстном меню выберем пункт New Database :

После этого нам открывается окно для создания базы данных:

В поле Database необходимо ввести название новой бд. Пусть у нас база данных называется university .
Следующее поле Owner задает владельца базы данных. По умолчанию оно имеет значение , то есть владельцем будет тот, кто создает эту базу данных. Оставим это поле без изменений.
Далее идет таблица для установки общих настроек базы данных. Она содержит две строки — первая для установки настроек для главного файла, где будут храниться данные, и вторая строка для конфигурации файла логгирования. В частности, мы можем установить следующие настройки:
- Logical Name : логическое имя, которое присваивается файлу базы данных.
- File Type : есть несколько типов файлов, но, как правило, основная работа ведется с файлами данных (ROWS Data) и файлом лога (LOG)
- Filegroup : обозначет группу файлов. Группа файлов может хранить множество файлов и может использоваться для разбиения базы данных на части для размещения в разных местах.
- Initial Size (MB) : устанавливает начальный размер файлов при создании (фактический размер может отличаться от этого значения).
- Autogrowth/Maxsize : при достижении базой данных начального размера SQL Server использует это значение для увеличения файла.
- Path : каталог, где будут храниться базы данных.
- File Name : непосредственное имя физического файла. Если оно не указано, то применяется логическое имя.
После ввода названия базы данных нажмем на кнопку ОК, и бд будет создана.
После этого она появится среди баз данных сервера. Если эта бд впоследствии не потребуется, то ее можно удалить, нажав на нее правой кнопкой мыши и выбрав в контекстном меню пункт Delete:
Урок 1. Соединение с ядром СУБД
При установке ядро СУБД SQL Server установленные средства зависят от выпуска и выбора настроек. На этом занятии рассматриваются основные инструменты и показано, как подключиться и выполнить важную функцию (авторизацию большего количество пользователей).
Это занятие содержит следующие задачи.
- Средства для начала работы
- Подключение с помощью среды Management Studio
- Авторизация дополнительных подключений
Средства для начала работы
- Sql Server ядро СУБД поставляется с различными инструментами. В этой статье описываются первые необходимые инструменты и вы можете выбрать подходящее средство для задания. Все средства доступны из меню Пуск . Некоторые средства, например SQL Server Management Studio (SSMS), не устанавливаются по умолчанию. Выберите нужные средства во время установки. Чтобы получить полное описание приведенных ниже средств, выполните поиск по ним в электронной документации по SQL Server. SQL Server Express содержит только подмножество средств.
Общие инструменты
В следующей таблице описаны некоторые из наиболее распространенных клиентских средств.
| Средство клиента | Тип | Операционная система |
|---|---|---|
| SQL Server Management Studio (SSMS) | Графический пользовательский интерфейс | Windows |
| Azure Data Studio | Графический пользовательский интерфейс | Windows, macOS, Linux |
| bcp | CLI | Windows, macOS, Linux |
| sqlcmd | CLI | Windows, macOS, Linux |
В этой статье мы сосредоточимся на подключении через SSMS. Если вы хотите подключиться через Azure Data Studio, см . краткое руководство. Использование Azure Data Studio для подключения и запроса SQL Server.
Пример базы данных
В этой статье требуется AdventureWorks2022 пример базы данных, которую можно скачать на домашней странице примеров и проектов сообщества Microsoft SQL Server.
SQL Server Management Studio (только Для Windows)
- В текущих версиях Windows в меню Пуск введите «SSMS», а затем выберите Microsoft SQL Server Management Studio.
- При использовании более старых версий Windows в меню «Пуск» наведите указатель на все программы, наведите указатель на Microsoft SQL Server и выберите SQL Server Management Studio.
Подключение с помощью SSMS
- Легко подключиться к ядро СУБД из средств, работающих на том же компьютере, если вы знаете имя экземпляра и если вы подключаетесь в качестве члена локальной группы Администратор istrators на компьютере. Следующие процедуры должны выполняться на том же компьютере, на котором размещается SQL Server.
В этом разделе рассматривается подключение к локальному экземпляру SQL Server. Сведения о База данных SQL Azure см. в Подключение База данных SQL Azure.
Определение имени экземпляра ядро СУБД
- Войдите в Windows в качестве члена группы Администратор istrators и откройте Management Studio.
- В диалоговом окне Подключение к серверу нажмите кнопку Отмена.
- Если компонент «Зарегистрированные серверы» не отображается, в меню Вид выберите пункт Зарегистрированные серверы.
- Выбрав компонент Ядро СУБД на панели инструментов «Зарегистрированные серверы», разверните компонент Ядро СУБД, щелкните правой кнопкой мыши пункт Группы локальных серверов, наведите указатель на пункт Задачии выберите пункт Зарегистрировать локальные серверы. Разверните локальные группы серверов, чтобы просмотреть все экземпляры ядро СУБД, установленные на компьютере. Экземпляр по умолчанию безымянный и отображается как имя компьютера. Именованный экземпляр отображается как имя компьютера, за которым следует обратная косая черта (\), а затем имя экземпляра. Для SQL Server Express экземпляр называется \sqlexpress, если имя не было изменено во время установки.
Убедитесь, что запущена ядро СУБД
- В зарегистрированных серверах, если имя экземпляра SQL Server имеет зеленую точку со белой стрелкой рядом с именем, ядро СУБД выполняется, и никаких дальнейших действий не требуется.
- Если имя экземпляра SQL Server имеет красную точку с белым квадратом рядом с именем, ядро СУБД останавливается. Щелкните правой кнопкой мыши имя ядро СУБД, выберите элемент управления службой и нажмите кнопку «Пуск«. После диалогового окна подтверждения ядро СУБД должен начинаться, а круг должен быть зеленым с белой стрелкой.
Подключение к ядру СУБД
При установке SQL Server выбрана по крайней мере одна учетная запись администратора. Выполнив вход в Windows с правами администратора, выполните указанные ниже действия.
- В Management Studio в меню «Файл» выберите Подключение обозреватель объектов.
- Будет открыто диалоговое окно Соединение с сервером . В поле Тип сервера отобразится тип компонента, использованный в прошлой сессии.
- Выберите Ядро СУБД.

- В поле Имя сервера введите имя экземпляра ядра СУБД. В экземпляре SQL Server по умолчанию имя сервера совпадает с именем компьютера. Имя сервера именованного экземпляра SQL Server — это computer_name instance_name\>>, например ACCTG_SRVR\SQLEXPRESS.< На следующем снимке экрана показано подключение к экземпляру SQL Server по умолчанию (без имени) на компьютере с именем PracticeComputer . В Windows вошел пользователь Mary из домена Contoso. При использовании проверки подлинности Windows нельзя изменить имя пользователя.

- Нажмите Подключиться.
В этом учебнике предполагается, что вы не знакомы с SQL Server и у вас нет проблем с подключением. Подробные инструкции по устранению неполадок см. в разделе Устранение неполадок при соединении с компонентом SQL Server Database Engine.
Авторизация дополнительных подключений
Теперь, когда вы подключились к SQL Server от имени администратора, одна из первых задач позволяет другим пользователям подключаться. Это делается посредством создания имени входа и предоставления ему разрешения на доступ к базе данных в качестве пользователя. Имена входа можно создавать с помощью проверка подлинности Windows, проверки подлинности SQL или проверки подлинности Microsoft Entra. проверка подлинности Windows имена входа используют учетные данные из Windows. Имена входа проверки подлинности SQL хранят сведения о проверке подлинности в SQL Server и не зависят от учетных данных Windows. Имена входа из идентификатора Microsoft Entra (ранее Azure Active Directory) используют учетные данные из облачных удостоверений. Дополнительные сведения об этом методе см. в следующей статье. Использование проверки подлинности Microsoft Entra.
По возможности используйте проверку подлинности Windows.
В большинстве организаций пользователи входят в домены, и используется проверка подлинности Windows. Вы можете экспериментировать, создав на компьютере дополнительных локальных пользователей. Компьютер будет проходить проверку подлинности локальных пользователей, поэтому домен — это имя компьютера. Например, если компьютер называется MyComputer и вы создаете пользователя с именем Test , то описание Windows для пользователя . Mycomputer\Test
Создание имени входа для проверки подлинности Windows

- В предыдущей задаче вы подключились к ядро СУБД с помощью Management Studio. В обозревателе объектов разверните экземпляр своего сервера, затем узел Безопасность, щелкните правой кнопкой мыши Имена входаи выберите пункт Создать имя входа. Откроется диалоговое окно Создание имени входа .
- На странице Общие в поле Имя входа введите имя входа Windows в следующем формате: \
- В поле База данных по умолчанию выберите базу данных AdventureWorks (если она доступна). В противном случае выберите master базу данных.
- На странице ролей сервера, если новое имя входа должно быть администратором, выберите sysadmin. В противном случае оставьте это поле пустым.
- На странице Сопоставление пользователей выберите Сопоставление для базы данных AdventureWorks2022 (если она доступна). В противном случае выберите master . В поле Пользователь уже внесено имя входа. При закрытии диалоговое окно создает этого пользователя в базе данных.
- В поле Схема по умолчанию введите dbo , чтобы сопоставить имя входа со схемой владельца базы данных.
- Подтвердите настройки по умолчанию для полей Защищаемые объекты и Состояние и нажмите кнопку ОК, чтобы создать имя входа.
Это базовые сведения, позволяющие начать работу. SQL Server предоставляет многофункциональную среду безопасности.
Связанный контент
- Диалоговое окно «Подключение к SQL Server»
- Устранение неполадок при соединении с SQL Server Database Engine
- Краткое руководство. Подключение и запрос базы данных SQL Azure с помощью SSMS
- Краткое руководство. Подключение и запрос базы данных SQL Azure с помощью Azure Data Studio
Краткое руководство. Подключение и запрос экземпляра SQL Server с помощью SQL Server Management Studio (SSMS)
Начало работы с SQL Server Management Studio (SSMS) для подключения к экземпляру базы данных SQL Server и выполнения некоторых команд Transact-SQL (T-SQL).
В статье показано, как выполнять следующие задачи:
- Подключение к экземпляру SQL Server
- Создание базы данных
- Создание таблицы в новой базе данных
- Вставка строк в новую таблицу
- Выполнение запросов к новой таблице и просмотр результатов
- Проверка свойств подключения с помощью таблицы окна запросов
В этой статье описывается подключение к экземпляру SQL Server и выполнение запросов к нему. Сведения об Azure SQL см. в статье о подключении к Базе данных Azure SQL и Управляемому экземпляру SQL и выполнении запросов к ним.
Чтобы использовать Azure Data Studio см. статьи о выполнении подключения и запросов к SQL Server, Базе данных SQL Azure и Azure Synapse Analytics.
Дополнительные сведения о SQL Server Management Studio см. в статье с дополнительными советами и рекомендациями.
Предварительные требования
Для работы с данным руководством необходимо следующее:
- Установите SQL Server Management Studio.
- Установите и настройте экземпляр SQL Server.
Подключение к экземпляру SQL Server
Чтобы подключиться к экземпляру SQL Server, выполните следующие действия:
Проверка подлинности SQL Server
Также для подключения можно использовать режим Проверка подлинности SQL Server. Если выбран режим Проверка подлинности SQL Server, необходимо ввести имя пользователя и пароль.
Проверка подлинности Azure AD доступна для SQL Server 2022 (16.x) и более поздних версий. Пошаговые инструкции по настройке см. в статье «Настройка проверки подлинности Azure Active Directory для SQL Server»
Создание базы данных
Выполните следующие действия, чтобы создать базу данных с именем TutorialDB:

- Щелкните правой кнопкой мыши экземпляр сервера в обозревателе объектов и выберите Создать запрос.
- Вставьте в окно запроса следующий фрагмент кода T-SQL:
USE master GO IF NOT EXISTS ( SELECT name FROM sys.databases WHERE name = N'TutorialDB' ) CREATE DATABASE [TutorialDB] GO

Создание таблицы
В этом разделе вы создадите таблицу в новой базе данных TutorialDB. Так как редактор запросов все еще находится в контексте базы данных master, переключите контекст подключения на базу TutorialDB, сделав следующее.

- Выберите нужную базу данных в раскрывающемся списке, как показано здесь:
- Вставьте в окно запроса следующий фрагмент кода T-SQL:
USE [TutorialDB] -- Create a new table called 'Customers' in schema 'dbo' -- Drop the table if it already exists IF OBJECT_ID('dbo.Customers', 'U') IS NOT NULL DROP TABLE dbo.Customers GO -- Create the table in the specified schema CREATE TABLE dbo.Customers ( CustomerId INT NOT NULL PRIMARY KEY, -- primary key column Name [NVARCHAR](50) NOT NULL, Location [NVARCHAR](50) NOT NULL, Email [NVARCHAR](50) NOT NULL ); GO
После выполнения запроса в списке таблиц в обозревателе объектов появится новая таблица Customers. Если таблица не отображается, щелкните правой кнопкой мыши узел TutorialDB>Таблицы в обозревателе объектов, а затем выберите Обновить.

Вставка строк
Вставьте в созданную таблицу Customers какие-нибудь строки. Вставьте следующий фрагмент кода T-SQL в окно запросов и нажмите кнопку Выполнить.
-- Insert rows into table 'Customers' INSERT INTO dbo.Customers ([CustomerId],[Name],[Location],[Email]) VALUES ( 1, N'Orlando', N'Australia', N''), ( 2, N'Keith', N'India', N'keith0@adventure-works.com'), ( 3, N'Donna', N'Germany', N'donna0@adventure-works.com'), ( 4, N'Janet', N'United States', N'janet1@adventure-works.com') GO
Запрос к таблице и просмотр результатов
Результаты запроса выводятся под текстовым окном запроса. Чтобы запросить таблицу Customers и просмотреть вставленные строки, выполните следующие действия:
-
Вставьте следующий фрагмент кода T-SQL в окно запросов и нажмите кнопку Выполнить.
-- Select rows from table 'Customers' SELECT * FROM dbo.Customers;
Результаты запроса отображаются под областью, где был введен текст.
Вы также можете изменить представление результатов одним из следующих способов: 
- Первая кнопка отображает результаты в текстовом представлении, как показано на снимке в следующем разделе.
- Кнопка посередине отображает результаты в представлении сетки; это параметр по умолчанию.
- Это задано по умолчанию.
- Третья кнопка позволяет сохранить результаты в файл, по умолчанию имеющий расширение .RPT.
Устранение проблем подключения
Сведения о способах устранения неполадок с подключением к экземпляру ядра СУБД SQL Server на отдельном сервере см. в статье Устранение неполадок при соединении с ядром СУБД SQL Server.
Дальнейшие действия
Лучший способ познакомиться с SSMS — это поработать в среде самостоятельно. Эти статьи помогут вам ознакомиться с различными функциями SSMS.
- Редактор запросов SQL Server Management Studio (SSMS)
- Создание скриптов
- Использование шаблонов в SSMS
- Конфигурация SSMS
- Дополнительные советы и рекомендации по использованию SSMS
Microsoft SQL Server: работа с базами данных
Наши пользователи могут использовать базы данных Microsoft SQL Server 2016 на своих виртуальных площадках в рамках, предусмотренных соответствующими тарифами.
Параметры и способы соединения с Microsoft SQL Server
- Имя хоста (сервера), на котором размещена база данных Microsoft SQL Server: uXXXXX.mssql.masterhost.ru;
- Порт: 1433;
- Логин: соответствует названию виртуальной площадки — uXXXXX;
- Пароль: указан в письме, которое пользователь получает при регистрации;
- Имя базы данных: соответствует названию виртуальной площадки — uXXXXX;
- Подключение нужно осуществлять по протоколу TCP/IP.
Подключение к SQL-серверу через «Microsoft SQL Server Management Studio Express»
Чтобы получить доступ к базе данных Microsoft SQL Server, возможно использовать Microsoft SQL Server Management Studio Express .

В параметрах выберите в качестве сетевого протокола TCP/IP.

Создание новой базы данных
Новую базу данных вы можете создать через раздел Услуги, в Личном кабинете. Выберите нужную «виртуальную площадку», далее в разделе «MS SQL» нажать на кнопку «+ База MS SQL». Затем вам необходимо указать имя (логин) и выбрать владельца новой базы.
Использовать Microsoft SQL Server Management Studio для создания новых баз данных нельзя.
Создание нового логина
Создать новый логин для базы данных Microsoft SQL вы можете через раздел Услуги, в Личном кабинете. Выберите нужную «виртуальную площадку», далее в разделе «MS SQL» нажать на кнопку «+ Пользователь MS SQL». Затем вам необходимо указать имя (логин) для нового пользователя.
Уменьшение физического размера файлов баз данных и лога транзакций MS SQL Server.
- Из графического интерфейса Microsoft SQL Server Management Studio:
- В обозревателе объектов подключитесь к экземпляру Microsoft SQL Server, 2016 Web Edition и разверните его.
- Разверните узел «Базы данных», затем правой кнопкой мыши щелкните базу данных, которую нужно сжать.
- В меню «Задачи» выберите «Сжать» и щелкните «База данных». Или установите флажок «Реорганизовать файлы перед освобождением неиспользуемого места». Если он установлен, необходимо указать значение параметра «Максимально доступное свободное место в файлах после сжатия».
DBCC SHRINKFILE (N'uXXXXXX.Log' , 0, TRUNCATEONLY) DBCC SHRINKDATABASE (N'uXXXXXX')Изменение кодировки сравнения (collation)
По умолчанию кодировка collation выставлена как Cyrillic_General_CI_AS, изменить кодировку для сравнений можно следующим SQL-запросом:
ALTER DATABASE [uXXXXX] COLLATE SQL_Latin1_General_CP1251_CS_AS GOгде uXXXXX — имя БД, где требуется данная операция.
Список доступных кодировок можно узнать так:
SELECT * FROM ::fn_helpcollations()Как дать права на доступ к базе определенному логину
Для SQL — дополнительный SQL логин, но настраивать права нужно самому: Заводим еще один SQL логин — uXXX_Ann
Для начала используем нашу базу:
USE [uXXXX] GOСоздаем пользователя для определенного «логина»:
CREATE USER [InetUser] FOR LOGIN [uXXX_Ann] GOНаделяем его правами (например только чтение таблиц):
EXEC sp_addrolemember N'db_datareader', N'InetUser' GOИли можем дать пользователю только конкретные права, на конкретные таблицы. Например, давайте дадим пользователю InetUser права на SELECT, INSERT, UPDATE для таблицы test, следующим SQL-запросом :
USE [uXXXXXX] GO GRANT SELECT ON [dbo].[test] TO [InetUser] GO GRANT INSERT ON [dbo].[test] TO [InetUser] GO GRANT UPDATE ON [dbo].[test] TO [InetUser] GOПри всем при этом, при осуществлении доступа через SQL Management Studio, под дополнительным логином не являющимся владельцем базы, не будет видно базу данных в списке доступных баз, но будет возможность выполнять разрешенные SQL-запросы .
Как получить раскладку по размеру таблиц в базе
Это можно сделать следующим SQL-запросом:
SET NOCOUNT ON DBCC UPDATEUSAGE(0) -- DB size. EXEC sp_spaceused -- Table row counts and sizes. CREATE TABLE #t ( [name] NVARCHAR(128), [rows] CHAR(11), reserved VARCHAR(18), data VARCHAR(18), index_size VARCHAR(18), unused VARCHAR(18) ) INSERT #t EXEC sp_msForEachTable 'EXEC sp_spaceused ''?''' SELECT * FROM #t -- # of rows. SELECT SUM(CAST([rows] AS int)) AS [rows] FROM #t DROP TABLE #t
