Обзор средств sqlsql tools overview
Содержание:
- ПримечанияRemarks
- Получение справки
- Как работает служба «Обозреватель SQL Server»How SQL Server Browser Works
- Применение программы osql в интерактивном режимеUsing osql Interactively
- Создание базы данныхCreate a database
- Management tools
- Виды СУБД
- Разрешение дополнительных соединенийAuthorizing Additional Connections
- Используемые технологии
- RemarksRemarks
- АргументыArguments
- Классы модели объектов SMOSMO Classes
- Рекомендуемые средстваRecommended tools
- История
- Работа с данными
ПримечанияRemarks
Явное включение очень большого количества значений (много тысяч значений, разделенных запятыми) в круглые скобки в предложение IN может привести к интенсивному расходованию ресурсов и возврату ошибки 8623 или 8632.Explicitly including an extremely large number of values (many thousands of values separated by commas) within the parentheses, in an IN clause can consume resources and return errors 8623 or 8632. Чтобы избежать этой проблемы, храните элементы списка IN в таблице и используйте вложенный запрос SELECT в предложении IN.To work around this problem, store the items in the IN list in a table, and use a SELECT subquery within an IN clause.
Ошибка 8623.Error 8623:
Ошибка 8632.Error 8632:
Получение справки
- UserVoice: предложения пользователей по улучшению SQL ServerUserVoice: Have suggestions for improving SQL Server?
- Вопросы и ответы по продуктам Майкрософт (SQL Server)Microsoft Q & A (SQL Server)
- DBA Stack Exchange (тег sql-server): вопросы по SQL ServerDBA Stack Exchange (tag sql-server): Ask SQL Server questions
- Stack Overflow (тег sql-server): ответы на вопросы по разработке приложений SQLStack Overflow (tag sql-server): Answers to SQL development questions
- Reddit: общее обсуждение по SQL ServerReddit: General discussion about SQL Server
- Условия лицензии и информация о Microsoft SQL ServerMicrosoft SQL Server License Terms and Information
- Варианты поддержки для бизнес-пользователейSupport options for business users
- Обратиться в МайкрософтContact Microsoft
- Дополнительная справка и отзывы по SQL ServerAdditional SQL Server help and feedback
Как работает служба «Обозреватель 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.
Применение программы osql в интерактивном режимеUsing osql Interactively
Чтобы использовать программу osql в интерактивном режиме, введите команду osql (и любые параметры) в командной строке.To use osql interactively, type the osql command (and any of the options) at a command prompt.
Файл, содержащий запрос (например, Stores.qry), можно загрузить в программу osql и выполнить, введя команду следующего вида:You can read in a file containing a query (such as Stores.qry) for execution by osql by typing a command similar to this:
Можно считать запрос из файла (например, Titles.qry) и направить результаты в другой файл, введя команду, подобную следующей:You can read in a file containing a query (such as Titles.qry) and direct the results to another file by typing a command similar to this:
Важно!
По возможности используйте параметр -E(доверительное соединение).When possible, use the -Eoption (trusted connection).
При использовании программы osql в интерактивном режиме файл операционной системы можно считать в буфер команд с помощью команды :rимя_файла.When using osql interactively, you can read an operating-system file into the command buffer with :rfile_name. Это приведет к отправке скрипта SQL в файле с именем имя_файла непосредственно на сервер в виде единого пакета.This sends the SQL script in file_name directly to the server as a single batch.
Примечание
Если при использовании программы osqlв файле скрипта SQL содержится разделитель пакетов GO, SQL ServerSQL Server воспринимает его как синтаксическую ошибку.When using osql, SQL ServerSQL Server treats the batch separator GO, if it appears in a SQL script file, as a syntax error.
Создание базы данныхCreate a database
Как и у многих инструкций языка Transact-SQLTransact-SQL, у инструкции имеется обязательный параметр: имя базы данных.Like many Transact-SQLTransact-SQL statements, the statement has a required parameter: the name of the database. Кроме этого, у инструкции имеется ряд необязательных параметров, таких как расположение на диске, где требуется хранить файлы базы данных.also has many optional parameters, such as the disk location where you want to put the database files. При выполнении инструкции без дополнительных параметров для многих из них SQL ServerSQL Server использует значения по умолчанию.When you execute without the optional parameters, SQL ServerSQL Server uses default values for many of these parameters.
-
В окне редактора запросов введите, но не выполняйте, следующий код:In a Query Editor window, type but do not execute the following code:
-
С помощью указателя выделите слова и нажмите клавишу F1.Use the pointer to select the words , and then press F1. Должен открыться раздел электронной документации на Microsoft SQL Server.The topic in SQL Server Books Online should open. Таким же способом можно найти полный синтаксис инструкции и других инструкций, используемых в данном учебнике.You can use this technique to find the complete syntax for and for the other statements that are used in this tutorial.
-
В редакторе запросов нажмите клавишу F5 , чтобы выполнить инструкцию и создать базу данных с именем .In Query Editor, press F5 to execute the statement and create a database named .
При создании базы данных сервер SQL ServerSQL Server создает копию базы данных model и присваивает ей указанное имя базы данных.When you create a database, SQL ServerSQL Server makes a copy of the model database, and renames the copy to the database name. Эта операция обычно занимает несколько секунд, если только с помощью дополнительного параметра не указан большой исходный размер базы данных.This operation should only take several seconds, unless you specify a large initial size of the database as an optional parameter.
Примечание
Когда в одном пакете представлено несколько инструкций, они разделяются с помощью ключевого слова GO.The keyword GO separates statements when more than one statement is submitted in a single batch. Ключевое слово GO является необязательным, если в пакете содержится только одна инструкция.GO is optional when the batch contains only one statement.
Management tools
Feature | Enterprise | Standard | Web | Express with Advanced Services | Express |
---|---|---|---|---|---|
SQL Management Objects (SMO) | Yes | Yes | Yes | Yes | Yes |
SQL Assessment API | Yes | Yes | Yes | Yes | Yes |
SQL Vulnerability Assessment | Yes | Yes | Yes | Yes | Yes |
SQL Configuration Manager | Yes | Yes | Yes | Yes | Yes |
SQL CMD (Command Prompt tool) | Yes | Yes | Yes | Yes | Yes |
Distributed Replay — Admin Tool | Yes | Yes | Yes | Yes | No |
Distribute Replay — Client | Yes | Yes | Yes | No | No |
Distributed Replay — Controller | Yes1 | Yes2 | Yes2 | No | No |
SQL Profiler | Yes | Yes | No3 | No3 | No3 |
SQL Server Agent | Yes | Yes | Yes | No | No |
Microsoft System Center Operations Manager Management Pack | Yes | Yes | Yes | No | No |
Database Tuning Advisor (DTA) | Yes | Yes4 | Yes4 | No | No |
1 Up to 16 clients
2 1 client
3 SQL Server Web, SQL Server Express, SQL Server Express with Tools, and SQL Server Express with Advanced Services can be profiled using SQL Server Standard and SQL Server Enterprise editions.
4 Tuning enabled only on Standard edition features
Виды СУБД
Базы данных различаются между собой тем, как внутри них связаны данные. Соответственно различаются и СУБД, которые эти БД поддерживают. Внутренние связи данных внутри БД называются моделями данных.
По поддержке баз данных различных моделей данных СУБД различаются на:
- Иерархические;
- Сетевые;
- Реляционные;
- Объектно-ориентированные;
- Объектно-реляционные.
Иерархические БД – это деревья данных, где каждый вышерасположенный объект имеет в подчинении несколько нижерасположенных. Доступ к данным осуществляется посредством движения по объектам сверху-вниз.
Сетевые отличаются от иерархических тем. Что каждый потомок в них может иметь несколько предков (множественное наследование).
Реляционные – безусловный лидер среди СУБД (93% всего рынка). Основаны на поддержке реляционных БД, то есть наборов таблиц и их отношений с возможность изменения обеих.
Объектно-ориентированные (ООСУБД) управляют абстрактными объектами, которые наделены свойствами и наделены методами для выполнения действий.
Объектно-реляционные (ОРСУБД) – реляционные СУБД, поддерживающие обьекты свойства и методы из объектно-ориентированной СУБД.
По способу доступа к БД:
- Файл серверные.
- Клиент-серверные;
- Встраиваемые.
В файл серверных базы данных располагаются на сервере, а СУБД на клиенте. В клиент – серверных базы данных и СУБД располагаются на сервере. Встраиваемые – мини СУБД, обычно встроенные внутри приложения.
По степени распределённой данных:
- Локальные: клиент и сервер – один компьютер;
- Распределенные – клиент и сервер разные компьютеры.
Разрешение дополнительных соединенийAuthorizing Additional Connections
Теперь, после подключения к SQL ServerSQL Server в качестве администратора, одной из первых задач будет обеспечить возможность подключения других пользователей.Now that you have connected to SQL ServerSQL Server as an administrator, one of your first tasks is to authorize other users to connect. Это делается посредством создания имени входа и предоставления ему разрешения на доступ к базе данных в качестве пользователя.You do this by creating a login and authorizing that login to access a database as a user. Имена входа могут быть или именами входа для проверки подлинности Windows, использующей учетные данные Windows, или именами входа для проверки подлинности SQL Server, который хранит учетные данные в SQL ServerSQL Server и не зависит от учетных данных Windows.Logins can be either Windows Authentication logins, which use credentials from Windows, or SQL Server Authentication logins, which store the authentication information in SQL ServerSQL Server and are independent of your Windows credentials. По возможности используйте проверку подлинности Windows.Use Windows Authentication whenever possible.
Совет
В большинстве организаций пользователи входят в домены, и используется проверка подлинности Windows.Most organizations have domain users and will use Windows Authentication. Вы можете поэкспериментировать самостоятельно, создав дополнительных локальных пользователей на своем компьютере.You can experiment on your own, by creating additional local users on your computer. Локальные пользователи будут проходить проверку подлинности на вашем компьютере, поэтому доменом является его имя.Local users will be authenticated by your computer, so the domain is the computer name. Например, если ваш компьютер имеет имя и вы создали пользователя с именем , то в Windows этот пользователь указывается как .For example if your computer is named and you create a user named , then the Windows description of the user is .
Создание имени входа для проверки подлинности WindowsCreate a Windows Authentication login
-
В предыдущей задаче было установлено соединение с компонентом Компонент Database EngineDatabase Engine с помощью среды Среда Management StudioManagement Studio.In the previous task, you connected to the Компонент Database EngineDatabase Engine using Среда Management StudioManagement Studio. В обозревателе объектов разверните экземпляр своего сервера, затем узел Безопасность , щелкните правой кнопкой мыши Имена входа и выберите пункт Создать имя входа.In Object Explorer, expand your server instance, expand Security , right-click Logins , and then click New Login. Откроется диалоговое окно Создание имени входа .The Login — New dialog box appears.
-
На странице Общие в поле Имя входа введите имя входа Windows в следующем формате: On the General page, in the Login name box, type a Windows login in the format:
В поле База данных по умолчанию выберите AdventureWorks2012AdventureWorks2012 , если она доступна.In the Default database box, select AdventureWorks2012AdventureWorks2012 if available. В противном случае выберите базу данных master.Otherwise select master.
На странице Роли сервера щелкните sysadmin , если новое имя входа принадлежит администратору, иначе оставьте пустым.On the Server Roles page, if the new login is to be an administrator, click sysadmin , otherwise leave this blank.
На странице Сопоставление пользователей выберите Схема для базы данных AdventureWorks2012AdventureWorks2012 , если она доступна.On the User Mapping page, select Map for the AdventureWorks2012AdventureWorks2012 database if it is available. В противном случае выберите базу данных master.Otherwise select master
Обратите внимание, что в поле Пользователь прописано имя входа.Note that the User box is populated with the login. После закрытия диалогового окна в базе данных будет создан пользователь.When closed, the dialog box will create this user in the database.
В поле Схема по умолчанию введите dbo , чтобы сопоставить имя входа со схемой владельца базы данных.In the Default Schema box, type dbo to map the login to the database owner schema.
Подтвердите настройки по умолчанию для полей Защищаемые объекты и Состояние , и нажмите кнопку ОК , чтобы создать имя входа.Accept the default settings for the Securables and Status boxes and click OK to create the login.
Важно!
Это базовые сведения, позволяющие начать работу.This is basic information to get you started. SQL ServerSQL Server предоставляет безопасную среду; безопасность безусловно важна при выполнении операций с базой данных.provides a rich security environment, and security is obviously an important aspect of database operations.
Используемые технологии
Database Engine
Компонент Database Engine представляет собой основную службу для хранения, обработки и обеспечения безопасности данных. Этот компонент обеспечивает управляемый доступ к ресурсам и быструю обработку транзакций, что позволяет использовать его даже в самых требовательных корпоративных приложениях обработки данных. Кроме того, компонент Database Engine предоставляет разносторонние средства поддержания высокого уровня доступности.
Службы Data Quality Services
Службы SQL Server Data Quality Services (DQS) являются решением для очистки данных на основе знаний. Службы DQS позволяют создать базу знаний, а затем выполнить в ней исправление данных и удаление дубликатов с помощью как автоматизированных, так и интерактивных средств. Можно использовать службы справочных данных на основе облачных вычислений, а также создавать решения по управлению данными, где службы DQS будут интегрированы со службами SQL Server Integration Services и Master Data Services.
Службы Analysis Services
Службы Analysis Services — это платформа аналитических данных и набор средств для бизнес-аналитики на личном уровне, уровне рабочей группы и организации. Серверный и клиентский конструкторы поддерживают стандартные решения OLAP, новые решения для создания табличных моделей, а также самостоятельную аналитику и совместную работу с помощью PowerPivot, Excel и среды SharePoint Server. Службы Службы Analysis Services также включают интеллектуальный анализ данных, который позволяет выявлять закономерности и связи на основе больших объемов данных.
Службы Integration Services
Службы Integration Services представляют собой платформу для создания высокопроизводительных решений по интеграции данных, в том числе пакетов для хранения данных, обеспечивающих извлечение, преобразование и загрузку данных.
Master Data Services
Master Data Services — это решение SQL Server для управления основными данными. Решение, построенное на основе Master Data Services, позволяет обеспечить правильность информации, используемой для построения отчетов и выполнения анализа. С помощью Master Data Services можно создать центральный репозиторий основных данных и поддерживать запись этих данных по мере их изменения, защищенную и доступную для аудита.
Репликация
Репликация представляет собой набор технологий копирования и распространения данных и объектов баз данных между базами данных, а также синхронизации баз данных для поддержания согласованности. Благодаря репликации данные можно размещать в различных местах, обеспечивая возможность доступа к ним удаленных и мобильных пользователей по локальным или глобальным сетям, посредством коммутируемых и беспроводных соединений, а также через Интернет.
Службы Reporting Services
Службы Reporting Services предлагают средства создания корпоративных отчетов с поддержкой веб-интерфейса, которые позволяют включать в отчеты данные из различных источников, публиковать отчеты в разнообразных форматах, а также централизованно управлять безопасностью и подписками.
RemarksRemarks
Результаты функции @@VERSION представлены как одна строка типа nvarchar.The @@VERSION results are presented as one nvarchar string. Для получения значений отдельных свойств можно использовать функцию SERVERPROPERTY (Transact-SQL).You can use the SERVERPROPERTY (Transact-SQL) function to retrieve the individual property values.
Для SQL ServerSQL Server возвращаются следующие сведения.For SQL ServerSQL Server, the following information is returned.
-
SQL ServerSQL Server versionversion
-
Архитектура процессораProcessor architecture
-
Дата сборки SQL ServerSQL ServerSQL ServerSQL Server build date
-
Заявление об авторских правахCopyright statement
-
SQL ServerSQL Server editionedition
-
Версия операционной системыOperating system version
Для База данных SQL AzureAzure SQL Database возвращаются следующие сведения.For База данных SQL AzureAzure SQL Database, the following information is returned.
-
Выпуск — «Microsoft SQL Azure»Edition- «Microsoft SQL Azure»
-
Уровень продукта — «(RTM)»Product level- «(RTM)»
-
Версия продуктаProduct version
-
Дата сборкиBuild date
-
Заявление об авторских правахCopyright statement
Примечание
Нам известно о проблеме, когда @@VERSION сообщает о неправильной версии продукта для базы данных SQL Azure.We are aware of an issue where the product version reported by @@VERSION is incorrect for Azure SQL Database. Версия ядра базы данных SQL Server, выполняющаяся в базе данных SQL Azure, всегда выше локальной версии SQL Server и содержит последние исправления безопасности.The version of the SQL Server database engine run by Azure SQL Database is always ahead of the on-premises version of SQL Server, and includes the latest security fixes. Это означает, что уровень исправления всегда совпадает с локальной версией SQL Server или выше ее, и что последние функции, доступные в SQL Server, также доступны в базе данных SQL Azure.This means that the patch level is always on par with or ahead of the on-premises version of SQL Server, and that the latest features available in SQL Server are available in Azure SQL Database.
Чтобы определить выпуск ядра базы данных программным способом, используйте SELECT SERVERPROPERTY(‘EngineEdition’).To programmatically determine the engine edition, use SELECT SERVERPROPERTY(‘EngineEdition’). Этот запрос вернет значение 5 для Базы данных SQL Azure и значение 8 для Управляемого экземпляра SQL Azure.This query will return ‘5’ for Azure SQL Database and ‘8’ for Azure SQL Managed Instance.
После решения этой проблемы документация будет обновлена.We will update the documentation once this issue is resolved.
Аргументы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.
Классы модели объектов SMOSMO Classes
Классы модели объектов SMO подразделяются на две категории: классы экземпляров и служебные классы.SMO classes include two categories: instance classes and utility classes.
Классы экземпляровInstance Classes
Классы экземпляров представляют объекты SQL ServerSQL Server , такие как серверы, базы данных, таблицы, триггеры и хранимые процедуры.The instance classes represent SQL ServerSQL Server objects such as servers, databases, tables, triggers, and stored procedures. Класс ServerConnection используется для установления соединения с экземпляром SQL ServerSQL Server и для управления режимом сбора направляемых ему команд.The ServerConnection class is used to establish a connection to the instance of SQL ServerSQL Server and control the capture mode of commands sent to it.
Объекты экземпляра модели SMO образуют иерархию, которая представляет иерархию сервера баз данных.The SMO instance objects form a hierarchy that represents the hierarchy of a database server. Вверху размещаются экземпляры SQL ServerSQL Server, под ними располагаются базы данных, а далее — таблицы, столбцы, триггеры и т. д.At the top are the instances of SQL ServerSQL Server, under which are the databases, and following on with tables, columns, triggers and so on. Если логика допускает возможность существования связи «один родитель ко многим потомкам», например в таблице с одним или несколькими столбцами, тогда потомок представляется коллекцией объектов.If it is logical that there is a one parent to many children relationship, such as a table having one or more columns, then the child is represented by a collection of objects. В других случаях потомок представляется одним объектом.Otherwise the child is just represented by an object.
Служебные классыUtility Classes
Служебные классы — это группа объектов, созданных явным образом для выполнения конкретных задач.Utilities classes are a group of objects that have been created explicitly to perform specific tasks. В соответствии со своими функциями они разделяются на различные иерархии объектов.They have been divided into different object hierarchies based on function:
-
Класс Transfer.Transfer class. Используется для передачи другой базе данных схемы и данных.This is used to transfer schema and data to another database.
-
Классы Backup и Restore.Backup and Restore classes. Используются для создания резервной копии и восстановления баз данных.These are used to back up and restore databases.
-
Класс Scripter.Scripter Class. Используется для формирования файлов скриптов, предназначенных для повторного создания объектов и их зависимостей.This is used to create script files for the regeneration of objects and their dependencies.
Рекомендуемые средстваRecommended tools
Следующие средства предоставляют графический пользовательский интерфейс (GUI).The following tools provide a graphical user interface (GUI).
ИнструментTool | DescriptionDescription | Операционная системаOperating system |
---|---|---|
Azure Data StudioAzure Data Studio | Простой редактор, с помощью которого можно выполнять SQL-запросы по требованию, а затем анализировать и сохранять результаты в виде текста, а также в форматах JSON или Excel.A light-weight editor that can run on-demand SQL queries, view and save results as text, JSON, or Excel. Редактируйте данные, упорядочивайте избранные подключения к базам данных и просматривайте объекты базы данных в знакомом интерфейсе.Edit data, organize your favorite database connections, and browse database objects in a familiar object browsing experience. | WindowsmacOSLinuxWindowsmacOSLinux |
SQL Server Management Studio (SSMS) SQL Server Management Studio (SSMS) | Управление экземпляром SQL Server или базой данных с полной поддержкой GUI.Manage a SQL Server instance or database with full GUI support. Возможности доступа, настройки, администрирования и разработки всех компонентов SQL Server, Базы данных SQL Azure и Azure Synapse Analytics, а также управления ими.Access, configure, manage, administer, and develop all components of SQL Server, Azure SQL Database, and Azure Synapse Analytics. Среда SSMS предоставляет единую полнофункциональную служебную программу, которая сочетает в себе обширную группу графических инструментов с рядом отличных редакторов сценариев для доступа к SQL для разработчиков и администраторов баз данных всех профессиональных уровней.Provides a single comprehensive utility that combines a broad group of graphical tools with a number of rich script editors to provide access to SQL for developers and database administrators of all skill levels. | WindowsWindows |
SQL Server Data Tools (SSDT) SQL Server Data Tools (SSDT) | Это современное средство разработки, позволяющее создавать реляционные базы данных SQL Server, базы данных SQL Azure, модели данных Analysis Services (AS), пакеты Integration Services (IS) и отчеты Reporting Services (RS).A modern development tool for building SQL Server relational databases, Azure SQL databases, Analysis Services (AS) data models, Integration Services (IS) packages, and Reporting Services (RS) reports. С помощью SSDT вы можете проектировать и развертывать любые типы содержимого SQL Server так же просто, как разрабатывать приложения в Visual Studio .With SSDT, you can design and deploy any SQL Server content type with the same ease as you would develop an application in Visual Studio. | WindowsWindows |
Visual Studio CodeVisual Studio Code | Расширение mssql для Visual Studio Code — это официальное расширение SQL Server, которое поддерживает подключения к SQL Server и расширенные возможности редактирования для T-SQL в Visual Studio Code.The mssql extension for Visual Studio Code is the official SQL Server extension that supports connections to SQL Server and rich editing experience for T-SQL in Visual Studio Code. Написание скриптов T-SQL в упрощенном редакторе.Write T-SQL scripts in a light-weight editor. | WindowsmacOSLinuxWindowsmacOSLinux |
История
Исходный код MS SQL Server (до версии 7.0) основывался на коде Sybase SQL Server, и это позволило Microsoft выйти на рынок баз данных для предприятий, где конкурировали Oracle, IBM, и, позже, сама Sybase. Microsoft, Sybase и Ashton-Tate первоначально объединились для создания и выпуска на рынок первой версии программы, получившей название SQL Server 1.0 для OS/2 (около 1989 года), которая фактически была эквивалентом Sybase SQL Server 3.0 для Unix, VMS и др. Microsoft SQL Server 4.2 был выпущен в 1992 году и входил в состав операционной системы Microsoft OS/2 версии 1.3. Официальный релиз Microsoft SQL Server версии 4.21 для ОС Windows NT состоялся одновременно с релизом самой Windows NT (версии 3.1). Microsoft SQL Server 6.0 был первой версией SQL Server, созданной исключительно для архитектуры NT и без участия в процессе разработки Sybase.
К тому времени, как вышла на рынок ОС Windows NT, Sybase и Microsoft разошлись и следовали собственным моделям программного продукта и маркетинговым схемам. Microsoft добивалась исключительных прав на все версии SQL Server для Windows. Позже Sybase изменила название своего продукта на Adaptive Server Enterprise во избежание путаницы с Microsoft SQL Server. До 1994 года Microsoft получила от Sybase три уведомления об авторских правах как намёк на происхождение Microsoft SQL Server.
После разделения компании сделали несколько самостоятельных релизов программ. SQL Server 7.0 был первым сервером баз данных с настоящим пользовательским графическим интерфейсом администрирования. Для устранения претензий со стороны Sybase в нарушении авторских прав, весь наследуемый код в седьмой версии был переписан.
Версия SQL Server 2005 — была представлена в ноябре 2005 года. Запуск версии происходил параллельно запуску Visual Studio 2005. Существует также «урезанная» версия Microsoft SQL Server — Microsoft SQL Server Express; она доступна для скачивания и может бесплатно распространяться вместе с использующим её программным обеспечением.
С момента выпуска предыдущей версии SQL Server (SQL Server 2000) было осуществлено развитие интегрированной среды разработки и ряда дополнительных подсистем, входящих в состав SQL Server 2005. Изменения коснулись реализации технологии ETL (извлечение, преобразование и загрузка данных), входящей в состав компонента SQL Server Integration Services (SSIS), сервера оповещения, средств аналитической обработки многомерных моделей данных (OLAP) и сбора релевантной информации (обе службы входят в состав Microsoft Analysis Services), а также нескольких служб сообщений, а именно Service Broker и Notification Services. Помимо этого, были произведены улучшения в производительности.
7 августа 2008 года компания Microsoft объявила о выходе новой версии СУБД SQL Server 2008. Именно с этого момента английская версия SQL Server 2008 стала доступна пользователям по различным программам корпоративного лицензирования, таким как Microsoft Enterprise Agreement, Microsoft Enterprise Agreement Subscription, Microsoft Open Value, Microsoft Open Value Subscription, Microsoft Open License.
21 апреля 2010 года корпорация Microsoft объявила о выпуске финальной версии SQL Server 2008 R2.
Версии
Версия | Год | Название | Кодовое имя |
---|---|---|---|
1.0 (OS/2) | 1989 | SQL Server 1.0 (16 bit) | Ashton-Tate / MS SQL Server |
1.1 (OS/2) | 1991 | SQL Server 1.1 (16 bit) | — |
WinNT | 1993 | SQL Server 4.21 | SQLNT |
6.0 | 1995 | SQL Server 6.0 | SQL95 |
6.5 | 1996 | SQL Server 6.5 | Hydra |
7.0 | 1998 | SQL Server 7.0 | Sphinx |
— | 1999 | SQL Server 7.0 OLAP Tools | Palato mania |
8.0 | 2000 | SQL Server 2000 | Shiloh |
8.0 | 2003 | SQL Server 2000 64-bit | Liberty |
9.0 | 2005 | SQL Server 2005 | Yukon |
10.0 | 2008 | SQL Server 2008 | Katmai |
10.25 | 2010 | Azure SQL DB | Cloud Database or CloudDB |
10.50 | 2010 | SQL Server 2008 R2 | Kilimanjaro (aka KJ) |
11.0 | 2012 | SQL Server 2012 | Denali |
12.0 | 2014 | SQL Server In-Memory OLTP | Hekaton |
14 | 2016 | SQL Server 2016 |
Работа с данными
Основной способ извлечения данных из базы данных SQL Server — это запрос. Запрос выражается с помощью варианта SQL под названием T-SQL. Запрос декларативно указывает, что должно быть получено. Он обрабатывается процессором запроса, который выясняет последовательность шагов, которые будут необходимы для получения требуемых данных. Последовательность действий, необходимых для выполнения запроса, называется планом запроса. Там может быть несколько способов обработки одного и того же запроса. Например, для запроса, который содержит оператор выбора и оператор join, вначале выполняется join обеих таблиц а затем выбор, или наоборот. В таком случае, SQL Server выбирает план, который, как ожидается, быстрее. Оптимизация запросов выполняется непосредственно в процессоре запроса.