В этой статье мы пошагово рассмотрим установку Microsoft SQL Server 2019 с описанием всех опций, компонентов, актуальных рекомендаций и best practice.
MS SQL Server это лидирующая РСУБД (Реляционная система управления базами данных) а также главный конкурент Oracle Database в корпоративном сегменте. В СНГ MSSQL чаще всего применяется для собственных разработок прикладного ПО и для 1С.
Содержание:
- Редакции MS SQL Server 2019
- Особенности лицензирования SQL Server
- Начало установки SQL Server
- Параметры обновлений SQL Server при установке
- Тип инсталляции SQL Server
- Компоненты SQL Server 2019: для чего нужны, какие нужно установить
- Настройка именования экземпляра SQL Server
- Настройка параметров служб SQL Server, кодировка
- Настройка Database Engine в SQL Server
Редакции 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. Включать эту опцию или нет, решать вам. Всё зависит от вашей планировки обновлений и от требований к отказоустойчивости сервера. Если у вас нет четкого плана обновлений ваших серверов, лучше оставьте этот параметр включенным.
Нажмите Next.
Шаг 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 FilesMicrosoft 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) некоторых вкладок и параметров может не быть.
Обновлено 10.07.2020
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в России Pytilistnik.org. В прошлый раз мы с вами научились использовать утилиту robocopy для синхронизации файловых шар, это было интересно. В сегодняшней публикации я бы хотел подробно остановиться на установке и базовой настройке Microsoft SQL Server 2019 в Windows Server 2019. Уверен, что многие уже потихоньку начинают на нее переходить.
Что такое SQL Server 2019
SQL Server – это система управления реляционными базами данных, или RDBMS, разработанная и продаваемая Microsoft.
Подобно другому программному обеспечению СУБД, SQL Server построен на основе SQL, стандартного языка программирования для взаимодействия с реляционными базами данных. Сервер SQL связан с Transact-SQL или T-SQL, реализацией SQL от Microsoft, которая добавляет набор проприетарных программных конструкций.
SQL Server работает исключительно в среде Windows более 20 лет. В 2016 году Microsoft сделала его доступным для Linux. SQL Server 2017 стал общедоступным в октябре 2016 года и работал как в Windows, так и в Linux. 2019 версия также поддерживает Linux и Docker.
Архитектура SQL Server
SQL Server состоит из двух основных компонентов:
- Database Engine
- SQLOS
Database Engine
Основным компонентом SQL Server является компонент Database Engine. Компонент Database Engine состоит из реляционного механизма, который обрабатывает запросы, и механизма хранения, который управляет файлами базы данных, страницами, индексами и т. д. Объекты базы данных, такие как хранимые процедуры, представления и триггеры, также создаются и выполняются компонентом Database Engine.
Реляционный движок (Relational Engine)
Реляционный движок содержит компоненты, определяющие наилучший способ выполнения запроса. Relational Engine также известен как обработчик запросов. Реляционный механизм запрашивает данные из механизма хранения на основе входного запроса и обрабатывает результаты. Некоторые задачи реляционного механизма включают обработку запросов, управление памятью, управление потоками и задачами, управление буфером и распределенную обработку запросов.
Движок хранения (Storage Engine)
Механизм хранения отвечает за хранение и извлечение данных из систем хранения, таких как диски и SAN.
SQLOS
Под реляционным механизмом и хранилищем понимается операционная система SQL Server или SQLOS. SQLOS предоставляет множество сервисов операционной системы, таких как управление памятью и вводом-выводом. Другие услуги включают в себя обработку исключений и услуги синхронизации.
Саму архитектуру работы SQL сервера можно проиллюстрировать в виде такой диаграммы.
Редакции MS SQL Server 2019
В отличии от 2016 версии в MS SQL 2019 уже пять редакций
- Enterprise – Премиум-версия SQL Server Enterprise Edition предлагает комплексные возможности центра обработки данных высокого класса с невероятно быстрой производительностью, неограниченной виртуализацией и сквозной бизнес-аналитикой, обеспечивая высокий уровень обслуживания для критически важных рабочих нагрузок и доступ конечных пользователей к данным. Если сказать простым языком, то MS SQL 2019 Enterprise – это самый полный и навороченный выпуск, где есть все возможные функции на текущий момент, в нем нет ограничений по ресурсам, но нужно понимать, что он самый дорогой. На практике его используют в основном крупный бизнес, типа Сбербанка и ему подобных.
- Standard – SQL Server Standard Edition предоставляет базовые БД для управления данными и бизнес-аналитикой департаментов и небольших организаций для запуска своих приложений и поддерживает общие инструменты разработки для локальных и облачных сред, обеспечивая эффективное управление базами данных с минимальными ИТ-ресурсами. Тут вы максимум сможете использовать 128 ГБ ОЗУ на экземпляр SQL Server Database Engine. Вы не сможете использовать функционал группы доступности AlwaysOn. Нужно понимать, что редакция SQL Server 2019 Standard Edition подойдет для малого и среднего бизнеса.
- Web – Web-выпуск SQL Server – это вариант с низкой стоимостью для веб-хостеров и веб-VAP, который обеспечивает возможности масштабируемости, доступности и управления для небольших и крупных веб-ресурсов. По факту это подрезанный по ресурсам Standard
- Developer – Редакция SQL Server 2019 Developer позволяет разработчикам создавать любые приложения поверх SQL Server. Он включает в себя все функциональные возможности редакции Enterprise, но лицензирован для использования в качестве системы разработки и тестирования, а не в качестве рабочего сервера. SQL Server Developer – идеальный выбор для людей, которые создают и тестируют приложения. Короче если вы разработчик, то это БЕСПЛАТНО.
- Express – Express Edition – это бесплатная база данных начального уровня, которая идеально подходит для изучения и создания настольных и небольших серверных приложений. Это лучший выбор для независимых поставщиков программного обеспечения, разработчиков и любителей, создающих клиентские приложения. Если вам нужны более продвинутые функции базы данных, SQL Server Express можно легко обновить до других более поздних версий SQL Server. SQL Server Express LocalDB – это облегченная версия Express, которая обладает всеми функциями программирования, работает в пользовательском режиме и имеет быструю установку с нулевой конфигурацией и кратким списком предварительных условий. Максимальный размер базы 10 ГБ
Подробнее на сайте Microsoft – https://docs.microsoft.com/ru-ru/sql/sql-server/editions-and-components-of-sql-server-version-15
Лицензирование SQL Server 2019
Давайте теперь разберемся с лицензированием SQL Server 2019. SQL Server 2019 предлагает клиентам различные лицензии, варианты соответствуют предполагаемой нагрузке БД в проектах клиентов. Есть две основные модели лицензирования которые применяются к SQL Server:
- Модель PER CORE: лицензирует MSSQL по ядрам сервера, дает клиентам более упрощенное лицензирование, не заставляя их вычислять количество пользователей (CAL), на каком оборудовании работает БД, все сводится к количеству ядер. Для лицензирования физического сервера – при запуске SQL Server
все физические ядра на сервере должны быть лицензированы. В соответствии с моделью лицензирования Per Core каждый сервер работающий под управлением программного обеспечения SQL Server 2019 или любого из его компонентов (например, службы Reporting Services или Integration Services) должен быть лицензирован. В отличие от модели лицензирования Server + CAL, модель Per Core обеспечивает доступ для неограниченного числа пользователей или устройств для подключения изнутри или снаружи брандмауэра организации. С моделью Per Core не нужно приобретать дополнительные клиентские лицензии (CAL) для доступа к программному обеспечению SQL Server.
Для каждого физического процессора на сервере требуется минимум четыре основных лицензии. Чтобы определить и приобрести необходимое количество основных лицензий, клиенты должны:
- Подсчитайте общее количество физических ядер на сервере.
- Приобретите соответствующее количество основных лицензий, необходимых для сервера. Основные лицензии продаются в пакетах по две, это нужно учитывать чтобы определить фактическое количество
позиции (лицензионные SKU) на заказ.
Модель лицензирования на ядро подходит, когда:
- Развернут SQL Server 2019 Enterprise Edition (включая использование хранилища параллельных данных SQL Server) или SQL Server 2019 Web Edition.
- Внедрение централизованных развертываний, охватывающих большое количество прямых и/или косвенных пользователей/устройств.
- Общие затраты на лицензирование программного обеспечения SQL Server 2019 Standard Edition ниже, чем при использовании режима лицензирования Server + CAL
- Модель Server+CAL licensing – сервере лицензирования RDSПри лицензировании программного обеспечения SQL Server 2019 Standard Edition по модели Server + CAL, вам необходимо приобрести серверную лицензию для каждого сервера и клиентскую лицензию (CAL) для каждого устройства (Device CAL) и/или пользователя (User CAL), обращающихся к SQL Server или любому из его компонентов. CAL не является программным обеспечением; это выдача лицензии пользователю и устройству, аналогично, как на .
Более подробные нюансы по лицензированию SQL Server 2019 в виртуальных средах смотрите по ссылке – https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing
Стоимость SQL Server 2019
Вот сводная таблица с ценами, можете посмотреть, что SQL Server 2019 Enterprise стоит как машина, аж почти 14 000 долларов.
Для покупки и продления подписок на лицензии SQL
Требования к установке SQL Server 2019
- Операционная система Windows 10 TH1 1507 или более поздней версии или Windows Server 2016 или более поздней версии
- Минимальный объем оперативной памяти, необходимый для установки компонента Сервер DQS в Data Quality Services (DQS), составляет 2 ГБ
- Быстродействие процессора – Минимум: процессор x64 с тактовой частотой 1,4 ГГц
- Для SQL Server требуется как минимум 6 ГБ свободного места на диске.
- Нельзя устанавливать MS SQL Server 2019 на диски со сжатием, сетевые диски и диски, доступные только для чтения.
- Нельзя монтировать дистрибутив через удалённый рабочий стол, вам нужно скачать его на сервер перед началом установки.
Вот матрица поддерживаемых операционных систем для установки разных редакций SQL Server 2019.
Более подробно про требования вы можете посмотреть по ссылке – https://docs.microsoft.com/ru-ru/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server-ver15?view=sql-server-ver15
Где скачать MS SQL Server 2019
Обязательно соблюдайте правило, что язык установки SQL соответствует языку операционной системы
Для загрузки дистрибутива SQL Server 2019 Evaluations со 180 дневным пробным периодом с функционалом Enterprise вы должны перейти по ссылке:
https://www.microsoft.com/ru-ru/evalcenter/evaluate-sql-server-2019 (Английская версия)
https://www.microsoft.com/ru-ru/evalcenter/evaluate-sql-server-2019 (Русская версия)
Скачиваем тонкий exe клиент.
Заполняем поля помеченные звездочками, после чего загружаем клиента для выкачки основного дистрибутива.
Запустите тонкого клиента SQL2019-SSEI-Eval.exe. У вас появится форма загрузки SQL Server 2019 Evaluation Edition. В меню выберите пункт “Скачать носитель“.
Укажите папку для хранения установочных файлов, которые будет загружен установщиком, затем нажмите кнопку “Скачать”. На выбор будет два варианта, это EXE файл или ISO.
Начнется процесс загрузки дистрибутива по указанному расположению.
Как видим, все успешно загрузилось.
Установка MS SQL Server 2019
Теперь давайте распакуем наш дистрибутив, для этого просто запустите скачанный EXE файл. Вас попросят указать место куда нужно все выгрузить.
В результате вы получите вот такую структуру файлов, запускаем SETUP.EXE.
Переходим в раздел “Установка (installation)” и выбираем пункт “Новая установка изолированного экземпляра SQL Server или добавление компонентов к существующей установке (New SQL Server stand-alone installation or add features to an existing installation)”.
Следующим шагом вам необходимо указать, какую редакцию SQL 2019 вы будите устанавливать, я выбрал “Developer“. Если у вас “Standard” или “Enterprise”, то необходимо будет указать ключ лицензии.
Читаем и принимаем лицензионное соглашение, после чего нажимаем далее.
Следующий шаг предложит вам проверить и установить обновления для вашей системы, я пропущу данный пункт, так как у меня все свежее.
Если у центра обновления есть проблемы с обращением на сервера Microsoft, то вы легко можете получать ошибки 0x8024402c или 0x80244022.
Установка проверяет наличие предварительных условий перед установкой. Если ошибки не найдены, нажмите кнопку “Далее”.
Выберите функции, которые вы хотите установить. На данный момент вам просто нужны службы ядра СУБД (Database Engine) и соединение с клиентскими средствами, просто установите флажок и нажмите кнопку “Далее”, чтобы продолжить. Ниже я опишу все компоненты MS SQL 2019.
Компоненты SQL Server 2019 и их назначение
При установке вам предлагают установить различные компоненты SQL Server. Пройдемся по ним подробнее, посмотрим какие нужно ставить в различных ситуациях:
- Службы Ядра СУБД (Database Engine Services) – как и писал выше, это основное ядро без него ничего работать не будет
- Репликация SQL Server (SQL Server Replication) – Служба репликации, чтобы делать копии БД в режиме реального времени, используется в AlwaysOn
- Службы машинного обучения и расширения языка (Machine Learning Services and Language Extensions) – Данный компонент позволяет выполнять на SQL Server R/Python/Java
- Полнотекстовый и симантический поиск (Full-Text and Semantic Extractions for Search) – Очень полезный функционал по файлам хранящимся в БД, например формата docx. В случае семантического поиска по документам, вам также понадобиться FILESTREAM
- Data Quality Services – это решение на основе знаний, которое обеспечивает автоматизированные и интерактивные способы управления целостностью и качеством источников данных. DQS позволяет обнаруживать знания о данных, строить наборы знаний и управлять ими. Затем эти знания вы можете использовать для выполнения очистки, сопоставления и профилирования данных. Также вы можете использовать облачные службы поставщиков эталонных данных в проекте качества данных DQS.
- Служба запросов PolyBase для внешних данных (PolyBase Query Service For External Data) – компонент позволяет получать данные с других вешних источников, например база Oracle или HDFS технологией
- Analysis Services – Создание бизнес-отчетов (BI) и работы с OLAP
Общие функции SQL Server 2019
Нужно помнить, что функции распространяются на весь сервер, а не на отдельный инстанс
- Machine Learning Server (Изолированный) – SQL Server поддерживает установку изолированного сервера R Server или Machine Learning Server, который работает независимо от SQL Server.
- Data Quality Client – Это изолированный DQS
- Соединение клиентскими средствами (Client Tools Connectivity) – Набор библиотек ODBC, OLE DB
- Integration Services – Это SSIS (Службы интеграции). Данная технология полезна при автоматизации импорта данных. Мастер Scale Out и “Рабочая роль Scale Out (Worker)” позволяют масштабировать ваш SSIS.
- Обратная совместимость клиентских средств (Client Tools Backwards Compatibility) – Для совместимости со старыми продуктами.
- Пакет SDK клиентских средств – это пакет для разработчиков
- Контроллер распределенного воспроизведения (Distributed Replay Controller/Client) – нужны для моделирования нагрузки и для различного рода тестирования производительности.
- Пакет SDK средств связи клиента SQL(SQL Client Connectivity SDK) – так же для разработчиков ODBC/OLE DB
- Master Data Services – Используется для анализа, валидации, интеграции и коррекции данных.
Настройка именования экземпляра SQL Server
На данном шаге у вас есть возможность изменить стандартное имя экземпляра MSSQLSERVER на нужное вам. Для этого выберите соответствующую строку и введите нужное вам имя, в моем примере, это будет RDCB. Я рекомендую делать у идентификатора экземпляра такое же имя, чтобы не было путаницы.
Настройка параметров запуска служб SQL Server 2019
После того, как вы выбрали нужные компоненты, вам необходимо настроить от имени каких учетных записей будет происходить их работа. Я настоятельно рекомендую, как минимум создать отдельную учетную запись в домене для запуска агента SQL и ядра. Напоминаю, что в Windows есть технология управляемых служебных записей (Managed Service Accounts – MSA), с ее помощью можно еще более безопасно все настроить. Выставите тип запуска агента и ядра на автоматический.
Еще активируйте галку “Предоставить право на выполнении обслуживания тома службе ядра СУБД SQL Server – эта привилегия предоставляет возможность инициализации файлов без обнуления страниц данных. Это может привести к раскрытию информации за счет доступа к удаленному ранее содержимому.” Если по простому, то галка Grand Perform Volume Maintenance Task privilege to SQL Server Database Engine Service, это полезная штука для оптимизации производительности. Настройка влияет на файл данных. Когда файл автоматически вырастает, то новый кусок заполняется нулями, в этот момент SQL может тормозить. Instant File Initialization (IFI) позволяет отключить это зануление. Какие данные не будут перезаписываться ghb:
- Создании базы данных;
- Добавлении данных в файлы данных или лог файлы;
- Увеличении размера существующих файлов (включая операции авто увеличения);
- Восстановлении базы данных/файловой группы.
Очень важно на этапе установки выбрать правильную кодировку. Хочу отметить, что это необходимо сделать отталкиваясь от того ПО для которого требуется SQL Server. Кодировка будет установлена для страниц, char/varchar и т.д. Хочу отметить, что если вы ошиблись на этапе установки с выбором Collation, то потом поменять можно.
Если у вас данные будут исключительно на английском, то выберите SQL_Latin1_General_CP1_CI_AS, в моем случае сервер локализован под русский язык, так что я оставлю все как по умолчанию Cyrillic_General_CI_AS.
Настройка ядра СУБД в SQL Server
Укажите режим безопасности ядра базы данных. Сначала выберите “Смешанный режим”. Затем введите пароль для учетной записи системного администратора (sa) на SQL Server. Затем повторно введите тот же пароль, чтобы подтвердить его. После этого нажмите кнопку “Добавить текущего пользователя”, чтобы и у него были права администратора.
Напомню разницу между двумя режимами доступа:
- Режим аутентификации Windows – подразумевает, что доступ будут иметь только пользователи и компьютеры домена
- Смешанный режим (Mixed mode) – позволяет подключаться к SQL со встроенных учетных записей.
Далее вы можете изменить стандартное расположение каталогов данных. Например транзакционные логи и расположение базы изменить на отдельные диски. Тут все завит от того как у вас построена дисковая архитектура сервера, это могут быть отдельные LUN или же просто локальные диски в RAID массиве.
Хорошей практикой считается разнесение всех директорий (системных баз данных, пользовательских баз данных, логов пользовательских баз данных, резервных копий) на разные хранилища.
Произвести заранее настройку TempDB, задав начальный размер, авторасширение, расположение, немного подробнее про каждый:
- Число файлов (Number of files) – тут задается количество файлов для tempdb. Обычно берут формулу, что берут общее число ядер процессора, делят его пополам и уже на основании данной цифры создают столько же файлов tempdb. Если ядер 16, то файлов будет 8. Вот тут более подробно описано https://support.microsoft.com/en-us/help/2154845/recommendations-to-reduce-allocation-contention-in-sql-server-tempdb-d)
- Начальный размер (Initial size) – тут думаю все понятно, сколько изначально будут весить файлы tempdb. Напоминаю, что когда вы перезагружаете сервер, то ваши файлы tempdb будут сбрасываться до текущего значения. При установке по умолчанию любой версии SQL Server создается база данных tempdb с файлом данных 8 МБ и файлом журнала транзакций 1 МБ. Для многих установок SQL Server этих размеров файлов будет недостаточно, но они настроены на автоматическое увеличение на 10% по мере необходимости. Очевидно, что на этот вопрос, о том какой должен быть размер сложно ответить без подробностей о рабочей нагрузке, но есть некоторые рекомендации, которые вы можете использовать. Прежде всего, если вы не используете SQL Server Express, установите tempdb больше, чем по умолчанию; это легко. Далее, если вы можете дать tempdb свой собственный диск, то сконфигурируйте его так, чтобы он почти полностью заполнял диск. Если на диске больше ничего не будет, лучше установить его больше, чем нужно. Там нет снижения производительности, и вам никогда не придется беспокоиться о росте (Autogrowth).
Если вы не можете поместить tempdb на свой собственный диск, вам нужно будет управлять его размером. Вы можете просто позволить ему на некоторое время автоматически расти, а затем вручную установить его немного больше, чем он вырастет.
- Авторасширение (Autogrowth) – Тут как я и писал выше, на сколько будет расширяться tempdb, по умолчанию идет 64 МБ. Не рекомендую ставить тут слишком большие значения, могут быть задержки из-за этого увеличения.
- Каталоги данных (Data Directories) – Тут все понятно, где у вас будут лежать файлы данных tempdb. Тут даже есть аналог Round-robin, если вы укажите несколько мест, будет поочередное обращение.
- Каталог журналов (Log Directory) – Тут вы указываете, где будут хранится ваши лог файлы tempdb.
Более тонко выставить настройки параллелизма.
Что такое MAXDOP и почему это важно?
Когда SQL Server работает на компьютере с более чем одним процессором или процессором, он обнаруживает наилучшую степень параллелизма, то есть число процессоров, используемых для выполнения одного оператора, для каждого запроса, который имеет план параллельного выполнения. Вы можете использовать параметр максимальной степени параллелизма, чтобы ограничить число процессоров, используемых для выполнения параллельного плана, и не допустить, чтобы побочные запросы влияли на производительность SQL Server, используя все доступные ЦП.
Какие значения я должен использовать для MAXDOP?
Это зависит от аппаратного обеспечения, среды (OLTP или OLAP), нагрузки и так далее. Значение по умолчанию для MAXDOP – 0 (ноль), и его можно установить или просмотреть с помощью (sp_configure). Значение 0 означает, что SQL Server будет использовать все процессоры, если запрос выполняется параллельно.
Microsoft Premier Filed Engineer дал нам некоторые рекомендации, которым нужно следовать и учитывать при настройке функции MAXDOP.
- Сервер с одним узлом NUMA – Не более 8 логических процессоров – Значение параметра MAXDOP не должно превышать количество логических процессоров
- Сервер с одним узлом NUMA – Больше 8 логических процессоров – Значение параметра MAXDOP должно быть равно 8
- Сервер с несколькими узлами NUMA – Не более 16 логических процессоров на узел NUMA – Значение параметра MAXDOP не должно превышать количество логических процессоров на каждый узел NUMA
- Сервер с несколькими узлами NUMA – Больше 16 логических процессоров на каждый узел NUMA – Значение MAXDOP должно быть равно половине количества логических процессоров на узел NUMA со значением MAX, равным 16
Подробнее в статье https://docs.microsoft.com/ru-ru/sql/database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option?view=sql-server-ver15
При необходимости выставить настройки по потребляемой памяти.
Тут же можно настроить обращение к внешним источникам
остается нажать только кнопку “Установить”
Сам процесс установки SQL Server 2019 сильно зависит от вашей дисковой подсистемы. Дожидаемся успешного завершения.
Далее, чтобы произвести подключение к вашей базе данных вы должны установить SQL Server Management Studio.
На этом у меня все, мы с вами разобрали подробно процесс установки MS SQL Server 2019, мы разобрали все этапа, рассмотрели все компоненты. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
I just installed MS SQL Server 2012 (Express). I went through the whole install process from SQLManagementStudio_x64_ENU.exe (other things were already installed) with checking all the checkboxes, so I thought I had everything necessary.
When I try to connect to .sqlexpress, I get a message saying “Cannot connect to .sqlexpress”. See below for message detail, I copied it from another question because mine is in Dutch 🙂
Cannot connect to .sqlexpress
I did some research through my friends Google and Stackoverflow, but none of the solutions work.
1. There is nothing in Database Engine -> Local Server Groups -> Register Local Servers (it says “No local servers of type “Database Engine” were found”
2. I cannot restart the services as I only have one “SQL related” service (SQL Server VSS Writer)
3. There are no services listed in Sql Server Configuration Manager -> SQL Server Services
Does anybody know what’s wrong? Please let me know if you need additional details.
Thanks, a SQL Server newbie
asked Jan 24, 2015 at 16:34
2
The SQLManagementStudio_x64_ENU.exe as the name says only contains SQL Server Management Studio, which is the GUI used to manage servers. It does NOT includes any DB engine or anything else but the client tool, so it’s normal that you don’t have the service installed.
Look at the downloads at the official download website. The file named SQLEXPRADV_x64_ENU.exe or SQLEXPRADV_x86_ENU.exe are the full installs that includes both the client tools and database engine together. It’s normally the best possible download I can think of from all the choices.
answered Jan 24, 2015 at 16:42
1
If I recall correct the file SQLManagementStudio_x64_ENU.exe
only contains the management tools and not the server software. You need to download another file (SQLEXPRADV_x64_ENU.exe
if you want the complete package with server and reporting services etc.).
See this page for more information
answered Jan 24, 2015 at 16:42
jpwjpw
44.3k6 gold badges66 silver badges86 bronze badges
I assumed that you have completed whole installation process without any error.
It may possible that you have installed it with another instance name and possibly because of that you are getting this message.
Following thing you have to check.
-
Try to access on Same machine where you have installed SQL Server using Management studio.
-
Start menu or Search for SQL Server Configuration tool. At that tool you will find SQL server instance. name.
-
Make sure that your instance is running mode.
-
Which authentication mode you have choose during installation and take proper step during making connection
If above step will not work then please provide more detail.
answered Jan 24, 2015 at 16:41
dotnetstepdotnetstep
16.9k4 gold badges53 silver badges71 bronze badges
1
You need to Download the SQL Server Express Edition with the Advanced Services option.
ADV - with advanced services (reporting services)
answered Sep 24, 2015 at 11:39
SlipstreamSlipstream
13.2k3 gold badges59 silver badges45 bronze badges
- Remove From My Forums
-
Вопрос
-
Не где не могу найти описание, скачал пробную версию sql 2016, и там нет компонентов database engine, средства управления . Их заменили или он идет по умолчанию?
Ответы
-
я никогда не ставил SQL русской редакции, но судя по компонентам Служба ядра СУБД это и есть Database Engine.
scientia potentia est
My blog-
Предложено в качестве ответа
28 октября 2016 г. 10:49
-
Помечено в качестве ответа
Иван ПродановMicrosoft contingent staff, Moderator
1 ноября 2016 г. 12:15
-
Предложено в качестве ответа
-
Management Studio качается отдельно.
Ссылка.-
Предложено в качестве ответа
Alexander RusinovModerator
28 октября 2016 г. 10:49 -
Помечено в качестве ответа
Иван ПродановMicrosoft contingent staff, Moderator
1 ноября 2016 г. 12:15
-
Предложено в качестве ответа
Содержание
- Как узнать имя экземпляра Microsoft SQL Server на T-SQL
- Способы определения имени экземпляра Microsoft SQL Server
- Способ 1 – функция @@SERVERNAME
- Способ 2 – функция @@SERVICENAME
- Способ 3 – функция SERVERPROPERTY
- Способ 4 – процедура xp_regread
- Как узнать имя экземпляра Microsoft SQL Server на PowerShell
- Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL Server
- Общие файлы для всех экземпляров SQL Server
- Расположение файлов и сопоставление данных реестра
- Указание путей к файлам
- Как определить установленные экземпляры SQL Server и их версии?
- 18 ответов
- Краткое руководство. Подключение к экземпляру SQL Server и выполнение запросов с помощью SQL Server Management Studio (SSMS)
- Предварительные условия
- Подключение к экземпляру SQL Server
- Устранение проблем подключения
- Создание базы данных
- Создание таблицы в новой базе данных
- Вставка строк в новую таблицу
- Запрос к таблице и просмотр результатов
- Проверка свойств подключения с помощью таблицы окна запросов
- Дополнительные средства
- Дальнейшие действия
Как узнать имя экземпляра Microsoft SQL Server на T-SQL
Всем привет! Сегодня мы с Вами рассмотрим несколько способов определения имени экземпляра Microsoft SQL Server на языке T-SQL, а также с использованием других программных средств.
Способы определения имени экземпляра Microsoft SQL Server
Существует несколько способов узнать, какое имя экземпляра у SQL Server. Мы рассмотрим способы, которые подразумевают обращение к определенным системным функциям на языке T-SQL, а также способ, с помощью которого мы можем узнать имена всех экземпляров SQL Server, которые установлены на конкретном сервере.
Кроме этого я покажу способ определения имени экземпляра SQL Server без выполнения SQL инструкций, например, для случаев, когда нет возможности подключиться к SQL Server. Данный способ предполагает выполнение определённой инструкции на языке PowerShell.
Таким образом, для того чтобы определить имя экземпляра Microsoft SQL Server, Вы можете использовать тот способ, который будет удобнее в Вашем конкретном случае.
Способ 1 – функция @@SERVERNAME
Первый способ предполагает использование системной функции @@SERVERNAME, которая возвращает имя локального сервера, на котором работает SQL Server.
Функция @@SERVERNAME возвращает следующие данные:
Исходные данные | Данные, которые возвращает функция |
Если используется экземпляр по умолчанию | «Имя_сервера» |
Если используется именованный экземпляр | «Имя_сервераИмя_экземпляра» |
Если используется экземпляр по умолчанию отказоустойчивого кластера | «Сетевое_имя_экземпляра_отказоустойчивого_ кластера_windows_server» |
Если используется именованный экземпляр отказоустойчивого кластера | «Сетевое_имя_экземпляра_отказоустойчивого_ кластера_windows_serverимя_экземпляра» |
Пример использования функции
В моем случае используется именованный экземпляр Microsoft SQL Server, поэтому функция вернула соответствующие данные, где SQLEXPRESS и есть имя экземпляра SQL Server.
Способ 2 – функция @@SERVICENAME
Второй способ определения имени экземпляра Microsoft SQL Server предполагает использование функции @@SERVICENAME, которая возвращает имя раздела реестра, согласно которому запущен SQL Server.
Если текущий экземпляр является экземпляром по умолчанию, то данная функция возвращает «MSSQLSERVER», однако если же текущий экземпляр является именованным экземпляром, то эта функция возвращает имя этого экземпляра.
Пример использования функции
В данном случае, так как у меня именованный экземпляр, функция @@SERVICENAME вернула имя экземпляра.
Способ 3 – функция SERVERPROPERTY
Следующий способ определения имени экземпляра SQL Server предполагает использование системной функции SERVERPROPERTY, которая возвращает много различных сведений о свойствах экземпляра Microsoft SQL Server.
Данная функция принимает один параметр, и если мы передадим значение «InstanceName», то она нам вернет имя экземпляра.
Однако здесь стоит учитывать, что если используется экземпляр по умолчанию, то функция вернет NULL.
Пример использования функции
У меня именованный экземпляр, поэтому функция вернула имя экземпляра.
Способ 4 – процедура xp_regread
Если Вам необходимо узнать имена всех экземпляров SQL Server, которые установлены на конкретном сервере, то для этого Вы можете использовать системную хранимую процедуру xp_regread, которая умеет считывать параметры реестра Windows, в котором как раз и можно найти всю интересующую нас информацию об экземплярах Microsoft SQL Server.
Процедура принимает три параметра: в первом мы указываем название раздела реестра, во втором — путь к нужной нам ветке реестра, и третий — параметр, значение которого нам нужно считать.
Пример использования процедуры
У меня установлен только один экземпляр, поэтому инструкция вернула одну строку данных.
Как узнать имя экземпляра Microsoft SQL Server на PowerShell
Способ предполагает простое считывание названия службы Microsoft SQL Server, т.е. мы с помощью определенной инструкции на PowerShell ищем название службы по префиксу «MSSQL$» (данный префикс имеет «Имя службы, а не «Отображаемое имя службы»).
Пример инструкции на PowerShell
Кроме этого, узнать имя экземпляра Microsoft SQL Server можно, если зайти в оснастку «Службы» в Windows и посмотреть, какое имя указано в названии службы SQL Server.
Заметка! Всем тем, кто только начинает свое знакомство с языком SQL, рекомендую прочитать книгу «SQL код» – это самоучитель по языку SQL, которую написал я, и в которой я подробно, и в то же время простым языком, рассказываю о языке SQL.
На сегодня это все, надеюсь, материал был Вам полезен, пока!
Источник
Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL Server
Чтобы изолировать друг от друга папки установки, формируется уникальный идентификатор экземпляра для каждого из компонентов экземпляра SQL Server.
Программные файлы и файлы данных не могут быть установлены на съемном диске, в файловой системе со сжатием данных, в каталоге расположения системных файлов, а также на общих дисках экземпляра отказоустойчивого кластера.
Может потребоваться настроить программное обеспечение, например антивирусное и антишпионское приложения, чтобы исключить из проверки типы файлов и папки SQL Server. Дополнительные сведения см. в этой статье службы поддержки: Настройка антивирусного программного обеспечения на компьютерах, где выполняется SQL Server.
Общие файлы для всех экземпляров SQL Server
Общие файлы, используемые всеми экземплярами на одном компьютере, устанавливаются в папку :Program FilesMicrosoft SQL Servernnn. — это буква диска, на который устанавливаются компоненты. Обычно по умолчанию диск C. Значение nnn определяет версию. В следующей таблице перечислены версии для путей. — значение версии, используемое в идентификаторе экземпляра, и путь реестра.
Версия | *nnn* | |
---|---|---|
SQL Server 2019 (15.x) | 150 | 15 |
SQL Server 2017 (14.x); | 140 | 14 |
SQL Server 2016 (13.x); | 130 | 13 |
SQL Server 2014 (12.x) | 120 | 12 |
SQL Server 2012 (11.x) | 110 | 11 |
Расположение файлов и сопоставление данных реестра
Во время установки SQL Server для каждого компонента сервера создается идентификатор экземпляра. В этой версии SQL Server сервер состоит из компонента Компонент Database Engine, служб Службы Analysis Servicesи Службы Reporting Services.
Идентификатор экземпляра по умолчанию указывается в следующем формате.
Для компонента Компонент Database Engine— MSSQL, за которым следуют основной номер версии, символ подчеркивания и дополнительный номер версии (если применимо), затем точка и имя экземпляра.
Для служб Службы Analysis Services— MSAS, за которым следуют основной номер версии, символ подчеркивания и дополнительный номер версии (если применимо), затем точка и имя экземпляра.
Для служб Службы Reporting Services— MSRS, за которым следуют основной номер версии, символ подчеркивания и дополнительный номер версии (если применимо), затем точка и имя экземпляра.
MSSQL.MSSQLSERVER — экземпляр SQL Server по умолчанию.
MSAS.MSSQLSERVER — экземпляр по умолчанию служб SQL Server Analysis Services.
MSSQL.MyInstance — именованный экземпляр SQL Server с именем «MyInstance».
C:Program FilesMicrosoft SQL ServerMSSQL.MyInstance
C:Program FilesMicrosoft SQL ServerMSAS.MyInstance
В качестве идентификатора экземпляра может быть указано любое значение, следует только избегать применения специальных символов и зарезервированных ключевых слов.
Службы Integration Services и клиентские компоненты не привязаны к экземпляру, поэтому им не присваивается идентификатор экземпляра. По умолчанию компоненты, не привязанные к экземпляру, устанавливаются в один каталог: :Program FilesMicrosoft SQL Servernnn. Изменение пути установки для одного компонента приводит к его изменению и для всех остальных компонентов. При последующих установках компоненты, не зависящие от экземпляра, устанавливаются в каталог исходной установки.
SQL Server Службы Analysis Services — это единственный компонент SQL Server, который поддерживает переименование экземпляра после установки. При переименовании экземпляра служб Службы Analysis Services его идентификатор экземпляра не изменится. После переименования экземпляра в каталогах и разделах реестра по-прежнему используется идентификатор экземпляра, созданный во время установки.
В разделе реестра HKLMSoftwareMicrosoftMicrosoftSQL Server создается куст для компонентов, привязанных к экземпляру. Например,
В реестре также хранится сопоставление идентификаторов экземпляров с именами экземпляров. Сопоставление идентификатора экземпляра с именем экземпляра осуществляется следующим образом:
[HKEY_LOCAL_MACHINESoftwareMicrosoftMicrosoftSQL ServerInstance NamesSQL] » «=»MSSQL«
[HKEY_LOCAL_MACHINESoftwareMicrosoftMicrosoftSQL ServerInstance NamesOLAP] » «=»MSAS«
[HKEY_LOCAL_MACHINESoftwareMicrosoftMicrosoftSQL ServerInstance NamesRS] » «=»MSRS«
Указание путей к файлам
В ходе установки вы можете изменить путь установки для следующих компонентов:
Путь установки отображается в программе установки только для компонентов с пользовательской целевой папкой.
Убедитесь, что папка Program FilesMicrosoftSQL Server защищена через ограничение разрешений.
Обратите внимание, что диск по умолчанию для расположений файлов — systemdrive, обычно это диск C. Пути установки вложенных компонентов определяются путем установки родительского компонента.
1 Используется общий путь установки для Службы Integration Services и клиентских компонентов. Изменение пути установки для одного компонента влечет изменение пути для других компонентов. При последующих установках компоненты устанавливаются в расположение исходной установки.
2 Этот каталог используется всеми экземплярами SQL Server на компьютере. При применении обновления к любому из экземпляров на компьютере все файловые изменения коснутся каждого из них. При добавлении компонентов в существующую конфигурацию невозможно ни изменить расположение ранее установленного компонента, ни указать расположение нового. Необходимо либо установить дополнительные компоненты в каталоги, созданные программой установки, либо удалить продукт и установить его заново.
Для кластеризованных конфигураций необходимо выбрать локальный диск, доступный на всех узлах кластера.
При указании пути установки для компонента Компонент Database Engine программа установки SQL Server использует этот путь в качестве корневого каталога этой установки для всех папок, относящихся к экземпляру, включая файлы данных SQL. Если в этом случае в качестве корневого каталога указать «C:Program FilesMicrosoftSQL ServerMSSQL. MSSQL», то относящиеся к экземпляру каталоги добавляются в конец этого пути.
Поэтому при использовании функции обновления USESYSDB в мастере установки SQL Server (режим установки с пользовательским интерфейсом) можно попасть в ситуацию, когда продукт окажется установленным в рекурсивной структуре папок. Например, MSSQL14MSSQLMSSQL10_50MSSQLData. Поэтому при использовании функции USESYSDB вместо компонента Компонент Database Engine необходимо указывать путь установки файлов данных SQL.
Обычно файлы данных можно найти в дочернем каталоге с именем Data. Например, если при обновлении вы укажете «C:Program FilesMicrosoftSQL ServerMSSQL. » в качестве корневого каталога данных для системных баз данных, то файлы данных должны располагаться в каталоге «C:Program FilesMicrosoftSQL ServerMSSQL. MSSQLData».
Источник
Как определить установленные экземпляры SQL Server и их версии?
Я пытаюсь определить, какие экземпляры sql server / sql express я установил (вручную или программно), но все примеры говорят мне запустить SQL-запрос, чтобы определить это, что предполагает, что я уже подключен к определенному экземпляру.
18 ответов
в командной строке:
(Примечание: должна быть заглавная L)
в этом списке будут перечислены все серверы sql, установленные в вашей сети. Существуют параметры конфигурации, которые можно задать для предотвращения отображения SQL Server в списке. Сделать это.
в командной строке:
в списке включенные протоколы выберите «TCP / IP», затем нажмите кнопку Свойства. Существует флажок «скрыть сервер».
вы можете запросить это значение реестра, чтобы получить версию SQL напрямую:
кроме того, вы можете запросить имя экземпляра, а затем использовать sqlcmd с именем экземпляра, которое вы хотели бы:
чтобы увидеть свое имя пример:
затем выполнить это:
все установленные экземпляры должны отображаться в оснастке «службы» в консоли управления Microsoft. Чтобы получить имена экземпляров, перейдите в меню Пуск | запуск / тип служб.msc и найдите все записи с » Sql Server (имя экземпляра)».
— T-SQL запрос для поиска списка экземпляров, установленных на компьютере
однако, если вы ищете более широкий процесс обнаружения, вы можете рассмотреть сторонние инструменты, такие как SQLRecon и SQLPing, которые будут сканировать вашу сеть и создавать отчет обо всех экземплярах служб SQL, найденных на любом сервере, к которому они имеют доступ. Прошло некоторое время с тех пор, как я использовал такие инструменты, но я был удивлен тем, что они нашли (а именно, несколько случаев, которые я не сделал знать, что существовал). YMMV. Вы можете Google для деталей, но я считаю, что эта страница имеет соответствующие загрузки:http://www.sqlsecurity.com/Tools/FreeTools/tabid/65/Default.aspx
Я знаю, что этот поток немного староват, но я наткнулся на этот поток, прежде чем нашел ответ, который я искал, и думал, что поделюсь. Если вы используете SQLExpress (или localdb), есть более простой способ найти имена экземпляров. В командной строке введите:
Это будет список имен инстанции установлено локально. Таким образом, ваше полное имя сервера должно включать (localdb) перед именем экземпляра для подключения. Кроме того, sqllocaldb позволяет создавать новые экземпляры или удалите их,а также настройте их. См.: Утилита SqlLocalDB.
SQL Server позволяет приложениям находить экземпляры SQL Server в текущей сети. Класс SqlDataSourceEnumerator предоставляет эту информацию разработчику приложения, предоставляя объект DataTable, содержащий сведения обо всех видимых серверах. Эта возвращенная таблица содержит список экземпляров сервера, доступных в сети, который соответствует списку, предоставляемому при попытке пользователя создать новое соединение, и расширяет раскрывающийся список, содержащий все доступные серверы на диалоговое окно свойства соединения. Отображаемые результаты не всегда являются полными. Чтобы получить таблицу, содержащую сведения о доступных экземплярах SQL Server, необходимо сначала получить перечислитель, используя свойство shared/static Instance:
Если вы заинтересованы в определении этого в скрипте, вы можете попробовать следующее:
Примечание: grep является частью gnuwin32 tools
из командной строки Windows, типа:
это требует достаточно разрешений, конечно.
У меня была та же проблема. Команда» osql-L » отображает только список серверов, но без имен экземпляров (отображается только экземпляр моего локального SQL Sever). С Wireshark, sqlbrowser.exe (который можно найти в общей папке вашей установки SQL) я нашел решение для своей проблемы.
в моей конфигурации используется 1 физический и 3 виртуальных сетевых адаптера. Если я использовал команду» osql-L», sqlbrowser отобразил запрос от одного из виртуальных адаптеров (который находится в другом сегменте Сети) вместо физического. osql выбирает adpater по его метрике. Вы можете увидеть метрику с командой «route print». Для моей конфигурации таблица маршрутизации показала более низкую метрику для виртуального адаптера, а затем для физического. Поэтому я изменил метрику интерфейса в свойства сети путем отмены выбора автоматической метрики в расширенных параметрах сети. osql теперь использует физический адаптер.
этот запрос должен получить имя сервера и имя экземпляра :
У меня была такая же проблема, когда я оценивал 100 + серверов, у меня был сценарий, написанный на C#, чтобы просмотреть имена служб, состоящие из SQL. При установке экземпляров на сервере SQL Server добавляет службу для каждого экземпляра с именем службы. Он может отличаться для разных версий, таких как 2000 до 2008, но наверняка есть служба с именем экземпляра.
Я беру имя службы и получаю имя экземпляра из имени службы. Вот пример кода, используемого с запросом WMI Результат:
Если ваш в SSMS вы можете найти его проще в использовании:
Я только что установил Sql server 2008, но мне не удалось подключиться к экземплярам базы данных. В опубликованных командах @G Mastros нет активных экземпляров.
поэтому я посмотрел в службах и обнаружил, что агент SQL server отключен. Я исправил это, установив его на автоматический, а затем запустив его.
вот простой способ: идти к Начнем Затем программы Затем Microsoft SQL Server 2005 Затем Инструменты Настройки Затем диспетчер конфигурации SQL Server Затем конфигурация сети SQL Server 2005 Здесь вы можете найти все экземпляры, установленные на вашем компьютере.
Я знаю его старый пост, но я нашел хорошее решение с PoweShell, где вы можете найти экземпляры SQL, установленные на локальном или удаленном компьютере, включая версию, а также расширить получить другие свойства.
еще один вариант-запустить отчет обнаружения SQLSERVER..перейдите на установочный носитель sqlserver и дважды щелкните настройка.exe
и на следующем экране перейдите в сервис и нажмите отчет об обнаружении, как показано ниже
Это покажет вам все экземпляры, присутствующие вместе со всеми функциями..ниже приведен снимок на моем ПК
Источник
Краткое руководство. Подключение к экземпляру SQL Server и выполнение запросов с помощью SQL Server Management Studio (SSMS)
Начало работы с SQL Server Management Studio (SSMS) для подключения к экземпляру базы данных SQL Server и выполнения некоторых команд Transact-SQL (T-SQL).
В статье показано, как выполнять следующие задачи:
Предварительные условия
Подключение к экземпляру SQL Server
Запустите среду SQL Server Management Studio. При первом запуске SSMS откроется окно Подключение к серверу. Если этого не происходит, вы можете открыть его вручную, последовательно выбрав Обозреватель объектов > Подключить > Ядро СУБД.
Параметр | Рекомендуемые значения | Описание |
---|---|---|
Тип сервера | Ядро СУБД | В поле Тип сервера выберите Ядро СУБД (обычно это параметр по умолчанию). |
Имя сервера | Полное имя сервера | В поле Имя сервера введите имя SQL Server (при локальном подключении в качестве имени сервера также можно использовать localhost). Если вы НЕ ИСПОЛЬЗУЕТЕ экземпляр по умолчанию — MSSQLSERVER — необходимо ввести имя сервера и имя экземпляра. Если вы не знаете, как определить имя экземпляра SQL Server, см. раздел Дополнительные советы и рекомендации по использованию SSMS. |
Аутентификация | Проверка подлинности Windows Проверка подлинности SQL Server |
По умолчанию используется проверка подлинности Windows. Также для подключения можно использовать режим Проверка подлинности SQL Server. Если выбран режим Проверка подлинности SQL Server, необходимо ввести имя пользователя и пароль. Дополнительные сведения о типах проверки подлинности см. в разделе Подключение к серверу (ядро СУБД). |
Имя входа | Идентификатор пользователя учетной записи сервера | Идентификатор пользователя учетной записи сервера, используемой для входа на сервер. Имя для входа, используемое для проверки подлинности SQL Server. |
Пароль | Пароль учетной записи сервера | Пароль учетной записи сервера, используемой для входа на сервер. Пароль, используемый для проверки подлинности SQL Server. |
После заполнения всех полей выберите Подключить.
Вы также можете изменить дополнительные параметры подключения, выбрав Параметры. Примеры параметров подключения: база данных, к которой вы подключаетесь, время ожидания подключения и сетевой протокол. В этой статье во всех полях указываются значения по умолчанию.
Чтобы убедиться в успешном подключении к экземпляру SQL Server, разверните и изучите объекты в обозревателе объектов, для которых отображаются имя сервера, версия SQL Server и имя пользователя. Эти объекты могут различаться в зависимости от типа сервера.
Устранение проблем подключения
Сведения о способах устранения неполадок с подключением к экземпляру ядра СУБД SQL Server на отдельном сервере см. в статье Устранение неполадок при соединении с ядром СУБД SQL Server.
Создание базы данных
Выполните следующие действия, чтобы создать базу данных с именем TutorialDB:
Щелкните правой кнопкой мыши экземпляр сервера в обозревателе объектов и выберите Создать запрос.
Вставьте в окно запроса следующий фрагмент кода T-SQL:
Чтобы запустить запрос, нажмите кнопку Выполнить (или клавишу F5).
После выполнения запроса в списке баз данных в обозревателе объектов появится новая база данных TutorialDB. Если она не отображается, щелкните правой кнопкой мыши узел Базы данных и выберите Обновить.
Создание таблицы в новой базе данных
В этом разделе вы создадите таблицу в новой базе данных TutorialDB. Так как редактор запросов все еще находится в контексте базы данных master, переключите контекст подключения на базу TutorialDB, сделав следующее.
Выберите нужную базу данных в раскрывающемся списке, как показано здесь:
Вставьте в окно запроса следующий фрагмент кода T-SQL:
Чтобы запустить запрос, нажмите кнопку Выполнить (или клавишу F5).
После выполнения запроса в списке таблиц в обозревателе объектов появится новая таблица Customers. Если таблица не отображается, щелкните правой кнопкой мыши узел TutorialDB > Таблицы в обозревателе объектов, а затем выберите Обновить.
Вставка строк в новую таблицу
Вставьте в созданную таблицу Customers какие-нибудь строки. Вставьте следующий фрагмент кода T-SQL в окно запросов и нажмите кнопку Выполнить.
Запрос к таблице и просмотр результатов
Результаты запроса выводятся под текстовым окном запроса. Чтобы запросить таблицу Customers и просмотреть вставленные строки, выполните следующие действия:
Вставьте следующий фрагмент кода T-SQL в окно запросов и нажмите кнопку Выполнить.
Результаты запроса отображаются под областью, где был введен текст.
Вы также можете изменить представление результатов одним из следующих способов:
Проверка свойств подключения с помощью таблицы окна запросов
Сведения о свойствах подключения приводятся под результатами запроса. После выполнения запроса из предыдущего этапа просмотрите свойства подключения в нижней части окна запросов.
Вы можете определить, к какому серверу и какой базе данных вы подключены и под каким именем пользователя выполнен вход.
Кроме того, вы можете проверить длительность запроса и число строк, возвращенных предыдущим запросом.
Дополнительные средства
Также с помощью Azure Data Studio вы можете выполнять подключения и запросы к SQL Server, базе данных SQL Azure и Azure Synapse Analytics.
Дальнейшие действия
Лучший способ познакомиться с SSMS — это поработать в среде самостоятельно. Эти статьи помогут вам ознакомиться с различными функциями SSMS.
Источник