Как установить sql server
MS SQL Server доступен в различных вариациях. Прежде всего, это MS SQL Server Enterprise — полный выпуск, нацеленный на использование в реальных проектах. Именно он используется на различных хостингах и серверах баз данных. Однако он доступен только в платной версии (не считая триального периода) и стоит довольно приличных денег.
Для простых приложений также может хватить и выпуска Express: он бесплатный. К тому же у него есть преимущество — его можно ставить в качестве реального сервера и использовать в реальных задачах, однако он имеет урезанный функционал по сравнению с полной версией.
И также есть MS SQL Server Developer Edition . Это бесплатный и полнофункциональный выпуск, который содержит весь функционал, что и полная версия MS SQL Server Enterprise, MS SQL Server Enterprise, только нацелена только для нужд разработки. В то же время эта версия не может быть использована для развертывания в качестве реального сервера на реальных проектах. Однако для изучения всей механики MS SQL Server эта версия представляет оптимальный вариант, поэтому именно эту версию мы и будем использовать.
Но в данном случае для данного руководства по большому счету можно использовать как Developer, так и Express выпуск.
Итак, установим MS SQL Server 2022 Developer Edition . Для этого перейдем по адресу https://www.microsoft.com/en-us/sql-server/sql-server-downloads. Найдем на странице пункт «Developer» и нажем на кнопку загрузки.
После загрузки программы установки запустим ее. И вначале нам будет предложено два варианта установки: базовая и настраиваемая. Для потребностей данного руковдства вполне хватит и базовой установки. Тем не менее рассмотрим оба варианта установки.
Базовая установка MS SQL Server Developer Edition
В начале рассмотрим базовую установку. На начальном шаге укажем в качестве типа установки тип «Базовая»:
Дальше надо будет выбрать язык и принять лицензионное соглашение:
Здесь выберем английский язык, поскольку локализованные версии оставляют.
После принятия лицензионного соглашения нам будет предложено установить путь для установки:
Оставим все настройки по умолчанию и нажмем на кнопку «Установить».
После завершения установки на финальном экране мы увидим ряд данных, которые нам могут понадобится в дальнейшем при работе с MS SQL Server.
Прежде всего это имя экземпляра — по умолчанию MSSQLSERVER . По этому имени мы сможем найти запущенный сервер в панели служб или можно это имя использовать при обращении к серверу из других программ.
Также стоит отметить строку подключения, которая по умолчанию представляет «Server=localhost;Database=master;Trusted_Connection=True;» . Через эту строку подключения мы сможем подключаться к серверу из других программ, запущенных на этом же компьютере.
Итак, мы установили SQL Server 2022, у которого имя экземпляра — «MSSQLSERVER». Следует отметить, что перед подключением к нему, надо убедиться, что он запущен.
Также для этого можно открыть окно служб:
Если он не запущен, там же в панели служб мы его может запустить, и после этого мы сможем с ним работать.
Подобным образом устанавливается и MS SQL Server 2022 Express
Инструкция по установке MS SQL Server 2019: основные настройки и рекомендации
18.08.2021
insci
SQL Server
комментариев 9
В этой статье мы пошагово рассмотрим установку Microsoft SQL Server 2019 с описанием всех опций, компонентов, актуальных рекомендаций и best practice.
MS SQL Server это лидирующая РСУБД (Реляционная система управления базами данных) а также главный конкурент Oracle Database в корпоративном сегменте. В СНГ MSSQL чаще всего применяется для собственных разработок прикладного ПО и для 1С.
Редакции MS SQL Server 2019
Всего есть 6 выпусков (редакций) MSSQL 2019:
- Express является бесплатной для использования редакцией. Функционал довольно ограничен, самое ощутимое ограничение экспресс версии — максимальный размер базы 10 ГБ. Эта редакция подойдет для небольших проектов, например, студенческих работ или для обучения SQL/T-SQL.
- Standard это полноценная платная редакция, но многих функций всё еще нет. Максимальный объём оперативной памяти, который сможет использовать SQL Server – 128 ГБ, также отсутствуют группы доступности AlwaysOn и другие компоненты. Standard предназначен для приложений в небольших организациях.
- Enterprise включает в себя все возможные функции и компоненты, никаких ограничений нет. Корпоративная редакция обычно используется крупными корпорациями или компаниями, которым необходим функционал этой версии.
- Developer редакция так же как и Enterprise не имеет никаких ограничений и её можно использовать бесплатно, но она может использоваться только для разработки и тестирования приложений.
- Web редакция почти ничем не отличается от standard, кроме как более сильными ограничениями в функционале и соответственно более низкой стоимости лицензирования;
- Evaluation — ознакомительная редакция SQL Server, которая предоставляет полный функционал Enterprise и работает в течении 180 дней (может быть обновлена до полноценной версии).
Особенности лицензирования SQL Server
MS SQL Server лицензируется по 2 моделям:
- PER CORE — лицензирует MSSQL по ядрам сервера
- SERVER + CAL — лицензия целиком на сервер и на каждого пользователя, который будет работать с сервером
Enterprise редакция может быть лицензирована только по типу PER CORE
Также в MSSQL Server 2019 появилась новая возможность для лицензирования контейнеров, виртуальных машин и Big Data Clusters.
Более подробная информация по лицензирования SQL Server представлена в отдельной статье.
Начало установки SQL Server
В этой статье мы будем устанавливать MS SQL Server 2019 Enterprise Edition на Windows Server 2019.
Примечание. В SQL Server 2019 появилась полноценная поддержка Linux, а соответственно Docker и Kubernetes.
- Скачайте и распакуйте установочный образ SQL Server 2019. Запустите setup.exe;
- Так как в этой статье мы будем устанавливать обычный изолированный экземпляр, во вкладке Installation выберите “New SQL Server stand-alone installation”.
В инсталляторе SQL Server можно выполнить много других действий: обновить старый экземпляр, починить сломанный и некоторые другие вещи.
Параметры обновлений SQL Server при установке
На этом шаге вы можете включить поиск обновлений через Windows Update. Включать эту опцию или нет, решать вам. Всё зависит от вашей планировки обновлений и от требований к отказоустойчивости сервера. Если у вас нет четкого плана обновлений ваших серверов, лучше оставьте этот параметр включенным.
На этом шаге вы можете увидеть такую ошибку:
Error 0x80244022: Exception from HRESULT: 0x80244022
Шаг Install Setup Files произойдет автоматически. Он подготовит файлы для установки.
Install Rules так же пройдет автоматически, если установщик не обнаружит проблем, которые необходимо решить перед установкой MSSQL (например, перезагрузить компьютер или несовместимость вашей версии Windows с версией SQL Server).
Тип инсталляции SQL Server
На этом шаге вы можете выбрать установку нового экземпляра или добавление функционала в уже установленный экземпляр. В нашем случае выбираем “Perform a new installation”.
Теперь нужно ввести ключ продукта. Если нет ключа, выбирайте Free edition (например, Developer), но имейте в виду, что с редакцией Developer вы имеете право только разрабатывать и тестировать ПО, но не использовать сервер в продуктивной среде.
На шаге License Terms принимаем лицензионное соглашение.
Компоненты SQL Server 2019: для чего нужны, какие нужно установить
На этом этапе вам предлагают установить различные компоненты SQL Server. Пройдемся по ним подробнее, посмотрим какие нужно ставить в различных ситуациях:
- Database Engine Services – это основной движок SQL Server. Обязателен к установке.
- SQL Server Replication – службы репликации. Компонент довольно часто используются, поэтому если вы не уверены нужны ли они вам, то лучше отмечайте для установки.
- Machine Learning Services and Language Extensions – службы для выполнения R/Python/Java кода в контексте SQL Server. Необходимо, если вы собираетесь заниматься Machine Learning.
- Full-Text and Semantic Extractions for Search – компонент необходим, если вам нужна полнотекстовая технология поиска или семантический поиск в документах (например docx). В случае семантического поиска по документам, вам также понадобиться FILESTREAM, о нём ниже.
- Data Quality Services – службы для коррекции и валидации данных. Если вы не уверены нужен ли вам DQS, то лучше не устанавливайте его.
- PolyBase Query Service For External Data – технология для доступа к внешним данным, например на другом SQL Server или в Oracle Database. Java connector for HDFS data sources относиться к PolyBase технологии и нужен в случае если вы хотите работать с HDFS технологией.
- Analysis Services – также известен как SSAS. Технология для бизнес-отчетов (BI) и работы с OLAP. Используется в крупных компаниях для отчетности.
Дальше переходим к списку Shared Features (функций, распространяющихся на весь сервер, а не на конкретный экземпляр).
- Machine Learning Server (Standalone) – то же самое что и Machine Learning Services and Language Extensions, но с возможностью установки без самого движка SQL Server.
- Data Quality Client – то же самое что и DQS, только standalone.
- Client Tools Connectivity – библиотеки ODBC, OLE DB и некоторые другие. Рекомендем ставить обязательно.
- Integration Services – службы интеграции данных, известны также как SSIS. Технология для ETL (Extract, Transform, Load) данных. SSIS нужны, если вы хотите автоматизировать импорт данных и менять их в процессе импорта. Scale Out Master/Worker нужны для масштабирования работы SSIS. Если вы не уверены нужны ли они вам, то не отмечайте их.
- Client Tools Backwards Compatibility – устаревшие DMV и системные процедуры. Рекомендую ставить.
- Client Tools SDK – пакет с ресурсами для разработчиков. Можно не ставить, если не уверены, нужен ли он вам.
- Distributed Replay Controller/Client – повторяют и улучшают функционал SQL Server Profiler. Службы Distributed Replay нужны для моделирования нагрузки и для различного рода тестирования производительности.
- SQL Client Connectivity SDK – ODBC/OLE DB SDK для разработчиков.
- Master Data Services – компонент из Microsoft Power BI. Нужен для анализа, валидации, интеграции и коррекции данных.
Некоторые из этих компонентов (например, Java connector for HDFS data sources) могут отсутствовать в более старых версиях SQL Server.
Чуть ниже, на этом же шаге, вы можете указать директорию для файлов SQL Server’a. Если у вас нет весомых причин менять её, то оставьте стандартную (C:\Program Files\Microsoft SQL Server\).
После того как вы выбрали нужные вам компоненты MSSQL, инсталлятор проверяет совместимость компонентов с вашей системой, и, если проблем нет, этот шаг пройдет автоматически.
Настройка именования экземпляра SQL Server
Вы можете оставить параметр Default Instance, в таком случае имя вашего экземпляра будет MSSQLSERVER. При выборе Named Instance вы сами указываете имя экземпляра SQL Server. В моём случае я назову экземпляр DEV. Instance ID рекомендуется ставить такой же, как и имя экземпляра, во избежание путаницы.
В Installed instances отображаются установленные на сервере экземпляры MSSQL, у меня уже есть один.
Настройка параметров служб SQL Server, кодировка
Во вкладке Service Accounts укажите аккаунты из-под которых будут работать службы SQL Server на хосте. Хорошей практикой считается использование MSA (Managed Service Accounts) и gMSA (Group Managed Service Accounts) технологий, как самых надежных в плане безопасности. Я буду использовать обычный доменный аккаунт.
Выставьте у SQL Server Agent поле Startup Type в Automatic, иначе агент придется запускать вручную.
Также начиная с SQL Server 2016 появилась возможность выставлять параметр IFI (Instant File Initialization) при установке сервера. В инсталляторе он называется “Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine”. Его включение означает, что старые данные не будут перезаписываться нулями при:
- Создании базы данных;
- Добавлении данных в файлы данных или лог файлы;
- Увеличении размера существующих файлов (включая операции авто увеличения);
- Восстановлении базы данных/файловой группы.
Это ускоряет процесс инициализации файлов, но уменьшает безопасность, потом что старые данные не затираются нулями, поэтому старая информация, которая содержалась в этих файлах, может быть частична доступна.
Рекомендую включать этот параметр, если опасность утечки данных несущественна.
На следующем шаге вы должны выбрать Collation.
Грубо говоря, Collation это настройка кодировки SQL Server. Этот параметр устанавливает кодировку страниц, правила сортировки, кодировку для char/varchar и другие языковые настройки.
При установке сервера вы выбираете Collation для всего SQL Server. После установки можно будет поменять этот параметр, но сделать это будет непросто, поэтому нужно сразу выбрать подходящий для ваших задач Collation.
Для СНГ рекомендуется выбирать Cyrillic_General_CI_AS. Если данные будут только на английском, можно выбирать SQL_Latin1_General_CP1_CI_AS.
Если вы планируете использовать SQL Server в боевых условиях, ознакомьтесь с документацией по выбору Collation, так как это важный параметр, хоть он и может быть задан для конкретной базы данных.
Настройка Database Engine в SQL Server
На шаге Database Engine Configuration доступны 6 вкладок, начнем по порядку:
В Server Configuration вы должны выбрать Authentication Mode и указать аккаунт для администратора SQL Server’a.
У вас на выбор есть 2 режима: Windows authentication mode и Mixed mode.
- С Windows аутентификацией авторизоваться смогут только пользователи вашего домена или компьютера под управлением Windows.
- В Mixed mode помимо windows авторизации станет доступна авторизация по учетным данным самого SQL Server’a.
Майкрософт рекомендует использовать Windows Authentication как самый безопасный, но на практике скорее всего вам нужно будет логиниться на сервер из других приложений. Например, написанных на java, и в таком случае без аутентификации SQL сервера не обойтись.
Если вы уверены, что ваши пользователи будут логиниться только с Windows компьютеров и приложений, поддерживающих Windows аутентификацию, то выбирайте Windows authentication mode.
В моём случае я ставлю Mixed mode. В этом режиме вам нужно будет прописать пароль от пользователя sa и выбрать Windows аккаунт, который будет обладать административными правами.
На вкладке Data Directories вы должны выбрать каталог, в которой SQL Server будет хранить базу данных и транзакционные логи.
Для данных лучше всего выделить отдельный RAID массив. Дисковая подсистема критически важна для производительности SQL Server’а, поэтому необходимо выбрать самый хороший из доступных вам вариант хранения данных, будь то NAS или локальный RAID из быстрых дисков.
Хорошей практикой считается разнесение всех директорий (системных баз данных, пользовательских баз данных, логов пользовательских баз данных, резервных копий) на разные хранилища. Таким образом вы добьетесь максимальной производительности от SQL Server’а на уровне работы с хранением данных.
В моём случае я укажу отдельный диск с RAID 1 для всех директорий.
На вкладке TempDB настраиваются параметры для базы tempdb. Её правильная конфигурация важна для производительности сервера, так как эта база участвует практически во всех операциях с данными.
- Number of files – количество файлов данных для tempdb. Вам нужно указать количество файлов в зависимости от ядер процессора. Хорошей практикой считается выставлять количество файлов равным количеству ядер процессора поделенных на 2. То есть на 32 ядра вашего сервера рекомендуется 16 файлов. Также независимо от количества ядер не рекомендуется ставить меньше 8 файлов, это необходимо, чтобы избежать проблем, описанных здесь https://support.microsoft.com/en-us/kb/2154845 .
- Initial size – начальный размер файлов данных tempdb. При каждой перезагрузке сервера, размер tempdb будет сбрасываться до начального размера. Рекомендуется указывать размер файлов данных в зависимости от планируемой нагрузки. Если вы не можете спланировать будущую нагрузку, то оставьте 8 MB. Если вы выделите отдельный массив/диск под файлы tempdb (об этом ниже), то лучше всего будет указать такой размер файлов, который бы полностью заполнил диск, чтобы избежать постоянных операций увеличения файла.
- Autogrowth – шаг увеличения файлов tempdb. Размер нужно ставить в зависимости от начального размера. Оставьте 64 МB, если не можете спланировать нагрузку. Имейте в виду, если включен IFI (Instant File Initialization) то ожидание блокировок на расширение файла будет намного меньше. Не рекомендуется ставить размер шага слишком большим, так как это вызовет существенные задержки при увеличении размера файла.
- Data Directories – директории для размещения файлов данных tempdb. Если вы укажите несколько директорий, файлы будут размещаться по алгоритму Round-robin, то есть циклически. Грубо говоря при указании, например, 4 директорий, файлы данных распределятся по всем директориям в равной степени. Хорошей практикой будет добавить разные дисковые массивы для файлов данных.
- TempDb Log file: Initial size / Autogrowth – настройка начального размера и шага увеличения файла лога tempdb. Стоит придерживаться таких же правил, как и для файлов данных tempdb.
- Log Directory – директория для хранения лог файла tempdb. Лог файл всего 1, независимо от количества файлов данных, указывается всего 1 директория. Если есть возможность, лог файлу также выделите отдельный массив.
Вкладка MaxDOP.
MaxDOP это параметр SQL Server’а который отвечает за параллельное выполнение запросов и соответственно степень параллелизма. Для того чтобы SQL Server использовал все ядра процессора для обработки параллельных планов, установите 0 в качестве значения MaxDOP. Если по каким-то причинам вы хотите отключить параллельное выполнение запросов, установите 1 в качестве значения. Для максимальной производительности настройте MaxDOP согласно правилам в таблице (https://go.microsoft.com/fwlink/?linkid=2084761):
Сервер с одним узлом NUMA | Не более 8 логических процессоров | Значение параметра MAXDOP не должно превышать количество логических процессоров |
Сервер с одним узлом NUMA | Больше 8 логических процессоров | Значение параметра MAXDOP должно быть равно 8 |
Сервер с несколькими узлами NUMA | Не более 16 логических процессоров на узел NUMA | Значение параметра MAXDOP не должно превышать количество логических процессоров на каждый узел NUMA |
Сервер с несколькими узлами NUMA | Больше 16 логических процессоров на каждый узел NUMA | Значение MAXDOP должно быть равно половине количества логических процессоров на узел NUMA со значением MAX, равным 16 |
В моём случае я поставлю 0. Это даст наибольшую производительность для выполнения планов параллельных запросов, но это может вызвать задержки, так как другие запросы должны будут дождаться завершения выполнения текущего запроса, потому что все ядра процессора будут заняты выполнением текущего запроса.
Для “боевого” сервера я всё же рекомендую следовать правилам из таблицы, а также ознакомиться с документацией по ссылке выше.
Вкладка Memory – нужно указать минимальный и максимальный объем оперативной памяти, который будет использовать SQL Server. Так как спрогнозировать нужный объём для сервера довольно сложно, рекомендуется выделить SQL Server’у 80-85% от всего объёма оперативной памяти сервера. Для того чтобы узнать реальный объём используемой оперативной памяти, нужно круглосуточно мониторить потребление оперативной памяти через специальные DMV (Dynamic Management View) и отслеживать пики потребления RAM. Только с наличием этой информации можно спрогнозировать реальный объем потребления оперативки.
Я оставлю Default значения (min 0 и max 2147483647 MB).
Вкладка FILESTREAM – включение технологии FILESTREAM. Она позволяет хранить бинарные файлы на файловой системе и обеспечивает доступ к ним через SQL. Если вы не уверены, что хотите работать с бинарными данными на уровне SQL, то тогда оставьте FILESTREAM выключенным.
Шаг Feature Configuration Rules пройдет автоматически. Ознакомьтесь со сводкой в Ready to Install и жмите Install.
На этом базовая установка SQL Server 2019 Enterprise завершена. В следующей статье мы посмотрим на основные способы анализа производительности и проблем в SQL Server.
Примечание. На более старых версиях ( SQL Server 2014, 2016) некоторых вкладок и параметров может не быть.
Установка Microsoft SQL Server Express
В настоящей инструкции кратко описан порядок установки бесплатной системы управления данными Microsoft SQL Server 2019 Express
- Установка SQL Server Express
- Установка SQL Server Management Studio
- Настройка SQL Server для работы в сети
- Создание резервной копии базы данных
- Восстановление базы данных из резервной копии
Эта инструкция может быть полезной для начинающих пользователей, не имеющих опыта работы с СУБД Microsoft SQL Server. Она поможет вам быстро и правильно установить на ваш компьютер Microsoft SQL Server Express в той конфигурации, которая требуется для работы программы VOGBIT – система управления производством.
Следуйте инструкции, выполняйте по порядку указанные действия.
Обратите особенное внимание на Рис. 2 и Рис. 12. По статистике, если в дальнейшем возникают проблемы с развертыванием системы VOGBIT, то в большинстве случаев, из-за неверно выбранных параметров на этих этапах установки.
1. Установка SQL Server Express
Данное руководство ни в коей мере не заменяет официальную документацию разработчика, а является лишь краткой памяткой для начинающих пользователей
Microsoft SQL Server Express — это бесплатная многофункциональная и надежная система управления данными, которая предоставляет удобное и надежное хранилище данных для упрощенных веб-сайтов и классических приложений.
Microsoft® SQL Server® 2019 Express Поддерживаемые ОС: Windows 8 и выше или Windows Server 2012 и выше
https://www.microsoft.com/ru-RU/download/details.aspx?id=101064
Microsoft® SQL Server® 2014 Express Поддерживаемые ОС: Windows 7-8.1, Windows Server 2008 R2-Windows Server 2012 R2
https://www.microsoft.com/ru-RU/download/details.aspx?id=42299
Требования к системе:
Процессор: совместимый с Intel, с частотой 1 ГГц или выше
ОЗУ: не менее 512Мb, место на жестком диске 4,2Gb
Ограничения: Microsoft SQL Server Express поддерживает 1 физический процессор, 1 ГБ памяти и размер базы данных не более 10 ГБ
Скачайте с сайта microsoft.com пакет для установки Microsoft SQL Server Express под вашу операционную систему.
Запустите скачанный исполняемый файл (Рис. 1).
Рис. 1. Программа для установки Microsoft SQL Server.
На стартовой странице процесса установки выберите тип установки «Пользовательский» (Рис. 2).
Рис. 2. Выберите тип установки «Пользовательский»
Нажмите «Установить» (Рис. 3).
Рис. 3. Начало установки
Программа начнёт скачивание файлов для установки Microsoft SQL Server (Рис. 4).
Рис. 4. Скачивание пакета установки.
После завершения процесса скачивания, на экране появится окно «Центра установки SQL Server». Выберите в нём пункт «Новая установка изолированного экземпляра SQL Server … » (Рис. 5).
Рис. 5. Выберите установку нового экземпляра SQL Server.
Для продолжения установки нужно согласиться с условиями лицензионного соглашения (Рис. 6).
Рис. 6. Лицензионное соглашение.
Выберите, хотите ли вы, чтобы в дальнейшем ваш SQL Server автоматически обновлялся через Центр обновления Майкрософт, или нет, и нажмите «Далее» (Рис. 7)
Рис. 7. Настройка обновления SQL Server.
После этого, на экране появится окно «Правила установки». Скорее всего, оно будет выглядеть, как на Рис. 8. Программа определяет потенциальные проблемы, которые могут возникнуть установке SQL Server и показывает результаты этой проверки.
Символ предупреждения в графе «Брандмауэр Windows» показывает, что если вы хотите, чтобы данный SQL Server использовался в сети (к базе данных, расположенной на этом компьютере, могли подключаться по сети пользователи с других компьютеров), то вам придётся для этого выполнить определённые дополнительные настройки безопасности на вашем компьютере после установки SQL Server.
Рис. 8. Окно «Правила установки»
Нажмите «Далее», чтобы перейти к окну выбора компонентов для установки (Рис. 9). Все «галочки» в этом окне можно оставить по умолчанию. Можно, если хотите, снять в разделе «Компоненты экземпляра» все галочки, кроме первой – «Службы ядра СУБД» (остальное не требуется для VOGBIT).
Рис. 9. Выбор компонентов для установки.
В окне Настройка экземпляра выберите вариант Именованный экземпляр и введите имя, как будет называться ваш экземпляр SQL сервера. Например, STP (Рис. 10). Затем нажмите Далее.
Рис. 10. Задайте имя своего экземпляра SQL сервера.
В окне «Конфигурация сервера» на закладке «Учётные записи служб» установите для служб «Ядро СУБД SQL Server» и «Обозреватель SQL Server» Тип запуска = Авто (Рис. 11) и нажмите Далее.
Рис. 11. Для использования в сети установите автоматический запуск служб SQL сервер.
ВАЖНО!
На закладке «Настройка ядра СУБД» обязательно выберите Смешанный режим (проверка подлинности SQL Server и Windows) и добавьте в администраторы текущего пользователя Windows, как на Рис. 12. Введите надежный пароль администратора SQL сервера. Запомните пароль администратора, который вы установили! Этот пароль устанавливается для администратора SQL SERVER (имя уч.записи администратора sa), и в дальнейшем будет использован для авторизации в VOGBIT при подключении с правами администратора. После того, как вы ввели и подтвердили пароль администратора, можно нажимать Далее.
Рис. 12. Выберите смешанный тип аутентификации, задайте пароль администратора SQL сервера.
После этого начнётся установка SQL сервера (Рис. 13). Программа выполнит все необходимые операции автоматически. Просто подождите завершения процесса.
Рис. 13. Выполняется установка и настройка SQL сервера.
Когда установка и настройка будут закончены, появится окно, как на Рис. 14. Нажмите в нём Закрыть. Затем закройте и окно «Центр установки SQL Server» (Рис. 15).
Рис. 14. Установка SQL Server завершена. Рис. 15. Окно Центра установки SQL Server можно закрыть.
Убедиться, что SQL Server успешно установлен и работает, можно следующим образом. Нажмите правую кнопку мыши на значке Мой компьютер, чтобы вызвать контекстное меню. Выберите Управление (Рис. 16).
Рис. 16. Откройте окно Управление компьютером.
Выберите Службы и приложения – Службы (Рис. 17).
Рис. 17. Выберите Службы и приложения — Службы.
В списке должна присутствовать служба SQL Server и напротив неё должно высветится Работает (Рис. 18).
Рис. 18. Служба SQL Server работает.
Теперь на вашем компьютере установлена мощная система управления данными Microsoft SQL Server Express. Вы можете создать базу данных VOGBIT и работать с ней.
Подробнее о создании новой базы данных VOGBIT смотрите в руководстве по установке VOGBIT. Там же можно найти видеоролик Часть 1. Установка, новая база данных из серии Начало работы, в котором показан процесс установки VOGBIT и создания новой базы данных.
2. Установка SQL Server Management Studio
Данное руководство ни в коей мере не заменяет официальную документацию разработчика, а является лишь краткой памяткой для начинающих пользователей
SQL Server Management Studio – это полезная, свободно распространяемая, программа для управления SQL Server. С её помощью можно выполнять множество действий, в том числе, например, создавать резервные копии базы данных или восстанавливать базу данных из ранее созданной резервной копии.
Если вы планируете только ознакомиться с демо-версией VOGBIT, то установка ПО SQL Server Management Studio не требуется. Если вы планируете полноценно работать с VOGBIT, то мы рекомендуем вам при установке SQL Server сразу же установить и среду SQL Server Management Studio.
Скачать пакет для установки можно, например, здесь:
Для установки английской версии нажмите на ссылку «Скачать SQL Server Management Studio» (Рис. 19).
Рис. 19. Выберите для установки английской версии SQL Server Management Studio.
Если вы хотите установить русскую версию, то промотайте страницу немного ниже и в разделе «Доступные языки» нажмите на ссылку «Русский» (Рис. 20).
Рис. 20. Выберите для установки русской версии SQL Server Management Studio
Запустите скачанный исполняемый файл (Рис. 21).
Рис. 21. Программа для установки SQL Server Management Studio.
Выберите «Установить» (Рис. 22).
Рис. 22. Запуск процесса установки SQL Server Management Studio.
Начнётся процесс установки среды SQL Server Management Studio (Рис. 23).
Рис. 23. Установка SQL Server Management Studio
По завершении установки нажмите Закрыть (Рис. 24).
Рис. 24. Среда SQL Server Management Studio установлена.
Теперь вы можете использовать среду SQL Server Management Studio для резервного копирования-восстановления базы данных, для выполнения запросов и т.п.
3. Настройка SQL Server для работы в сети
Данное руководство ни в коей мере не заменяет официальную документацию разработчика, а является лишь краткой памяткой для начинающих пользователей
Нажимаем правой кнопкой мыши на кнопке «Пуск» из контекстного меню выбираем «Управление компьютером».
Рис. 25. Управление компьютером В дереве компонентов диспетчера (слева) выбрать раздел: Службы и приложения — Диспетчер конфигурации SQL Server – Сетевая конфигурация SQL Server – Протоколы для SQLEXPRESS (возможно MSSQL зависит от версии) – TCP/IP. Во вкладке «Протокол» устанавливаем «Да», во вкладке «IP-адреса» мотаем вниз до раздела «IPAll» и устанавливаем параметр «TCP-порт» равный 1433.
Рис. 26. Сетевая конфигурация SQL Server Рис. 27. Сетевая конфигурация SQL Server
Далее необходимо настроить «Брандмауэр Windows»
Найдите, например, через «Проводник Windows» по пути C:\Windows\System32 файл cmd.exe и запустите его с повышенными правами администратора. Для этого на файле cmd.exe нажмите правой кнопкой мыши и выберите «Запуск от имени администратора».
Если у вас установлен Windows 10, то для открытия порта достаточно выполнить команду:
netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN
Если у вас установлен Windows 7, то для открытия порта запускаем команду WF.msc
Откроется окно «Брандмауэр Windows»
Рис. 28. Окно «Брандмауэр Windows»
Создаем правило для входящих подключений
В диалоговом окне «Тип правила» выберите «Порт» и нажмите кнопку «Далее»
В диалоговом окне «Протокол и порты» выберите протокол «TCP».
Выберите «Определенные локальные порты» и введите номер порта экземпляра по умолчанию введите 1433.
Нажмите кнопку Далее.
В диалоговом окне Имя введите имя и описание для этого правила, например, SQLPort, а затем нажмите кнопку Готово.
Настройка завершена
4. Создание резервной копии базы данных
Данное руководство ни в коей мере не заменяет официальную документацию разработчика, а является лишь краткой памяткой для начинающих пользователей
Для создания резервной копии базы данных, можно воспользоваться свободно распространяемой, программой SQL Server Management Studio.
Через меню «Пуск» запустите программу запускаем программу SQL Server Management Studio.
Выберите нужный сервер (экземпляр), введите имя и пароль администратора SQL Server’а и подключитесь к серверу.
Рис. 29. Подключение к серверу
Если ваш SQL SERVER настроен на не стандартный порт, отличный от 1433, то в строке соединение необходимо указать его после запятой. Например: 10.0.0.30\SQLEXPRESS2019, 18544 (где SQLEXPRESS2019 — имя именованного экземпляра, если имеется, а 18544 — порт сервера)
В дереве в левой части экрана выберите раздел «Базы данных» и установите курсор на нужную базу данных.
Рис. 30. Обозреватель объектов
Откройте правой кнопкой мыши контекстное меню. Выберите «Задачи» — «Создать резервную копию. Если в области «Назначение» ещё не указан файл, в который будет сохранена резервная копия, то его нужно указать. Для этого нажмите «Добавить».
Рис. 31. Создание резервной копии Рис. 32. Создание резервной копии
Если Вы сохраняете резервную копию базы данных в выбранный файл уже не первый раз, то в разделе «Параметры носителя» Вы можете выбрать один из двух вариантов:
- Добавить в существующий резервный набор данных;
- Перезаписать все существующие резервные наборы данных.
Рис. 33. Создание резервной копии
Для создания резервной копии нажмите «Ок».
Рис. 34. Создание резервной копии
5. Восстановление базы данных из резервной копии
Данное руководство ни в коей мере не заменяет официальную документацию разработчика, а является лишь краткой памяткой для начинающих пользователей
Через меню «Пуск» запустите программу запускаем программу SQL Server Management Studio.
Выберите нужный сервер (экземпляр), введите имя и пароль администратора SQL Server’а и подключитесь к серверу.
Рис. 35. Восстановление базы данных
В дереве в левой части экрана выберите раздел «Базы данных» откройте правой кнопкой мыши контекстное меню. Выберите «Восстановить базу данных».
Рис. 36. Восстановление базы данных
В области «Назначение — База данных» выберите имя восстанавливаемой базы. В поле «Источник» выберите «Устройство» и нажмите «…» для выбора места расположения файла с резервной копией.
Рис. 37. Восстановление базы данных
В окне «Выбор устройства резервного копирования» выберите «Файл» и нажмите кнопку «Добавит».
Рис. 38. Восстановление базы данных
Выберите файл с резервной копией базы данных.
Рис. 39. Восстановление базы данных
Убедитесь, что выбрано правильное имя базы данных назначения, в противном случае впишите/выберите нужное. Если база данных с введенным именем не существует, она создастся автоматически.
Рис. 40. Восстановление базы данных
Нажмите «Ок» для начала восстановления базы данных.
Рис. 41. Восстановление базы данных
Установка MS SQL Server на Linux
В этой статье я научу вас устанавливать Microsoft SQL Server 2022 на Linux и мы развернем тестовую базу данных от Microsoft в операционной системе Linux.
Мы будем использовать пакетным менеджером Yum для Linux дистрибутивов: RedHat (RHEL), CentOS, Scientific Linux и DPKG (Debian Package) – система управления пакетами в Debian и дистрибутивах на его основе, например Ubuntu и набирающем популярность Astra Linux, в связи с импортозамещением. Поэтому команды я приведу для обоих пакетных менеджеров. Так же рассмотрим универсальный способ запуска через Docker.
Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов (диалект SQL) — Transact-SQL (T-SQL).
Для взаимодействия с СУБД MS SQL Server используются 2 основных способа:
1. Служебная программа sqlcmd
2. Microsoft SQL Server Management Studio (SSMS)
Конечно вы можете использовать привычный для вас DBeaver или DataGrip или любой другой инструмент администрирования базы данных.
- Выбор выпуска
- Запуск MS SQL Server через Docker
- Установка MS SQL Server на Ubuntu 20.04.6 LTS (Debian, Astra Linux)
- Установка MS SQL Server на Oracle Linux Server 8.7 (RedHat (RHEL), CentOS)
- Служебная программа sqlcmd
- Microsoft SQL Server Management Studio (SSMS)
- Работа со службой Database Engine
- SQL команды для подробной информации о сервере
- Full-Text Search
- Простой пример развертывания БД для Linux
- Развертывание тестовой БД Microsoft для Linux
Выбор выпуска
Выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.
- Express является бесплатной для использования редакцией. Функционал довольно ограничен, самое ощутимое ограничение экспресс версии — максимальный размер базы 10 ГБ. Эта редакция подойдет для небольших проектов, например, студенческих работ или для обучения SQL/T-SQL.
- Developer редакция так же как и Enterprise не имеет никаких ограничений и её можно использовать бесплатно, но она может использоваться только для разработки и тестирования приложений.
- Web редакция почти ничем не отличается от standard, кроме как более сильными ограничениями в функционале и соответственно более низкой стоимости лицензирования;
- Standard это полноценная платная редакция, но многих функций всё еще нет. Максимальный объём оперативной памяти, который сможет использовать SQL Server – 128 ГБ, также отсутствуют группы доступности AlwaysOn и другие компоненты. Standard предназначен для приложений в небольших организациях.
- Evaluation — ознакомительная редакция SQL Server, которая предоставляет полный функционал Enterprise и работает в течении 180 дней (может быть обновлена до полноценной версии).
- Enterprise включает в себя все возможные функции и компоненты, никаких ограничений нет. Корпоративная редакция обычно используется крупными корпорациями или компаниями, которым необходим функционал этой версии.
SQL Server Developer — идеальный выбор для людей, которые создают и тестируют приложения.
Запуск MS SQL Server через Docker
# Извлечь образ, при необходимости, и запустить контейнер c MS SQL Server на порту 1433 и именем контейнера mssql1 docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=strongPassword123" -p 1433:1433 --name mssql1 -d mcr.microsoft.com/mssql/server:2022-latest # Вывести список всех контейнеров docker ps -a # Служебная программа sqlcmd позволяет вводить инструкции Transact-SQL docker exec -it mssql1 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P strongPassword123 # Удалить созданный вами контейнер docker rm mssql1 -f
- https://learn.microsoft.com/ru-ru/sql/linux/sql-server-linux-docker-container-deployment?view=sql-server-ver15&pivots=cs1-bash
- https://hub.docker.com/_/microsoft-mssql-server
Установка MS SQL Server на Ubuntu 20.04.6 LTS (Debian, Astra Linux)
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)" sudo apt-get update sudo apt-get install -y mssql-server sudo /opt/mssql/bin/mssql-conf setup systemctl status mssql-server
# Восстановление настроек по умолчанию sudo ufw default deny incoming sudo ufw default allow outgoing # Разрешаем подключение sudo ufw allow 1433 # активировать UFW sudo ufw enable # Дополнительно: # диапазоны портов и протокол sudo ufw allow 6000:6007/tcp sudo ufw allow 6000:6007/udp
Установка MS SQL Server на Oracle Linux Server 8.7 (RedHat (RHEL), CentOS)
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo sudo yum install -y mssql-server sudo /opt/mssql/bin/mssql-conf setup systemctl status mssql-server
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
Служебная программа sqlcmd
Для работы программы sqlcmd требуется установка ODBC Driver for SQL Server, подводным камнем тут является то, что нам нужна именно 17 версия для работы с Microsoft SQL Server 2022 (RTM-CU4) (KB5026717).
1) Для работы из-под Windows 10 из Windows Terminal (PowerShell)
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo sudo yum remove unixODBC-utf16 unixODBC-utf16-devel sudo yum install -y mssql-tools unixODBC-devel echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
sudo apt-get update sudo apt install curl curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list sudo apt-get update sudo apt-get install mssql-tools unixodbc-dev sudo apt-get update sudo apt-get install mssql-tools echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
sqlcmd -S localhost -U sa -P strongPassword123 # Выход из приглашения команды sqlcmd QUIT
Microsoft SQL Server Management Studio (SSMS)
SQL Server Management Studio (SSMS) — это интегрированная среда для управления любой инфраструктурой SQL.
Работа со службой Database Engine
#Проверьте состояние службы Database Engine sudo systemctl status mssql-server #Остановить, запустить или перезапустить службу Database Engine sudo systemctl stop mssql-server sudo systemctl start mssql-server sudo systemctl restart mssql-server
SQL команды для подробной информации о сервере
SELECT Name from sys.databases; SELECT @@VERSION as Version SELECT SERVERPROPERTY('ServerName') as 'Container ID' SELECT SERVERPROPERTY('Edition') as Edition SELECT CURRENT_USER; GO
Full-Text Search on Linux
Полнотекстовый поиск позволяет выполнять полнотекстовые запросы к символьным данным в таблицах SQL Server. Это позволит нам выполнить загрузку данных из .csv файлов в БД.
sudo yum install -y mssql-server-fts sudo yum check-update sudo yum update mssql-server-fts
sudo apt-get update sudo apt-get install -y mssql-server-fts
Простой пример развертывания БД для Linux
Это упрощенный пример создания тестовой базы данных от Microsoft.
Этот пример нужен для самостоятельной корректировки SQL-скриптов создания тестовой БД Microsoft на Linux.
Воспроизвести работу примера:
- Установить Full-Text Search
- Создать sql-скрипты описанные ниже
- Перенести SQL файлы на сервер (например через MobaXTerm)
- Настроить права доступа для пользователя и группы
- Выполнить скрипты в порядке их следования
Команды Linux (для новичков):
# Создаем папку TestMe в директории вашего пользователя - мой пользователь: admin # /home/admin/ mkdir TestMe # Загружаем файлы на сервер через ftp встроенный в MobaXTerm # просто выделив их и перенеся в директорию вашего пользователя # Переключаемся на root (суперпользователя) sudo su cd /var mkdir sqlbackup cd sqlbackup mkdir TestMe # переносим файлы в директорию TestMe - cp /home/admin/TestMe/* /var/sqlbackup/TestMe chown mssql -R sqlbackup/ chgrp mssql -R sqlbackup/
Запуск sql скриптов через sqlcmd при подключении к удаленному серверу по SSH через MobaXTerm
sqlcmd -S localhost -U SA -P strongPassword123 -i /var/sqlbackup/TestMe/ddl.sql
Сами тестовые данные — AddressType.csv
1 Billing 2008-04-30 00:00:00 2 Home 2008-04-30 00:00:00 3 Main Office 2008-04-30 00:00:00 4 Primary 2008-04-30 00:00:00 5 Shipping 2008-04-30 00:00:00 6 Archive 2008-04-30 00:00:00
Удаляет БД, если ранее она была создана
Вставляет в таблицу данные
Делает выборку данных из таблицы
Удаляет все записи из таблицы
:setvar SqlSamplesSourceDataPath "/var/sqlbackup/TestMe/data/" :setvar DatabaseName "TestMe" IF '$(SqlSamplesSourceDataPath)' IS NULL OR '$(SqlSamplesSourceDataPath)' = '' BEGIN RAISERROR(N'The variable SqlSamplesSourceDataPath must be defined.', 16, 127) WITH NOWAIT RETURN END; SET NOCOUNT OFF; GO PRINT CONVERT(varchar(1000), @@VERSION); GO PRINT ''; PRINT 'Started - ' + CONVERT(varchar, GETDATE(), 121); GO USE [master]; GO -- **************************************** -- Drop Database -- **************************************** PRINT ''; PRINT '*** Dropping Database'; GO IF EXISTS (SELECT [name] FROM [master].[sys].[databases] WHERE [name] = N'$(DatabaseName)') DROP DATABASE $(DatabaseName); -- If the database has any other open connections close the network connection. IF @@ERROR = 3702 RAISERROR('$(DatabaseName) database cannot be dropped because there are still other open connections', 127, 127) WITH NOWAIT, LOG; GO -- **************************************** -- Create Database -- **************************************** PRINT ''; PRINT '*** Creating Database'; GO CREATE DATABASE $(DatabaseName); GO PRINT ''; PRINT '*** Checking for $(DatabaseName) Database'; /* CHECK FOR DATABASE IF IT DOESN'T EXISTS, DO NOT RUN THE REST OF THE SCRIPT */ IF NOT EXISTS (SELECT TOP 1 1 FROM sys.databases WHERE name = N'$(DatabaseName)') BEGIN PRINT '*******************************************************************************************************************************************************************' +char(10)+'********$(DatabaseName) Database does not exist. Make sure that the script is being run in SQLCMD mode and that the variables have been correctly set.*********' +char(10)+'*******************************************************************************************************************************************************************'; SET NOEXEC ON; END GO ALTER DATABASE $(DatabaseName) SET RECOVERY SIMPLE, ANSI_NULLS ON, ANSI_PADDING ON, ANSI_WARNINGS ON, ARITHABORT ON, CONCAT_NULL_YIELDS_NULL ON, QUOTED_IDENTIFIER ON, NUMERIC_ROUNDABORT OFF, PAGE_VERIFY CHECKSUM, ALLOW_SNAPSHOT_ISOLATION OFF; GO USE $(DatabaseName); GO CREATE TYPE [Name] FROM nvarchar(50) NULL; GO CREATE TABLE [Person].[AddressType]( [AddressTypeID] [int] IDENTITY (1, 1) NOT NULL, [Name] [Name] NOT NULL, [rowguid] uniqueidentifier ROWGUIDCOL NOT NULL CONSTRAINT [DF_AddressType_rowguid] DEFAULT (NEWID()), [ModifiedDate] [datetime] NOT NULL CONSTRAINT [DF_AddressType_ModifiedDate] DEFAULT (GETDATE()) ) ON [PRIMARY]; GO
USE [TestMe]; GO BULK INSERT [Person].[AddressType] FROM '/var/sqlbackup/AdventureWorks/AddressType.csv' WITH ( CHECK_CONSTRAINTS, DATAFILETYPE = 'char', FIELDTERMINATOR= '\t', ROWTERMINATOR = '\n', KEEPIDENTITY, TABLOCK ); GO SELECT * FROM [PERSON].[AddressType]; GO
USE [TestMe]; GO SELECT * FROM [PERSON].[AddressType]; GO
USE [TestMe]; GO DELETE FROM [Person].[AddressType]; GO SELECT * FROM [Person].[AddressType]; GO
Развертывание тестовой БД Microsoft для Linux
Создадим на сервере Linux директорию /var/sqlbackup/AdventureWorks
Из него скачиваем zip архив с данными и sql скриптом для расскатки БД.
Отредактируем файл instawdb.sql
. :setvar SqlSamplesSourceDataPath "/var/sqlbackup/AdventureWorks/" . :setvar DatabaseName "AdventureWorks"
Удаляем все строчки с: CODEPAGE=’ACP’, в instawdb.sql
ACP это ANSI, а Linux использует UTF-8, а UTF-8 это расширенный ANSI, а кодовые страницы в Linux не используются, поэтому убрав строки всё будет работать
После переносим .csv данные и единственный sql-скрипт в /var/sqlbackup/AdventureWorks на нашем сервере Linux
sqlcmd -S localhost -U SA -P strongPassword123 -i /var/sqlbackup/AdventureWorks/instawdb.sql
Теперь у вас есть тестовая база данных =)