Что такое субд

Как работает служба «Обозреватель SQL Server»How SQL Server Browser Works

Если SQL ServerSQL Server настроен на использование протокола TCP/IP, то при запуске экземпляра SQL ServerSQL Serverсерверу назначается порт TCP/IP.When an instance of SQL ServerSQL Server starts, if the TCP/IP protocol is enabled for SQL ServerSQL Server, the server is assigned a TCP/IP port. Если включен протокол именованных каналов, SQL ServerSQL Server прослушивает указанный именованный канал.If the named pipes protocol is enabled, SQL ServerSQL Server listens on a specific named pipe. Этот порт или «канал», используется конкретным экземпляром для обмена данными с клиентскими приложениями.This port, or «pipe,» is used by that specific instance to exchange data with client applications. Экземпляру по умолчанию при установке назначается TCP-порт 1433 и канал , но затем эти значения могут быть изменены администратором сервера при помощи диспетчера конфигурации SQL ServerSQL Server .During installation, TCP port 1433 and pipe are assigned to the default instance, but those can be changed later by the server administrator using SQL ServerSQL Server Configuration Manager. Поскольку порт или канал может использоваться только одним экземпляром SQL ServerSQL Server , именованным экземплярам, включая SQL Server ExpressSQL Server Express, назначаются другие номера портов и имена каналов.Because only one instance of SQL ServerSQL Server can use a port or pipe, different port numbers and pipe names are assigned for named instances, including SQL Server ExpressSQL Server Express. По умолчанию, если и именованные экземпляры и SQL Server ExpressSQL Server Express настроены для работы с динамическими портами, это означает, что доступный порт назначается при запуске SQL ServerSQL Server .By default, when enabled, both named instances and SQL Server ExpressSQL Server Express are configured to use dynamic ports, that is, an available port is assigned when SQL ServerSQL Server starts. При необходимости экземпляру SQL ServerSQL Serverможет быть назначен конкретный порт,If you want, a specific port can be assigned to an instance of SQL ServerSQL Server. и при соединении клиенты смогут указать именно его. Но если порт назначается динамически, то он может измениться в любой момент после перезапуска SQL ServerSQL Server , поэтому клиент может и не знать правильного номера порта.When connecting, clients can specify a specific port; but if the port is dynamically assigned, the port number can change anytime SQL ServerSQL Server is restarted, so the correct port number is unknown to the client.

После запуска SQL ServerSQL Server запускается браузер и пытается занять UDP-порт 1434.Upon startup, SQL ServerSQL Server Browser starts and claims UDP port 1434. SQL ServerSQL Server читает реестр, находит все экземпляры SQL ServerSQL Server на данном компьютере и помечает используемые ими порты и именованные каналы.Browser reads the registry, identifies all instances of SQL ServerSQL Server on the computer, and notes the ports and named pipes that they use. Если сервер имеет несколько сетевых плат, браузер SQL ServerSQL Server возвращает первый допустимый порт, который найден для SQL ServerSQL Server.When a server has two or more network cards, SQL ServerSQL Server Browser returns the first enabled port it encounters for SQL ServerSQL Server. SQL ServerSQL Server поддерживает протоколы ipv6 и ipv4.Browser support ipv6 and ipv4.

При запросе клиентом SQL ServerSQL Server ресурсов SQL ServerSQL Server клиентская сетевая библиотека передает на сервер UDP-сообщение через порт 1434.When SQL ServerSQL Server clients request SQL ServerSQL Server resources, the client network library sends a UDP message to the server using port 1434. SQL ServerSQL Server Браузер в ответ сообщает TCP/IP-порт или именованный канал запрошенного экземпляра.Browser responds with the TCP/IP port or named pipe of the requested instance. Затем сетевая библиотека клиентского приложения завершает соединение, отправляя запрос на сервер с указанием номера порта или имени канала, относящегося к нужному экземпляру.The network library on the client application then completes the connection by sending a request to the server using the port or named pipe of the desired instance.

Дополнительные сведения о запуске и остановке службы браузера SQL ServerSQL Server см. в электронной документации SQL ServerSQL Server .For information about starting and stopping the SQL ServerSQL Server Browser service, see SQL ServerSQL Server Books Online.

Теперь про базы

Получается, что БД — это совокупность данных, представленных определённым образом (в нашем случае — таблицей), и набор инструментов для манипулирования ими.

Данные могут быть сгруппированы не только в таблицы, но и в коллекции. У каждой базы есть свой инструмент для создания таблиц/коллекций, добавления, удаления или изменения данных, а также для составления выборки. В статье мы рассмотрим базы, которые состоят из таблиц, а инструментом манипулирования данными будет язык SQL.

Таблицы между собой могут объединяться в схемы — в одной базе данных их может быть несколько, а может и не быть деления на схемы вообще. Это зависит от БД.

Вернёмся к определению из Википедии и вспомним про слово «реляционные». Реляционные (от англ. relation — отношения) — это базы данных, таблицы которых могут выстраиваться в различных отношениях. Возьмём предыдущий пример и добавим в него тех самых «отношений». Создадим таблицу «Производитель», а ту, что в примере, обозначим как «Каталог».

Таблица «Производитель»:

Теперь таблицу «Каталог» можно оформить в другом виде:

Получилось так, что у таблиц «Каталог» и «Прозводитель» появились отношения. Значения из столбца «Каталог» ссылаются на строки из таблицы «Производитель». Добавлением отношения мы решили нескольких проблем:

  1. Избавились от избыточных данных. Каталог стал занимать меньше места. Вместо хранения целой строки мы используем только номер строки из таблицы «Производитель». 
  2. Снизили вероятность ошибиться. При смене названия производителя нам достаточно отредактировать строку в таблице «Производитель», «Каталог» останется без изменений. 

Это не все проблемы, которые мы решили добавлением отношений. Для понимания других проблем необходимо углубиться в тему баз данных. Разделение данных на таблицы с отношениями — это процесс нормализации. Так можно достигать различных нормализованных форм данных. При достижении каждой из нормализованных форм мы избавляем данные от дополнительных проблем. 

УдалениеUninstall

Набор SSMS имеет общие компоненты с другими решениями, которые останутся установленными после его удаления.There are shared components that remain installed after you uninstall SSMS.

Сюда входят следующие компоненты:The shared components that remain installed are:

  • Azure Data StudioAzure Data Studio
  • Microsoft .NET Framework 4.7.2Microsoft .NET Framework 4.7.2
  • Драйвер Microsoft OLE DB для SQL ServerMicrosoft OLE DB Driver for SQL Server
  • Microsoft ODBC Driver for SQL Server версии 17Microsoft ODBC Driver 17 for SQL Server
  • Распространяемый компонент Microsoft Visual C++ 2013 (x86)Microsoft Visual C++ 2013 Redistributable (x86)
  • Распространяемый компонент Microsoft Visual C++ 2017 (x86)Microsoft Visual C++ 2017 Redistributable (x86)
  • Распространяемый компонент Microsoft Visual C++ 2017 (x64)Microsoft Visual C++ 2017 Redistributable (x64)
  • Microsoft Visual Studio Tools for Applications 2017Microsoft Visual Studio Tools for Applications 2017

Эти компоненты не удаляются, так как могут являться общими с другими продуктами.These components aren’t uninstalled because they can be shared with other products. Их удаление может нарушить работу этих продуктов.If uninstalled, you may run the risk of disabling other products.

Виды SQL-серверов

Для реализации функций СУБД на сегодняшний день чаще всего используются следующие SQL-серверы:

  • MS SQL server — многопользовательский программный продукт, разработанный компанией Microsoft, обладающий высокой производительностью и отказоустойчивостью, тесно интегрированный с ОС Windows. Этот сервер поддерживает удаленные подключения, работает с многими популярными типами данных, дает возможность создавать триггеры и хранимые данные, имеет практичные и удобные утилиты для настройки;
  • Oracle Database server — СУБД, предназначенная для создания, консолидации и управления базами данных в облачной среде. Используя этот сервер, можно как автоматизировать обычные бизнес-операции, так и выполнять динамический многомерный анализ данных (OLAP), проводить операции с документами xml-формата и управлять разделенной и локальной информацией;
  • IBM DB2 — семейство СУБД для работы с реляционными базами данных, признанное самым производительным, имеющим высокие технические показатели и возможности масштабирования. SQL-серверы этой группы характеризуются мультиплатформенностью, способностью к мгновенному созданию резервных копий и восстановлению БД, реорганизации таблиц в онлайн-режиме, разбиению баз данных, определению пользователями новых типов данных;
  • MySQL — СУБД, разработанная и поддерживаемая компанией Oracle. В основном она используется локальными или удаленными клиентами, позволяя им работать с таблицами разных типов, поддерживающих полнотекстовый поиск или выполняющих транзакции на уровне отдельных записей;
  • PostgreSQL — СУБД с открытым исходным кодом, работающая с объектно-реляционными (поддерживающими пользовательские объекты) базами данных. Также PostgreSQL предназначена для создания, хранения и извлечения сложных структур данных. Она поддерживает самые различные типы данных (среди них — числовые, текстовые, булевы, денежные, бинарные данные, сетевые адреса, xml и другие).

Обучение работе с серверами баз данных SQL server возможно для всех желающих в рамках профессиональной подготовки по курсу«Инструментальные средства бизнес-аналитики», которую проводит ВШБИ НИУ ВШЭ. Записаться на обучение по данному курсу можно на нашем сайте.

Типы хранилищ для файлов данныхStorage types for data files

Для файлов данных поддерживаются следующие типы хранилищ.The supported storage types for data files are:

  • Локальный дискLocal Disk

    • SQL ServerSQL Server сейчас поддерживает диски со стандартным размером сектора в 512 байт и 4 КБ.currently supports disk drives that have standard native sector sizes of 512 bytes and 4 KB. Использование жестких дисков с размером сектора размером более 4 КБ могут привести к ошибкам при попытке сохранить файлы данных SQL ServerSQL Server на них.Hard disks with sector sizes larger than 4 KB may cause errors when attempting to store SQL ServerSQL Server data files on them. Дополнительные сведения о поддерживаемых размерах сектора жесткого диска в SQL ServerSQL Server см. в статье Ограничения размера сектора жесткого диска в SQL ServerSQL Server.See Hard disk drive sector-size support boundaries in SQL ServerSQL Server for more information on hard disk sector-size support in SQL ServerSQL Server
    • SQL ServerSQL Server поддерживает локальные диски только для установки файлов tempdb.failover cluster installation supports Local Disk only for installing the tempdb files. Проверьте правильность пути, указанного для файлов tempdb и файлов журнала на всех узлах кластера.Ensure that the path specified for the tempdb data and log files is valid on all the cluster nodes. Если во время отработки отказа каталоги tempdb недоступны на целевом узле отработки отказа, то при переводе ресурсов SQL ServerSQL Server в режим «в сети» произойдет ошибка.During failover, if the tempdb directories are not available on the failover target node, the SQL ServerSQL Server resource will fail to come online.
  • Общее хранилищеShared Storage
  • Локальные дисковые пространства (S2D)Storage Spaces Direct (S2D)
  • Общая папка SMBSMB File Share

    • Хранилище SMB не поддерживается для файлов данных автономных или кластерных установок служб Службы Analysis ServicesAnalysis Services .SMB storage is not supported for Службы Analysis ServicesAnalysis Services data files for either standalone or clustered installations. Используйте вместо него непосредственно подключенное хранилище, сеть хранения данных или S2D.Use direct attached storage, a storage area network, or S2D instead.
    • Хранилище SMB может размещаться на файловом сервере Windows или на устройстве с хранилищем SMB сторонних разработчиков.SMB storage can be hosted by a Windows File Server or a third-party SMB storage device. Если используется файловый сервер Windows, он должен иметь версию 2008 или последующую.If Windows File Server is used, the Windows File Server version should be 2008 or later. Дополнительные сведения об установке SQL ServerSQL Server с общей папкой SMB в качестве хранилища см. в статье Установка SQL ServerSQL Server с общей папкой SMB в качестве хранилища.For more information about installing SQL ServerSQL Server using SMB file share as a storage option, see Install SQL ServerSQL Server with SMB Fileshare as a Storage Option.

ПримерыExamples

В следующем примере FIRST_VALUE использоваться для получения имени самого дешевого продукта в заданной категории продуктов.The following example uses FIRST_VALUE to return the name of the product that is the least expensive in a given product category.

Результирующий набор:Here is the result set.

Б.B. Использование FIRST_VALUE для секцийUsing FIRST_VALUE over partitions

В следующем примере FIRST_VALUE используется для получения сотрудника с наименьшим количеством часов отпуска по сравнению с другими сотрудниками, занимающими такую же должность.The following example uses FIRST_VALUE to return the employee with the fewest number of vacation hours compared to other employees with the same job title. Предложение PARTITION BY разделяет сотрудников по должностям, а функция FIRST_VALUE применяется к каждой из секций по отдельности.The PARTITION BY clause partitions the employees by job title and the FIRST_VALUE function is applied to each partition independently. Предложение ORDER BY, указанное в предложении OVER, определяет логический порядок, в котором функция FIRST_VALUE применяется к строкам каждой секции.The ORDER BY clause specified in the OVER clause determines the logical order in which the FIRST_VALUE function is applied to the rows in each partition. Предложение ROWS UNBOUNDED PRECEDING задает начальную точку окна в качестве первой строки каждой секции.The ROWS UNBOUNDED PRECEDING clause specifies the starting point of the window is the first row of each partition.

Здесь приводится частичный результирующий набор.Here is a partial result set.

Термины и понятия, связанные с расширенными событиямиTerms and concepts in extended events

В приведенной ниже таблице перечислены термины, используемые в связи с расширенными событиями, и объясняется их смысл.The following table lists the terms used for extended events, and describes their meanings.

ТерминTerm ОписаниеDescription
сеанс событийevent session Целью является конструкция, основанная на одном или нескольких событиях, а также вспомогательные элементы, такие как действия.A construct centered around one or more events, plus supporting items like actions are targets. Инструкция CREATE EVENT SESSION создает каждый сеанс событий.The CREATE EVENT SESSION statement constructs each event session. С помощью инструкции ALTER можно по желанию запускать и останавливать сеансы.You can ALTER an event session to start and stop it at will. Сеанс событий часто называется просто сеансом, если из контекста понятно, что имеется в виду именно сеанс событий.An event session is sometimes referred to as just a session, when the context clarifies it means event session. Более подробные сведения о сеансах событий см. в статье Сеансы расширенных событий SQL Server.Further details about event sessions are described in: SQL Server Extended Events Sessions.
eventevent Определенное событие в системе, наступление которого отслеживается активным сеансом событий.A specific occurrence in the system that is watched for by an active event session. Например, событие sql_statement_completed представляет момент завершения какой-либо инструкции T-SQL.For example, the sql_statement_completed event represents the moment that any given T-SQL statement completes. Событие может сообщать различные данные, например длительность.The event can report its duration and other data.
targettarget Элемент, который получает выходные данные из регистрируемого события.A item that receives the output data from a captured event. Служит для вывода данных.The target displays the data to you. Примерами могут служить event_file и его облегченная версия ring_buffer, хранимая в памяти.Examples include the event_file, and its handy light-weight cousin the memory ring_buffer. Более сложная целевая гистограмма выполняет ряд задач по обработке данных перед их выводом.The fancier histogram target performs some processing of your data before displaying it. Любой целевой объект можно использовать для любого сеанса событий.Any target can be used for any event session. Дополнительные сведения см. в разделе Целевые объекты для расширенных событий в SQL Server.For details, see Targets for Extended Events in SQL Server.
actionaction Поле, известное событию.A field known to the event. Данные из этого поля отправляются в целевой объект.Data from the field is sent to the target. Поле действия тесно связано с фильтром предиката.The action field is closely related to the predicate filter.
фильтром предикатаpredicate filter Проверка данных в поле события, благодаря которой только нужное подмножество экземпляров события отправляется целевому объекту.A test of data in an event field, used so that only an interesting subset of event occurrences are sent to the target. Например, фильтр может включать только те экземпляры события sql_statement_completed , в которых инструкция T-SQL содержит строку HAVING.For example, a filter could include only those sql_statement_completed event occurrences where the T-SQL statement contained the string HAVING.
Пакетpackage Квалификатор имени, добавляемый к каждому элементу в наборе элементов, связанном с пакетом событий.A name qualifier attached to each item in a set of items that centers around a core of events. Например, пакет событий может включать события, связанные с текстом T-SQL.For example, a package might have events about T-SQL text. Одно из событий может быть связано с кодом T-SQL в пакете, отделенном командой GO.One event could be about all the T-SQL in a GO-delimited batch. А другое более частное событие может быть связано с отдельными инструкциями T-SQL.Meanwhile another narrower event is about individual T-SQL statements. Кроме того, для каждой инструкции T-SQL есть события начала и завершения.Further, for any one T-SQL statement, there is are start and completed events. Соответствующие событиям поля также содержатся в пакете с событиями.Fields appropriate for the events are also in the package with the events. Большинство целевых объектов находятся в пакете package0 и используются с событиями из многих других пакетов.Most targets are in package0 and are used with events from many other packages.

Примеры:Examples:

В следующих примерах используется база данных AdventureWorksPDW2012AdventureWorksPDW2012.The following examples use the AdventureWorksPDW2012AdventureWorksPDW2012 database.

В этом разделе приведены три примера кода.This section shows three code examples. В ходе выполнения первого примера кода возвращаются все строки (предложение WHERE не указано), а также все столбцы (используется ) таблицы .This first code example returns all rows (no WHERE clause is specified) and all columns (using the ) from the table.

В этом примере для достижения такого же результата используется присвоение псевдонима таблице.This next example using table aliasing to achieve the same result.

В ходе выполнения данного примера кода возвращаются все строки (предложение WHERE не задано) и подмножества столбцов (, , ) таблицы базы данных .This example returns all rows (no WHERE clause is specified) and a subset of the columns (, , ) from the table in the database. Заголовок третьего столбца переименовывается в .The third column heading is renamed to .

Этот пример возвращает только строки для , имеющие , не равное NULL, и , равное «M» (состоит в браке).This example returns only the rows for that have an that is not NULL and a of ‘M’ (married).

В.C. Совместное использование DISTINCT и SELECTUsing DISTINCT with SELECT

В следующем примере используется для создания списка всех уникальных должностей в таблице .The following example uses to generate a list of all unique titles in the table.

Г.D. Использование GROUP BYUsing GROUP BY

В следующем примере вычисляется общий объем всех продаж за каждый день.The following example finds the total amount for all sales on each day.

Так как в запросе используется предложение , то выводится только одна строка, содержащая общий объем продаж по каждому дню.Because of the clause, only one row containing the sum of all sales is returned for each day.

Д.E. Использование GROUP BY с несколькими группамиUsing GROUP BY with multiple groups

В следующем примере вычисляются значения средней цены и суммы продаж через Интернет за каждый день, сгруппированные по дате заказа и ключу продвижения.The following example finds the average price and the sum of Internet sales for each day, grouped by order date and the promotion key.

Е.F. Использование GROUP BY и WHEREUsing GROUP BY and WHERE

В следующем примере после извлечения строк, содержащих даты заказов позднее 1 августа 2002 г., происходит их разделение на группы.The following example puts the results into groups after retrieving only the rows with order dates later than August 1, 2002.

Ж.G. Использование GROUP BY с выражениемUsing GROUP BY with an expression

В следующем примере производится группировка с помощью выражения.The following example groups by an expression. Группировку можно производить только с помощью выражения, не содержащего агрегатных функций.You can group by an expression if the expression does not include aggregate functions.

З.H. Использование GROUP BY с ORDER BYUsing GROUP BY with ORDER BY

В следующем примере вычисляется сумма продаж за день и выполняется поиск заказов по определенному дню.The following example finds the sum of sales per day, and orders by the day.

И.I. Использование предложения HAVINGUsing the HAVING clause

Для ограничения результатов поиска в этом запросе используется предложение .This query uses the clause to restrict results.

АргументыArguments

test_expressiontest_expressionЛюбое допустимое выражение expression.Is any valid expression.

subquerysubqueryВложенный запрос, содержащий результирующий набор, состоящий из одного столбца.Is a subquery that has a result set of one column. Этот столбец должен иметь тот же тип данных, что и аргумент test_expression.This column must have the same data type as test_expression.

expressionexpressionСписок выражений для поиска совпадения.Is a list of expressions to test for a match. Все выражения должны иметь тот же тип, что и аргумент test_expression.All expressions must be of the same type as test_expression.

Ссылки «Относится к»»Applies to» references

Справочные разделы T-SQL могут охватывать несколько версий SQL Server, начиная с 2008 года, а также другие службы SQL Azure.The T-SQL reference topics encompass multiple versions of SQL Server, starting with 2008, and the other Azure SQL services. В верхней части каждой статьи приведен раздел, указывающий, какие продукты и службы поддерживают описанную в ней функциональность.Near the top of each topic is a section that indicates which products and services support subject of the topic.

Например, текущий раздел применим ко всем версиям и имеет следующую метку.For example, this topic applies to all versions, and has the following label.

ОБЛАСТЬ ПРИМЕНЕНИЯ:
SQL Server
База данных SQL Azure
Azure Synapse Analytics
Parallel Data Warehouse

Еще один пример: следующая метка указывает, что раздел применяется только к Azure Synapse Analytics и Parallel Data Warehouse.Another example, the following label indicates a topic that applies only to Azure Synapse Analytics and Parallel Data Warehouse.

Применимо к:Applies to: Azure Synapse AnalyticsAzure Synapse AnalyticsAzure Synapse AnalyticsAzure Synapse Analytics Параллельное хранилище данныхParallel Data WarehouseПараллельное хранилище данныхParallel Data WarehouseПрименимо к:Applies to: Azure Synapse AnalyticsAzure Synapse AnalyticsAzure Synapse AnalyticsAzure Synapse Analytics Параллельное хранилище данныхParallel Data WarehouseПараллельное хранилище данныхParallel Data Warehouse

В некоторых случаях функциональность раздела используется продуктом или службой, но поддерживаются не все аргументы.In some cases, the topic is used by a product or service, but all of the arguments are not supported. В этом случае другие разделы Относится к вставляются в описания соответствующих аргументов в теле раздела.In this case, other Applies to sections are inserted into the appropriate argument descriptions in the body of the topic.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector