Microsoft SQL-сервер
Разработчик(и) | Майкрософт |
---|---|
Первоначальный выпуск | 24 апреля 1989 г | , как SQL Server 1.0
Стабильная версия | |
Написано в | С , С++ [ 3 ] |
Операционная система | Linux , Microsoft Windows Server , Microsoft Windows |
Доступно в | Английский, китайский, французский, немецкий, итальянский, японский, корейский, португальский (Бразилия), русский, испанский и индонезийский [ 4 ] |
Тип | Система управления реляционными базами данных |
Лицензия | Собственное программное обеспечение |
Веб-сайт | www |
Microsoft SQL Server (язык структурированных запросов) — это собственная система управления реляционными базами данных, разработанная Microsoft . Как сервер базы данных , это программный продукт , основная функция которого заключается в хранении и извлечении данных по запросу других программных приложений , который может работать либо на том же компьютере, либо на другом компьютере в сети (включая Интернет). Microsoft продает как минимум дюжину различных редакций Microsoft SQL Server, ориентированных на разную аудиторию и для рабочих нагрузок, варьирующихся от небольших приложений для одной машины до крупных приложений с выходом в Интернет со многими одновременно работающими пользователями .
История
[ редактировать ]История Microsoft SQL Server начинается с первого продукта Microsoft SQL Server — SQL Server 1.0, 16-разрядного сервера для операционной системы OS/2, выпущенного в 1989 году, — и продолжается по сей день. Его название полностью описательное: это серверное программное обеспечение, отвечающее на запросы на языке SQL .
Вехи
[ редактировать ]- MS SQL Server для OS/2 зародился как проект по портированию Sybase SQL Server на OS/2 в 1989 году компаниями Sybase , Ashton-Tate и Microsoft .
- SQL Server 4.2 для NT выпущен в 1993 году, ознаменовав вступление в Windows NT .
- SQL Server 6.0 выпущен в 1995 году, ознаменовав конец сотрудничества с Sybase; Sybase продолжит разработку своего собственного варианта SQL Server , Sybase Adaptive Server Enterprise , независимо от Microsoft.
- SQL Server 7.0 выпущен в 1998 году, ознаменовав преобразование исходного кода с C на C++.
- SQL Server 2005, выпущенный в 2005 году, завершает полную переработку старого кода Sybase в код Microsoft.
- SQL Server 2012, выпущенный в 2012 году, добавляет столбчатое хранилище в памяти, известное как xVelocity.
- SQL Server 2017, выпущенный в 2017 году, добавляет поддержку Linux для следующих платформ Linux: Red Hat Enterprise Linux , SUSE Linux Enterprise Server , Ubuntu и Docker Engine . [ 5 ]
- SQL Server 2019, выпущенный в 2019 году, добавляет кластеры больших данных, улучшения в «Интеллектуальную базу данных», расширенные функции мониторинга, обновленный опыт разработчиков, а также обновления/улучшения для установок на базе Linux. [ 6 ]
- SQL Server 2022, выпущенный в 2022 году.
В настоящее время
[ редактировать ]По состоянию на февраль 2024 г. [update], следующие версии поддерживаются Microsoft:
- SQL-сервер 2014
- SQL-сервер 2016
- SQL-сервер 2017
- SQL-сервер 2019
- SQL-сервер 2022
Начиная с SQL Server 2016, продукт поддерживается только на процессорах x64 и должен иметь процессор с частотой как минимум 1,4 ГГц, рекомендуется 2,0 ГГц или выше. [ 7 ]
Текущая версия — Microsoft SQL Server 2022, выпущенная 16 ноября 2022 г. RTM-версия — 16.0.1000.6. [ 8 ]
Издания
[ редактировать ]Microsoft предоставляет SQL Server в нескольких редакциях с разными наборами функций и ориентированными на разных пользователей. Эти издания: [ 9 ] [ 10 ]
Основные издания
[ редактировать ]- Предприятие
- SQL Server Enterprise Edition включает в себя как ядро базы данных, так и дополнительные службы, а также ряд инструментов для создания кластера SQL Server и управления им. Он может управлять базами данных размером до 524 петабайт , адресовать 12 терабайт памяти и поддерживать 640 логических процессоров (ядер ЦП). [ 11 ]
- Стандартный
- Версия SQL Server Standard включает ядро базы данных, а также автономные службы. Он отличается от версии Enterprise тем, что поддерживает меньшее количество активных экземпляров (количество узлов в кластере) и не включает некоторые функции высокой доступности, такие как горячее добавление памяти (позволяющее добавлять память во время работы сервера) и параллельные индексы.
- Интернет
- SQL Server Web Edition — это с низкой совокупной стоимостью владения вариант веб-хостинга .
- Бизнес-аналитика
- Представлен в SQL Server 2012 и ориентирован на самообслуживание и корпоративную бизнес-аналитику. Он включает возможности Standard Edition и инструменты бизнес-аналитики: Power Pivot , Power View, семантическую модель бизнес-аналитики, службы основных данных, службы качества данных и аналитику в памяти xVelocity. [ 12 ]
- Рабочая группа
- SQL Server Workgroup Edition включает основные функции базы данных, но не включает дополнительные службы. Обратите внимание, что эта редакция удалена из SQL Server 2012. [ 13 ]
- Выражать
- SQL Server Express Edition — это уменьшенная бесплатная версия SQL Server, включающая ядро базы данных. Хотя ограничений на количество поддерживаемых баз данных или пользователей нет, оно ограничено использованием одного процессора, 1 ГБ памяти и 10 ГБ файлов базы данных (4 ГБ файлов базы данных до SQL Server Express 2008 R2). [ 14 ] Он предназначен для замены MSDE . Две дополнительные версии предоставляют расширенный набор функций, отсутствующих в исходной версии Express Edition. Первый — SQL Server Express с инструментами , который включает в себя SQL Server Management Studio Basic. SQL Server Express с расширенными службами добавляет возможности полнотекстового поиска и службы отчетов. [ 15 ]
Специализированные издания
[ редактировать ]- Лазурный
- База данных Microsoft Azure SQL — это облачная версия Microsoft SQL Server, представленная как платформа как услуга в Microsoft Azure .
- Azure MPP
- Хранилище данных SQL Azure — это облачная версия Microsoft SQL Server в архитектуре MPP (массово-параллельная обработка) для аналитических рабочих нагрузок, представленная как платформа как услуга в Microsoft Azure .
- Компактный (SQL CE)
- Компактная версия представляет собой встроенный механизм базы данных. В отличие от других выпусков SQL Server, механизм SQL CE основан на SQL Mobile (изначально разработанном для использования с портативными устройствами) и не использует одни и те же двоичные файлы. Из-за своего небольшого размера (размер DLL 1 МБ) он имеет заметно уменьшенный набор функций по сравнению с другими редакциями. Например, он поддерживает подмножество стандартных типов данных, не поддерживает хранимые процедуры, представления или пакеты из нескольких операторов (среди других ограничений). Максимальный размер базы данных ограничен 4 ГБ и не может быть запущен как служба Windows. Compact Edition должна размещаться в приложении, которое ее использует. Версия 3.5 включает поддержку служб синхронизации ADO.NET. SQL CE не поддерживает подключение ODBC, в отличие от собственно SQL Server.
- Разработчик
- SQL Server Developer Edition включает те же функции, что и SQL Server Enterprise Edition, но ограничен лицензией на использование только в качестве системы разработки и тестирования, а не в качестве рабочего сервера. С начала 2016 года Microsoft сделала это издание бесплатным для всех. [ 16 ]
- Встроенный (SSEE)
- SQL Server 2005 Embedded Edition — это специально настроенный именованный экземпляр ядра базы данных SQL Server Express, доступ к которому возможен только из определенных служб Windows.
- Оценка
- SQL Server Evaluation Edition, также известная как Trial Edition , обладает всеми функциями Enterprise Edition, но ограничена 180 днями, после чего инструменты продолжат работать, но серверные службы остановятся. [ 17 ]
- Ускоренный путь
- SQL Server Fast Track специально предназначен для хранения данных в масштабе предприятия и обработки бизнес-аналитики и работает на оборудовании с эталонной архитектурой, оптимизированном для Fast Track. [ 18 ]
- Локальная БД
- LocalDB, представленный в SQL Server Express 2012, представляет собой минимальную версию SQL Server, доступную по требованию и предназначенную для разработчиков приложений. [ 19 ] Его также можно использовать в качестве встроенной базы данных. [ 20 ]
- Система аналитической платформы (APS)
- Ранее Parallel Data Warehouse (PDW). Устройство SQL Server с массовой параллельной обработкой (MPP), оптимизированное для крупномасштабных хранилищ данных, таких как сотни терабайт. [ 21 ]
- Версия для устройства хранилища данных
- Предварительно установлено и настроено как часть устройства в партнерстве с Dell и HP на базе архитектуры Fast Track. В этот выпуск не входят службы SQL Server Integration Services, Analysis Services или Reporting Services. SQLCMD
Выпуски, снятые с производства
[ редактировать ]- Обработчик данных Майкрософт
- Версия 1.0 основана на SQL Server версии 7.0. [ 22 ] Впоследствии его заменил Microsoft SQL Server Data Engine.
- Механизм данных Microsoft SQL Server
- Также называемый Desktop Engine, Desktop Edition, он основан на SQL Server 2000. Он предназначен для использования в качестве компонента приложения и не включает инструменты управления графическим интерфейсом. Позже Microsoft также предоставила инструмент веб-администрирования. Входит в состав некоторых версий Microsoft Access , средств разработки Microsoft и других выпусков SQL Server. [ 23 ] После SQL Server 2000 его заменил SQL Server 2005 Express Edition.
- Персональная версия
- SQL Server 2000. Имелись ограничения на рабочую нагрузку или количество подключений, такие как MSDE, но не было ограничений на размер базы данных. Включает стандартные инструменты управления. Предназначен для использования в качестве мобильного/отключенного прокси, лицензирован для использования с SQL Server 2000 Standard edition. [ 23 ] Аналогично Standard Edition в SQL Server 2000, но полнотекстовый поиск не работает в Windows 98, репликация транзакций ограничена подписчиком. [ 24 ]
- Центр обработки данных
- SQL Server 2008 R2 Datacenter — это полнофункциональная версия SQL Server, предназначенная для центров обработки данных, которым требуется высокий уровень поддержки приложений и масштабируемости. Он поддерживает 256 логических процессоров и практически неограниченную память и поставляется с версией StreamInsight Premium. [ 25 ] Выпуск Datacenter больше не поддерживается в SQL Server 2012; все его функции доступны в SQL Server 2012 Enterprise Edition. [ 13 ]
- Windows CE- версия
- Представленный в SQL Server 2000, [ 26 ] и был заменен SQL Server 2005 Mobile Edition.
- SQL Server 2005 Мобильная версия
- Заменен SQL Server 2005 Compact Edition после первого выпуска.
- SQL Server 2005 Компактная версия
- Заменен SQL Server Compact 3.5 после первого выпуска.
Дополнительные пакеты
[ редактировать ]Инструменты, опубликованные Microsoft, включают:
- SQL-сервер 2000:
- Образцы: [ 27 ] Northwind и публикует образцы баз данных, обновленные образцы для SQL Server 2000.
- Инструменты: инструменты стресс-тестирования и анализа производительности (Read80Trace и OSTRESS), утилита сбора данных PSSDIAG, службы уведомлений (до пакета обновления 1), инструменты безопасности, анализатор лучших практик 1.0, службы отчетов (до пакета обновления 2), отчет служб отчетов. Пакеты, драйвер SQL Server 2000 для JDBC (до пакета обновления 3), SQLXML 3.0 (до пакета обновления 3).
- Документация: [ 28 ] Электронная документация по SQL Server 2000, Карта системных таблиц SQL Server 2000, набор ресурсов, SQL Server 2000 — Руководство по началу работы.
Архитектура
[ редактировать ]Уровень протокола реализует внешний интерфейс к SQL Server. Все операции, которые могут быть вызваны на SQL Server, передаются ему через определенный Microsoft формат, называемый потоком табличных данных (TDS). TDS — это протокол прикладного уровня, используемый для передачи данных между сервером базы данных и клиентом. Первоначально разработанные компанией Sybase Inc. для ядра реляционной базы данных Sybase SQL Server в 1984 году, а затем Microsoft для Microsoft SQL Server, пакеты TDS могут быть заключены в другие протоколы, зависящие от физического транспорта, включая TCP/IP , именованные каналы и общие протоколы. память . Следовательно, доступ к SQL Server возможен по этим протоколам. Кроме того, API SQL Server также доступен через веб-службы . [ 10 ]
Хранение данных
[ редактировать ]Хранилище данных — это база данных , представляющая собой набор таблиц с типизированными столбцами. SQL Server поддерживает различные типы данных, включая примитивные типы , такие как Integer , Float , Decimal , Char (включая строки символов), Varchar (строки символов переменной длины), двоичные (для неструктурированных блоков данных), Text (для текстовых данных) и другие. . чисел Для округления с плавающей запятой до целых чисел используется либо симметричное арифметическое округление, либо симметричное округление вниз ( fix ) в зависимости от аргументов: SELECT Round(2.5, 0)
дает 3.
Microsoft SQL Server также позволяет определять и использовать определяемые пользователем составные типы (UDT). Он также делает статистику сервера доступной в виде виртуальных таблиц и представлений (называемых динамическими представлениями управления или DMV). Помимо таблиц, база данных может также содержать другие объекты, включая представления , хранимые процедуры , индексы и ограничения , а также журнал транзакций. База данных SQL Server может содержать максимум 2 31 объекты и могут охватывать несколько файлов уровня ОС с максимальным размером файла 2 60 байты (1 эксабайт). [ 10 ] Данные в базе данных хранятся в первичных файлах данных с расширением .mdf
. Вторичные файлы данных, обозначенные значком .ndf
Расширение используется для того, чтобы данные одной базы данных могли быть распределены по нескольким файлам и, при необходимости, по нескольким файловым системам. Файлы журналов обозначаются .ldf
расширение. [ 10 ]
Пространство, выделенное для базы данных, разделено на последовательно пронумерованные страницы , каждая размером 8 КБ. Страница для — это базовая единица ввода-вывода операций SQL Server. Страница помечается 96-байтовым заголовком, в котором хранятся метаданные о странице, включая номер страницы, тип страницы, свободное место на странице и идентификатор объекта, которому она принадлежит. Тип страницы определяет данные, содержащиеся на странице. Эти данные включают в себя: данные, хранящиеся в базе данных, индекс, карту распределения, которая содержит информацию о том, как страницы распределяются по таблицам и индексам; и карта изменений, которая содержит информацию об изменениях, внесенных в другие страницы с момента последнего резервного копирования или регистрации, или содержит большие типы данных, такие как изображения или текст. Хотя страница является основной единицей операции ввода-вывода, фактически пространство управляется экстентом , состоящим из 8 страниц. Объект базы данных может либо охватывать все 8 страниц в экстенте («единый экстент»), либо совместно использовать экстент еще с 7 объектами («смешанный экстент»). Строка в таблице базы данных не может занимать более одной страницы, поэтому ее размер ограничен 8 КБ. Однако если данные превышают 8 КБ и строка содержит varchar или varbinary data, данные в этих столбцах перемещаются на новую страницу (или, возможно, в последовательность страниц, называемую единицей распределения ) и заменяются указателем на данные. [ 29 ]
При физическом хранении таблицы ее строки делятся на ряд разделов (с номерами от 1 до n). Размер раздела определяется пользователем; по умолчанию все строки находятся в одном разделе. Таблица разбивается на несколько разделов, чтобы распределить базу данных по компьютерному кластеру . Строки в каждом разделе хранятся либо в B-дереве , либо в структуре кучи . Если таблица имеет связанный кластеризованный индекс , позволяющий быстро извлекать строки, строки сохраняются в порядке, соответствующем их значениям индексов, при этом индекс предоставляет B-дерево. Данные находятся в листовом узле листьев и других узлах, хранящих значения индекса для конечных данных, доступных из соответствующих узлов. Если индекс некластеризован, строки не сортируются по ключам индекса. Индексированное представление имеет ту же структуру хранения, что и индексированная таблица. Таблица без кластеризованного индекса хранится в неупорядоченной структуре кучи. Однако таблица может иметь некластеризованные индексы, позволяющие быстро извлекать строки. В некоторых ситуациях структура кучи имеет преимущества в производительности по сравнению с кластерной структурой. И кучи, и B-деревья могут охватывать несколько единиц распределения. [ 30 ]
Управление буфером
[ редактировать ]SQL Server буферизует страницы в оперативной памяти, чтобы минимизировать дисковый ввод-вывод. Любая страница размером 8 КБ может быть буферизована в памяти, а набор всех страниц, находящихся в буфере в данный момент, называется буферным кешем. Объем памяти, доступной SQL Server, определяет, сколько страниц будет кэшироваться в памяти. Буферный кэш управляется диспетчером буферов . При чтении или записи на любую страницу она копируется в буферный кеш. Последующие операции чтения или записи перенаправляются в копию в памяти, а не в версию на диске. Страница обновляется на диске диспетчером буферов только в том случае, если к кэшу в памяти не обращались в течение некоторого времени. При записи страниц обратно на диск асинхронный ввод-вывод используется , при котором операция ввода-вывода выполняется в фоновом потоке, поэтому другим операциям не приходится ждать завершения операции ввода-вывода. Каждая страница записывается вместе с ее контрольной суммой при ее записи. При обратном чтении страницы ее контрольная сумма вычисляется снова и сопоставляется с сохраненной версией, чтобы гарантировать, что страница за это время не была повреждена или подделана. [ 31 ]
Параллелизм и блокировка
[ редактировать ]SQL Server позволяет нескольким клиентам одновременно использовать одну и ту же базу данных. Таким образом, ему необходимо контролировать одновременный доступ к общим данным, чтобы гарантировать целостность данных — когда несколько клиентов обновляют одни и те же данные или когда клиенты пытаются прочитать данные, которые находятся в процессе изменения другим клиентом. SQL Server предоставляет два режима управления параллелизмом: пессимистический параллелизм и оптимистический параллелизм . При использовании пессимистического управления параллелизмом SQL Server управляет одновременным доступом с помощью блокировок. Блокировки могут быть общими или эксклюзивными. Эксклюзивная блокировка предоставляет пользователю эксклюзивный доступ к данным — ни один другой пользователь не может получить доступ к данным, пока удерживается блокировка. Общие блокировки используются при чтении некоторых данных — несколько пользователей могут читать данные, заблокированные общей блокировкой, но не могут получить монопольную блокировку. Последнему придется дождаться снятия всех общих блокировок.
Блокировки могут применяться на разных уровнях детализации — ко всем таблицам, страницам или даже к каждой строке таблицы. Для индексов это может быть либо весь индекс, либо его листья. Используемый уровень детализации определяется администратором базы данных для каждой базы данных. Хотя детальная система блокировки позволяет большему количеству пользователей одновременно использовать таблицу или индекс, она требует больше ресурсов, поэтому не обеспечивает автоматического повышения производительности. SQL Server также включает два более легких решения взаимного исключения — защелки и спин-блокировки, которые менее надежны, чем блокировки, но менее ресурсоемки. SQL Server использует их для динамических представлений и других ресурсов, которые обычно не заняты. SQL Server также отслеживает все рабочие потоки, которые получают блокировки, чтобы гарантировать, что они не попадают в тупиковые ситуации — в случае, если они это делают, SQL Server принимает меры по исправлению положения, которые во многих случаях заключаются в уничтожении одного из потоков, запутавшихся во взаимоблокировке, и откате назад. транзакция, которую он начал. [ 10 ] Для реализации блокировки SQL Server содержит диспетчер блокировок . Диспетчер блокировок поддерживает таблицу в памяти, которая управляет объектами базы данных и блокирует их, если таковые имеются, а также другие метаданные о блокировке. Доступ к любому общему объекту осуществляется через диспетчер блокировок, который либо разрешает доступ к ресурсу, либо блокирует его.
SQL Server также предоставляет механизм оптимистического управления параллелизмом, который аналогичен управлению многоверсионным параллелизмом, используемому в других базах данных. Этот механизм позволяет создавать новую версию строки при каждом ее обновлении, а не перезаписывать строку, т. е. строка дополнительно идентифицируется идентификатором транзакции, создавшей версию строки. Как старая, так и новая версии строки сохраняются и поддерживаются, хотя старые версии перемещаются из базы данных в системную базу данных, идентифицированную как Tempdb
. Когда строка находится в процессе обновления, любые другие запросы не блокируются (в отличие от блокировки), а выполняются на более старой версии строки. Если другой запрос является оператором обновления, в результате появятся две разные версии строк — обе они будут храниться в базе данных и идентифицируются соответствующими идентификаторами транзакций. [ 10 ]
Поиск данных и программируемость
[ редактировать ]Основным режимом получения данных из базы данных SQL Server является запрос к ним. Запрос выражается с использованием варианта SQL под названием T-SQL , диалекта, который Microsoft SQL Server разделяет с Sybase SQL Server из-за его наследия. Запрос декларативно определяет, что необходимо получить. Он обрабатывается процессором запросов, который определяет последовательность шагов, которые будут необходимы для получения запрошенных данных. Последовательность действий, необходимых для выполнения запроса, называется планом запроса . Может существовать несколько способов обработки одного и того же запроса. Например, для запроса, содержащего оператор соединения и оператор выбора , выполнение соединения для обеих таблиц, а затем выполнение выбора для результатов даст тот же результат, что и выбор из каждой таблицы с последующим выполнением соединения, но приведет к разному выполнению. планы. В таком случае SQL Server выбирает план, который, как ожидается, даст результаты в кратчайшие сроки. Это называется оптимизацией запросов и выполняется самим обработчиком запросов. [ 10 ]
SQL Server включает в себя оптимизатор запросов на основе стоимости, который пытается оптимизировать затраты с точки зрения ресурсов, необходимых для выполнения запроса. Учитывая запрос, оптимизатор запросов просматривает схему базы данных , статистику базы данных и загрузку системы в тот момент. Затем он решает, в какой последовательности обращаться к таблицам, указанным в запросе, в какой последовательности выполнять операции и какой метод доступа использовать для доступа к таблицам. Например, если у таблицы есть связанный индекс, следует ли использовать этот индекс или нет: если индекс находится в столбце, который не уникален для большинства столбцов (низкая «селективность»), возможно, не стоит использовать индекс для доступа к данным. Наконец, он решает, выполнять запрос одновременно или нет. Хотя одновременное выполнение является более затратным с точки зрения общего процессорного времени, поскольку выполнение фактически распределяется между разными процессорами, это может означать, что оно будет выполняться быстрее. После создания плана запроса для запроса он временно кэшируется. Для дальнейших вызовов того же запроса используется кэшированный план. Неиспользованные планы через некоторое время удаляются. [ 10 ] [ 32 ]
SQL Server также позволяет хранимые процедуры определять . Хранимые процедуры — это параметризованные запросы T-SQL, которые хранятся на самом сервере (а не выдаются клиентским приложением, как в случае с общими запросами). Хранимые процедуры могут принимать значения, отправленные клиентом, в качестве входных параметров и отправлять результаты обратно в качестве выходных параметров. Они могут вызывать определенные функции и другие хранимые процедуры, включая одну и ту же хранимую процедуру (до заданного количества раз). Им может быть выборочно предоставлен доступ к файлам . В отличие от других запросов, хранимые процедуры имеют связанное имя, которое используется во время выполнения для преобразования в фактические запросы. Кроме того, поскольку код не нужно каждый раз отправлять от клиента (поскольку к нему можно получить доступ по имени), это снижает сетевой трафик и несколько повышает производительность. [ 33 ] Планы выполнения хранимых процедур также кэшируются по мере необходимости.
Т-SQL
[ редактировать ]Microsoft T-SQL (Transact-SQL) — это собственное расширение процедурного языка для SQL Server. Он предоставляет инструкции REPL (Read-Eval-Print-Loop), которые расширяют стандартный набор инструкций SQL для инструкций манипулирования данными ( DML ) и определения данных ( DDL ), включая специфичные для SQL Server настройки, управление безопасностью и статистикой базы данных.
Он предоставляет ключевые слова для операций, которые можно выполнять на SQL Server, включая создание и изменение схем базы данных, ввод и редактирование данных в базе данных, а также мониторинг и управление самим сервером. Клиентские приложения, которые потребляют данные или управляют сервером, будут использовать функциональные возможности SQL Server, отправляя запросы и операторы T-SQL, которые затем обрабатываются сервером, а результаты (или ошибки) возвращаются клиентскому приложению. Для этого он предоставляет таблицы, доступные только для чтения, из которых можно прочитать статистику сервера. Функциональность управления предоставляется через определяемые системой хранимые процедуры, которые можно вызывать из запросов T-SQL для выполнения операции управления. Также возможно создавать связанные серверы с использованием T-SQL. Связанные серверы позволяют одному запросу обрабатывать операции, выполняемые на нескольких серверах. [ 34 ]
Собственный клиент SQL Server (он же SNAC)
[ редактировать ]SQL Server Native Client — это собственная библиотека доступа к данным на стороне клиента для Microsoft SQL Server, начиная с версии 2005. Он изначально реализует поддержку функций SQL Server, включая реализацию табличного потока данных , поддержку зеркальных баз данных SQL Server, полную поддержку всех типов данных, поддерживаемых SQL Server, асинхронные операции, уведомления о запросах, поддержку шифрования , а также получение нескольких наборов результатов. в одном сеансе базы данных. Собственный клиент SQL Server используется подключаемыми модулями SQL Server для других технологий доступа к данным, включая ADO или OLE DB . Собственный клиент SQL Server также можно использовать напрямую, минуя общие уровни доступа к данным. [ 35 ]
28 ноября 2011 г. предварительная версия драйвера ODBC SQL Server для Linux . была выпущена [ 36 ]
SQL CLR
[ редактировать ]Microsoft SQL Server 2005 включает компонент под названием SQL CLR («Common Language Runtime»), посредством которого он интегрируется с .NET Framework . В отличие от большинства других приложений, использующих .NET Framework, SQL Server сам содержит среду выполнения .NET Framework , т. е. требования .NET Framework к памяти, потокам и управлению ресурсами удовлетворяются самой SQLOS, а не базовой операционной системой Windows. SQLOS также предоставляет службы обнаружения и разрешения взаимоблокировок для кода .NET. С помощью SQL CLR хранимые процедуры и триггеры можно писать на любом управляемом языке .NET , включая C# и VB.NET . Управляемый код также можно использовать для определения UDT ( определяемых пользователем типов ), которые могут сохраняться в базе данных. Управляемый код компилируется в сборки CLI и после проверки на типобезопасность регистрируется в базе данных. После этого их можно вызывать, как и любую другую процедуру. [ 37 ] только подмножество библиотеки базовых классов Однако при запуске кода в SQL CLR доступно . Большинство API, относящихся к функциям пользовательского интерфейса, недоступны. [ 37 ]
При написании кода для SQL CLR доступ к данным, хранящимся в базах данных SQL Server, можно получить с помощью ADO.NET, API-интерфейсов как и к любому другому управляемому приложению , которое обращается к данным SQL Server. Однако при этом создается новый сеанс базы данных, отличный от того, в котором выполняется код. Чтобы избежать этого, SQL Server предоставляет некоторые улучшения поставщика ADO.NET, которые позволяют перенаправлять соединение в тот же сеанс, в котором уже размещен выполняющийся код. Такие соединения называются контекстными соединениями и устанавливаются установкой context connection
параметр для true
в строке подключения. SQL Server также предоставляет несколько других усовершенствований API ADO.NET , включая классы для работы с табличными данными или одной строкой данных, а также классы для работы с внутренними метаданными о данных, хранящихся в базе данных. Он также обеспечивает доступ к функциям XML в SQL Server, включая XQuery поддержку . Эти улучшения также доступны в процедурах T-SQL благодаря введению нового типа данных XML (функции запроса, значения, узлов). [ 38 ]
Услуга
[ редактировать ]SQL Server также включает в себя ряд дополнительных служб. Хотя они не являются необходимыми для работы системы базы данных, они предоставляют дополнительные услуги поверх основной системы управления базой данных. Эти службы либо запускаются как часть какого-либо компонента SQL Server, либо вне процесса как служба Windows и предоставляют собственный API для управления ими и взаимодействия с ними.
Услуги машинного обучения
[ редактировать ]Службы машинного обучения SQL Server работают внутри экземпляра SQL-сервера, позволяя людям выполнять машинное обучение и анализ данных без необходимости отправлять данные по сети или ограничиваться памятью своих компьютеров. Службы поставляются с дистрибутивами R и Python от Microsoft, которые содержат часто используемые пакеты для анализа данных, а также некоторые проприетарные пакеты (например, revoscalepy , RevoScaleR , microsoftml), которые можно использовать для создания моделей машин в масштабе.
Аналитики могут либо настроить свой клиентский компьютер для подключения к удаленному SQL-серверу и передать на него выполнение сценариев, либо они могут запускать сценарии R или Python в качестве внешнего сценария внутри запроса T-SQL. Обученная модель машинного обучения может храниться в базе данных и использоваться для оценки. [ 39 ]
Сервисный брокер
[ редактировать ]Используется внутри экземпляра, среды программирования. Для приложений с несколькими экземплярами Service Broker обменивается данными через TCP/IP и позволяет синхронизировать различные компоненты посредством обмена сообщениями. Service Broker, который работает как часть ядра базы данных, обеспечивает надежную платформу обмена сообщениями и очередей сообщений для приложений SQL Server. [ 40 ]
Услуги брокера услуг состоят из следующих частей: [ 41 ]
- типы сообщений
- контракты
- решка
- сервисные программы
- маршруты
Тип сообщения определяет формат данных, используемый для сообщения. Это может быть объект XML, обычный текст или двоичные данные, а также пустое тело сообщения для уведомлений. Контракт определяет, какие сообщения используются в диалоге между службами и кто может помещать сообщения в очередь. Очередь действует как поставщик хранилища для сообщений. Они реализованы внутри SQL Server в виде таблиц, но не поддерживают функции вставки, обновления или удаления. Программа обслуживания получает и обрабатывает сообщения брокера служб. Обычно служебная программа реализуется в виде хранимой процедуры или приложения CLR . Маршруты — это сетевые адреса, по которым в сети находится сервисный брокер. [ 41 ]
Кроме того, сервисный брокер поддерживает такие функции безопасности, как сетевая аутентификация (с использованием NTLM , Kerberos или сертификатов авторизации ), проверка целостности и шифрование сообщений . [ 41 ]
Службы репликации
[ редактировать ]Службы репликации SQL Server используются SQL Server для репликации и синхронизации объектов базы данных целиком или подмножества имеющихся объектов между агентами репликации, которыми могут быть другие серверы баз данных в сети или кэши баз данных на стороне клиента. Службы репликации работают по модели издатель/подписчик, т. е. изменения отправляются одним сервером базы данных («издатель») и принимаются другими («подписчиками»). SQL Server поддерживает три различных типа репликации: [ 42 ]
- Репликация транзакций
- Каждая транзакция, совершаемая с базой данных издателя (главной базой данных), синхронизируется с подписчиками, которые обновляют свои базы данных вместе с транзакцией. Репликация транзакций синхронизирует базы данных практически в реальном времени. [ 43 ]
- Репликация слиянием
- Изменения, вносимые как в базы данных издателя, так и в базы данных подписчиков, отслеживаются, и периодически эти изменения синхронизируются в двух направлениях между издателем и подписчиками. Если одни и те же данные были изменены по-разному в базах данных издателя и подписчика, синхронизация приведет к конфликту, который придется разрешать либо вручную, либо с помощью заранее определенных политик. Rowguid необходимо настроить в столбце, если репликация слиянием настроен. [ 44 ]
- Репликация моментальных снимков
- Репликация моментальных снимков публикует копию всей базы данных (моментальный снимок данных) и реплицирует ее подписчикам. Дальнейшие изменения снимка не отслеживаются. [ 45 ]
Аналитические услуги
[ редактировать ]Службы SQL Server Analysis Services (SSAS) добавляют возможности OLAP и интеллектуального анализа данных для баз данных SQL Server. Механизм OLAP поддерживает MOLAP , ROLAP и HOLAP режимы хранения данных . Службы Analysis Services поддерживают стандарт XML для анализа в качестве базового протокола связи. Доступ к данным куба можно получить с помощью MDX и LINQ. [ 46 ] запросы. [ 47 ] Специальные функции интеллектуального анализа данных предоставляются через язык запросов DMX . Службы Analysis Services включают в себя различные алгоритмы — деревья решений , алгоритм кластеризации, алгоритм Наивного Байеса , анализ временных рядов, алгоритм кластеризации последовательностей, анализ линейной и логистической регрессии и нейронные сети — для использования в интеллектуальном анализе данных. [ 48 ]
Службы отчетов
[ редактировать ]Службы отчетов SQL Server (SSRS) — это среда создания отчетов для данных, собранных из баз данных SQL Server. Управление осуществляется через веб-интерфейс. Службы отчетов имеют интерфейс веб-служб для поддержки разработки пользовательских приложений для создания отчетов. Отчеты создаются в виде файлов RDL . [ 49 ]
Отчеты можно создавать с использованием последних версий Microsoft Visual Studio (Visual Studio.NET 2003, 2005 и 2008). [ 50 ] с установленной Business Intelligence Development Studio или с включенным в комплект Report Builder . После создания файлы RDL можно отображать в различных форматах. [ 51 ] [ 52 ] включая Excel, PDF , CSV , XML , BMP , EMF , GIF , JPEG , PNG и TIFF , [ 53 ] и веб-архив HTML.
Службы уведомлений
[ редактировать ]Первоначально представленный как дополнение к SQL Server 2000 после выпуска, [ 54 ] Службы Notification Services впервые были включены в состав платформы Microsoft SQL Server вместе с SQL Server 2005. [ 55 ] [ 56 ] Службы уведомлений SQL Server — это механизм создания уведомлений на основе данных, которые отправляются подписчикам служб уведомлений. Абонент регистрируется на определенное событие или транзакцию (которая регистрируется на сервере базы данных как триггер); при возникновении события службы Notification Services могут использовать один из трех методов для отправки подписчику сообщения, информирующего о возникновении события. Эти методы включают SMTP, SOAP или запись в файл файловой системы. [ 57 ] Службы Notification Services были прекращены Microsoft с выпуском SQL Server 2008 в августе 2008 года и больше не являются официально поддерживаемым компонентом платформы базы данных SQL Server.
Услуги интеграции
[ редактировать ]Службы интеграции SQL Server (SSIS) предоставляют возможности ETL для SQL Server для импорта данных , интеграции данных и хранения хранилищ данных . Службы Integration Services включают в себя инструменты с графическим пользовательским интерфейсом для создания рабочих процессов, таких как извлечение данных из различных источников, запрос данных, преобразование данных, включая агрегацию, дедупликацию, де-/нормализацию и слияние данных, а затем экспорт преобразованных данных в целевые базы данных или файлы. [ 58 ]
Служба полнотекстового поиска
[ редактировать ]Служба полнотекстового поиска SQL Server — это специализированная служба индексирования и запроса неструктурированного текста, хранящегося в базах данных SQL Server. Индекс полнотекстового поиска можно создать для любого столбца с текстовыми данными на основе символов. Это позволяет искать слова в текстовых столбцах. Хотя это можно выполнить с помощью SQL LIKE
Оператор, использование службы полнотекстового поиска SQL Server может быть более эффективным. Полное допускает неточное соответствие исходной строки, на что указывает значение ранга , которое может находиться в диапазоне от 0 до 1000: более высокий ранг означает более точное совпадение. Он также допускает лингвистическое сопоставление («изменчивый поиск»), т. е. лингвистические варианты слова (например, глагол в другом времени) также будут соответствовать данному слову (но с более низким рангом, чем точное совпадение). Также поддерживается поиск по близости, т. е. если искомые слова не встречаются в той последовательности, которая указана в запросе, но находятся рядом друг с другом, они также считаются совпадающими. T-SQL предоставляет специальные операторы, которые можно использовать для доступа к возможностям FTS. [ 59 ] [ 60 ]
Система полнотекстового поиска разделена на два процесса: процесс демона фильтра ( msftefd.exe
) и процесс поиска ( msftesql.exe
). Эти процессы взаимодействуют с SQL Server. Процесс поиска включает в себя индексатор (который создает полнотекстовые индексы) и процессор полнотекстовых запросов. Индексатор сканирует текстовые столбцы в базе данных. Он также может индексировать двоичные столбцы и использовать iFilters для извлечения значимого текста из двоичного объекта (например, когда документ Microsoft Word хранится как неструктурированный двоичный файл в базе данных). iFilters размещаются в процессе Filter Daemon. После извлечения текста процесс Filter Daemon разбивает его на последовательность слов и передает индексатору. Индексатор отфильтровывает «лишние» слова , т. е. такие слова, как A , And и т. д., которые встречаются часто и бесполезны для поиска. С оставшимися словами инвертированный индекс создается , связывающий каждое слово со столбцами, в которых они были найдены. Сам SQL Server включает компонент Gatherer , который отслеживает изменения в таблицах и вызывает индексатор в случае обновлений. [ 61 ]
Когда процессор запросов SQL Server получает полнотекстовый запрос, он передается процессору запросов FTS в процессе поиска. Процессор запросов FTS разбивает запрос на составляющие слова, отфильтровывает «лишние» слова и использует встроенный тезаурус для определения лингвистических вариантов каждого слова. Затем слова запрашиваются по инвертированному индексу и вычисляется ранг их точности. Результаты возвращаются клиенту через процесс SQL Server. [ 61 ]
SQLCMD
[ редактировать ]SQLCMD — это приложение командной строки, поставляемое с Microsoft SQL Server и предоставляющее функции управления SQL Server. Он позволяет писать и выполнять SQL-запросы из командной строки. Он также может выступать в качестве языка сценариев для создания и запуска набора операторов SQL в качестве сценария. Такие сценарии хранятся в виде .sql
файл и используются либо для управления базами данных, либо для создания схемы базы данных во время ее развертывания.
SQLCMD был представлен в SQL Server 2005 и продолжился в версиях SQL Server 2008, 2008 R2, 2012, 2014, 2016 и 2019. Его предшественником для более ранних версий были OSQL и ISQL, которые были функционально эквивалентны в отношении выполнения T-SQL. и многие параметры командной строки идентичны, хотя SQLCMD добавляет дополнительную универсальность.
Визуальная Студия
[ редактировать ]Microsoft Visual Studio включает встроенную поддержку программирования данных с помощью Microsoft SQL Server. Его можно использовать для написания и отладки кода , который будет выполняться SQL CLR. Он также включает в себя конструктор данных , который можно использовать для графического создания, просмотра или редактирования схем базы данных. Запросы можно создавать как визуально, так и с помощью кода. SSMS 2008 и более поздних версий обеспечивает интеллектуальное управление также запросами SQL.
Студия управления SQL-сервером
[ редактировать ]SQL Server Management Studio — это инструмент с графическим пользовательским интерфейсом , входящий в состав SQL Server 2005 и более поздних версий, предназначенный для настройки, управления и администрирования всех компонентов Microsoft SQL Server. В состав инструмента входят как редакторы скриптов, так и графические инструменты для работы с объектами и функциями сервера. [ 62 ] SQL Server Management Studio заменяет Enterprise Manager в качестве основного интерфейса управления для Microsoft SQL Server начиная с SQL Server 2005. Версия SQL Server Management Studio также доступна для SQL Server Express Edition, для которой она известна как SQL Server Management Studio Express (SSMSE). ). [ 63 ]
Центральной особенностью SQL Server Management Studio является обозреватель объектов, который позволяет пользователю просматривать, выбирать и воздействовать на любые объекты на сервере. [ 64 ] Его можно использовать, среди прочего, для визуального наблюдения и анализа планов запросов, а также для оптимизации производительности базы данных. [ 65 ] SQL Server Management Studio также можно использовать для создания новой базы данных, изменения любой существующей схемы базы данных путем добавления или изменения таблиц и индексов или анализа производительности. Он включает в себя окна запросов, которые предоставляют графический интерфейс для написания и выполнения запросов. [ 10 ]
Студия данных Azure
[ редактировать ]Azure Data Studio — это кроссплатформенный редактор запросов, который можно загрузить дополнительно. Инструмент позволяет пользователям писать запросы; экспорт результатов запроса; зафиксируйте сценарии SQL в репозиториях Git и выполните базовую диагностику сервера. Azure Data Studio поддерживает системы Windows, Mac и Linux. [ 66 ]
Он был выпущен в общедоступную версию в сентябре 2018 года. До выпуска предварительная версия приложения называлась SQL Server Operations Studio.
Студия разработки бизнес-аналитики
[ редактировать ]Business Intelligence Development Studio (BIDS) — это интегрированная среда разработки от Microsoft, используемая для разработки решений для анализа данных и бизнес-аналитики с использованием служб Microsoft SQL Server Analysis Services , Reporting Services и Integration Services . Он основан на среде разработки Microsoft Visual Studio, но настраивается с помощью расширений, специфичных для служб SQL Server, и типов проектов, включая инструменты, элементы управления и проекты для отчетов (с использованием служб Reporting Services), кубов и структур интеллектуального анализа данных (с использованием служб Analysis Services). [ 67 ] В SQL Server 2012 и более поздних версиях эта интегрированная среда разработки была переименована в SQL Server Data Tools (SSDT).
См. также
[ редактировать ]- Сравнение систем управления реляционными базами данных
- Сравнение объектно-реляционных систем управления базами данных
- Сравнение инструментов моделирования данных
- Список систем управления реляционными базами данных
- XLeratorDB
Ссылки
[ редактировать ]- ^ «Изучите возможности SQL Server 2022» . Проверено 6 января 2023 г.
- ^ Последние обновления и история версий SQL Server.
- ^ Лекстрейт, Винсент (июль 2010 г.). «Маяк языков программирования, v10.3» . Архивировано из оригинала 30 мая 2012 года . Проверено 5 сентября 2010 г.
- ^ «Загрузить Microsoft SQL Server 2008 R2» . Центр оценки Майкрософт . Корпорация Майкрософт . Проверено 18 июля 2011 г.
- ^ «Руководство по установке SQL Server в Linux» . microsoft.com . 21 декабря 2017 года . Проверено 1 февраля 2018 г.
- ^ «Что нового в SQL Server 2019 (15.x)» . microsoft.com/ . 6 апреля 2022 г. . Проверено 11 мая 2022 г.
- ^ «Требования к установке SQL Server 2016» . docs.microsoft.com . msdn.microsoft.com. 2 мая 2016 г. Проверено 28 июля 2016 г.
- ^ «Примечания к выпуску SQL Server 2022» . Learn.microsoft.com . Проверено 14 февраля 2023 г.
- ^ «Сравнить издания» . Домашняя страница SQL-сервера . Корпорация Майкрософт . Проверено 3 декабря 2007 г.
- ^ Перейти обратно: а б с д и ж г час я Кален Делани (2007). Внутри Microsoft SQL Server 2005: механизм хранения . Майкрософт Пресс . ISBN 978-0-7356-2105-3 .
- ^ «SQL Server 2008: Выпуски» . Майкрософт . Проверено 21 июля 2011 г.
- ^ «Система баз данных | Производительность и масштабируемость | SQL Server 2012 Business Intelligence Edition» . Microsoft.com . Проверено 15 июня 2013 г.
- ^ Перейти обратно: а б Информационная таблица по лицензированию SQL Server 2012 и часто задаваемые вопросы (март 2012 г.)
- ^ «Ограничение размера базы данных SQL Server 2008 R2 Express увеличено до 10 ГБ» . Проверено 23 апреля 2010 г.
- ^ «Что случилось с выпусками SQL Server 2008 Express» . Проверено 15 августа 2008 г.
- ^ «Выпуск для разработчиков» . Домашняя страница SQL-сервера . Корпорация Майкрософт . Проверено 18 июля 2011 г.
- ^ «Пробное программное обеспечение SQL Server 2008» . Майкрософт . Проверено 26 марта 2009 г.
- ^ «Microsoft SQL Server 2008: ускоренное хранилище данных» . Майкрософт . Проверено 26 марта 2009 г.
- ^ «SQL Server Express LocalDB» . SQL-сервер. Документы Майкрософт . Проверено 2 августа 2021 г.
- ^ «Представляем LocalDB, улучшенный SQL Express» . Веб-журнал SQL Server Express. Документы Майкрософт . 12 июля 2011 года . Проверено 2 августа 2021 г.
- ^ «Система платформы Microsoft Analytics» . Майкрософт . Проверено 29 апреля 2015 г.
- ^ Выбор редакции SQL Server 2000.
- ^ Перейти обратно: а б «ИТ-Профи» .
- ^ Функции, поддерживаемые выпусками SQL Server 2000.
- ^ «Выбор версии StreamInsight» . MSDN . Корпорация Майкрософт . Проверено 18 июля 2011 г.
- ^ «Глава 3. Выбор редакции SQL Server 2000» . 1 ноября 2010 года. Архивировано из оригинала 1 ноября 2010 года . Проверено 4 ноября 2022 г.
- ^ SQL Server 2000 — Загрузки
- ^ Документация по продукту SQL Server 2000.
- ^ «Страницы и экстенты» . Проверено 2 декабря 2007 г.
- ^ «Организация таблиц и индексов» . Проверено 2 декабря 2007 г.
- ^ «Управление буфером» . Проверено 2 декабря 2007 г.
- ^ «Обработка одного оператора SQL» . Проверено 3 декабря 2007 г.
- ^ «Основы хранимых процедур» . Проверено 3 декабря 2007 г.
- ^ «Справочник по Transact-SQL» . Проверено 3 декабря 2007 г.
- ^ «Функции собственного клиента SQL Server» . Проверено 3 декабря 2007 г.
- ^ «Доступно сегодня: предварительная версия драйвера ODBC SQL Server для Linux» . Блог группы разработчиков SQL Server. 28 ноября 2011 года . Проверено 15 июня 2013 г.
- ^ Перейти обратно: а б «Обзор интеграции CLR» . Проверено 3 декабря 2007 г.
- ^ «Поддержка XML в SQL Server» . Проверено 5 сентября 2008 г.
- ^ «Что такое службы машинного обучения SQL Server» . Домашняя страница SQL-сервера . Корпорация Майкрософт . Проверено 10 апреля 2018 г.
- ^ «Представляющий сервис-брокер» . Проверено 3 декабря 2007 г.
- ^ Перейти обратно: а б с Клаус Ашенбреннер (2011). «Представляем сервисных брокеров». Pro SQL Server 2008 Service Broker (1-е изд.). Вена: Апресс . стр. 17–31. ISBN 978-1-4302-0865-5 . Проверено 15 декабря 2019 г.
- ^ «Обзор типов репликации» . Проверено 3 декабря 2007 г.
- ^ «Обзор транзакционной репликации» . Проверено 3 декабря 2007 г.
- ^ «Обзор репликации слиянием» . Проверено 3 декабря 2007 г.
- ^ «Обзор репликации моментальных снимков» . Проверено 3 декабря 2007 г.
- ^ «Поставщик SSAS Entity Framework» . Проверено 29 сентября 2011 г.
- ^ «Архитектура аналитических служб» . Проверено 3 декабря 2007 г.
- ^ «Концепции интеллектуального анализа данных» . Проверено 3 декабря 2007 г.
- ^ «Службы отчетов SQL Server» . Проверено 3 декабря 2007 г.
- ^ «Невозможно открыть файл .rptproj служб отчетов SQL | Microsoft Connect» . Connect.microsoft.com. Архивировано из оригинала 3 февраля 2012 года . Проверено 4 сентября 2011 г.
- ^ Библиотека MSDN: Метод рендеринга служб Reporting Services
- ^ Настройки информации об устройстве .
- ^ Настройки информации об устройстве изображения
- ^ «Введение в службы уведомлений SQL Server» . 3 сентября 2002 года . Проверено 14 ноября 2008 г.
- ^ «Службы уведомлений SQL Server удалены из SQL Server 2008» . Архивировано из оригинала 16 октября 2008 года . Проверено 17 сентября 2008 г.
- ^ «Прекращенная функциональность служб отчетов SQL Server 2008» . Проверено 17 сентября 2008 г.
- ^ «Знакомство со службами уведомлений SQL Server» . Проверено 3 декабря 2007 г.
- ^ «Обзор служб интеграции» . Проверено 3 декабря 2007 г.
- ^ «Введение в полнотекстовый поиск» . 19 ноября 2007 года . Проверено 3 декабря 2007 г.
- ^ «Запрос к SQL Server с использованием полнотекстового поиска» . Проверено 3 декабря 2007 г.
- ^ Перейти обратно: а б «Архитектура полнотекстового поиска» . Проверено 3 декабря 2007 г.
- ^ «MSDN: Знакомство с SQL Server Management Studio» . Msdn.microsoft.com . Проверено 4 сентября 2011 г.
- ^ «SQL Server Management Studio Express» . Microsoft.com. 18 апреля 2006 года . Проверено 4 сентября 2011 г.
- ^ «MSDN: Использование обозревателя объектов» . Msdn.microsoft.com . Проверено 4 сентября 2011 г.
- ^ «Инструменты управления SQL Server 2005» . Sqlmag.com. 19 июля 2005 года . Проверено 4 сентября 2011 г.
- ^ «Что такое Microsoft SQL Operations Studio (предварительная версия)?» . docs.microsoft.com . Проверено 19 января 2018 г.
- ^ «Представляем студию разработки бизнес-аналитики» . Проверено 3 декабря 2007 г.
Дальнейшее чтение
[ редактировать ]- Лэнс Делано, Раджеш Джордж и др. (2005). Стартовый комплект Wrox SQL Server 2005 Express Edition (от программиста) . Майкрософт Пресс . ISBN 0-7645-8923-7 .
- Делани, Кален и др. (2007). Внутри SQL Server 2005: настройка и оптимизация запросов . Майкрософт Пресс . ISBN 0-7356-2196-9 .
- Бен-Ган, Ицик и др. (2006). Внутри Microsoft SQL Server 2005: программирование T-SQL . Майкрософт Пресс . ISBN 0-7356-2197-7 .
- Клаус Элк (2018). SQL-сервер с C# . ISBN 1-7203-5867-2 .