База sql – Основы SQL на примере задачи / Habr

Содержание

Что такое SQL. Назначение и основа | Info-Comp.ru

Всем привет! Сегодня я максимально просто, специально для начинающих, попытаюсь рассказать Вам о том, что такое SQL, и для чего он нужен. Из данного материала Вы также узнаете, что такое база данных и система управления базами данных, а также что такое диалект языка SQL, ведь вся статья будет построена на том, чтобы плавно подвести Вас к пониманию того, что же такое SQL.

Я думаю, Вы уже представляете себе, что SQL — это некий язык, связанный с какими-то там базами данных, однако для того, чтобы лучше понимать, что же такое SQL, необходимо понять, для чего нужен SQL, для чего нужен этот язык, т.е. его назначение.

Поэтому сначала я дам Вам немного вводной информации, из которой будет ясно назначение языка SQL, и для чего он вообще нужен.

Что такое база данных

И начну я с того, что под базой данных обычно принято понимать любой набор информации, которая хранится определенным образом, и ей можно воспользоваться. Но если говорить о каких-то автоматизированных базах данных, то здесь, конечно же, речь идет о так называемых реляционных базах данных.

Реляционная база данных – это упорядоченная информация, связанная между собой определёнными отношениями. Представлена она в виде таблиц, в которых и лежит вся эта информация. И это очень важно, так как теперь Вы должны представлять себе современную базу данных просто в виде таблиц (если говорить в контексте SQL), т.е. в общем смысле база данных – это набор таблиц. Безусловно, это сильно упрощенное определение, но оно дает некое практическое понимание базы данных.

Что такое SQL

За счет того, что информация в базе данных упорядочена, разделена на определённые сущности и представлена в виде таблиц, к ней легко обратиться и найти нужную нам информацию.

И тут возникает главный вопрос: а как к ней обратиться и получить необходимую нам информацию?

Для этого должен быть специальный инструмент, и здесь к нам на помощь как раз и приходит SQL, который является тем инструментом, с помощью которого происходит манипулирование данными (создание, извлечение, удаление и т.д.) в базе данных.

SQL (Structured Query Language) —  язык структурированных запросов, с помощью него пишутся специальные запросы (так называемые SQL инструкции) к базе данных с целью получения данных из базы данных или для манипулирования этими данными.

Также обязательно стоит отметить и то, что база данных, и в частности реляционная модель, основана на теории множеств, которая подразумевает объединение разных объектов в одно целое, под одним целым в базе данных как раз и имеется в виду таблица. Это важно, так как язык SQL работает именно со множеством, с набором данных, т.е. с таблицами.

Полезные материалы по теме:

Что такое СУБД

У Вас может возникнуть вопрос, если база данных это некая информация, которая хранится в таблицах, то как она выглядит физически? Как на нее посмотреть в целом?

Если очень коротко, то это просто файл, созданный в специальном формате, именно так и выглядит база данных (

в большинстве случаев БД включает несколько файлов, но сейчас на этом уровне это не так важно).

Идем дальше, если база данных это файл в специальном формате, то как его создать или открыть? И тут возникает сложность, ведь просто так, без каких-либо инструментов создать такой файл, т.е. реляционную базу данных, нельзя, для этого нужен специальный инструмент, который мог бы создавать и управлять базой данных, иными словами, работать с этими файлами.

Таким инструментом как раз и выступает СУБД – это система управления базами данных, сокращенно СУБД.

Какие СУБД бывают

На самом деле, существует достаточно много различных СУБД, некоторые из них платные и стоят немалых денег, если говорить о полнофункциональных версиях, но даже у самых, так скажем, «крутых» есть бесплатные редакции, которые, кстати, отлично подходят для обучения.

Среди всех по своим возможностям и популярности можно выделить следующие системы:

  • Microsoft SQL Server – это система управления базами данных от компании Microsoft. Она очень популярна в корпоративном секторе, особенно в крупных компаниях. И это не просто СУБД – это целый комплекс приложений, позволяющий хранить и модифицировать данные, анализировать их, осуществлять безопасность этих данных и многое другое;
  • Oracle Database – это система управления базами данных от компании Oracle. Это также очень популярная СУБД, и также среди крупных компаний. По своим возможностям и функциональности Oracle Database и Microsoft SQL Server сопоставимы, поэтому являются серьезными конкурентами друг другу, и стоимость их полнофункциональных версий очень высока;
  • MySQL – это система управления базами данных также от компании Oracle, но только она распространяется бесплатно. MySQL получила очень широкую популярность в интернет сегменте, т.е. именно на MySQL работают чуть ли не все сайты в интернете, иными словами, большинство сайтов в интернете используют эту СУБД как средство хранения данных;
  • PostgreSQL – эта система управления базами данных также является бесплатной, и она очень популярна и функциональна.

Полезные материалы по теме:

Диалекты языка SQL (расширения SQL)

Язык SQL – это стандарт, он реализован во всех реляционных базах данных, но у каждой СУБД есть расширение этого стандарта, есть собственный язык работы с данными, его обычно называют диалектом SQL, который, конечно же, основан на SQL, но предоставляет больше возможностей для полноценного программирования, кроме того, такой внутренний язык дает возможность получать системную информацию и упрощать SQL запросы.

Вот некоторые диалекты языка SQL:

  • Transact-SQL (сокращенно T-SQL) – используется в Microsoft SQL Server;
  • PL/SQL
    (Procedural Language / Structured Query Language) – используется в Oracle Database;
  • PL/pgSQL (Procedural Language/PostGres Structured Query Language) – используется в PostgreSQL.

Таким образом, от СУБД зависит, на каком расширении Вы будете писать SQL инструкции. Если говорить о простых SQL запросах, например,

  
  SELECT ProductId, ProductName
  FROM Goods


то, безусловно, во всех СУБД такие запросы работать будут, ведь SQL — это стандарт.

Примечание! Это простой SQL запрос на выборку данных из одной таблицы, выводятся два столбца.

Однако если Вы собираетесь программировать, использовать все внутренние возможности СУБД (

разрабатывать процедуры, использовать встроенные функции, получать системную информацию и т.д.), то Вам необходимо изучать конкретный диалект SQL и практиковаться соответственно в той СУБД, в которой используется этот диалект. Это важно, ведь синтаксис многих конструкций различается так же, как различаются возможности и многое другое. И если, допустим, Вы запустите SQL инструкцию, в которой использованы возможности определенного расширения SQL, на другой СУБД, то такая инструкция, конечно же, не выполнится.

Например, лично я специализируюсь на языке T-SQL, и соответственно, работаю с Microsoft SQL Server, вот уже более 8 лет!

Хотя, конечно же, с другими СУБД я также работал, одно время я сопровождал два приложения, одно из которых работало с PostgreSQL, ну а второе, наверное, уже понятно, с Microsoft SQL Server.

С MySQL я работал, как, наверное, и многие, в рамках сопровождения сайтов и сервисов. Ну а с Oracle Database мне приходилось работать в рамках других проектов.

Весь свой накопленный опыт в части языка T-SQL я сгруппировал в одном месте и оформил в виде книг, поэтому, если у Вас есть желание изучить язык Transact-SQL (T-SQL), рекомендую почитать мои книги:

  • Путь программиста T-SQL – самоучитель по языку Transact-SQL для начинающих. В ней я подробно рассказываю обо всех конструкциях языка и последовательно перехожу от простого к сложному. Подходит для комплексного изучения языка T-SQL;
  • Стиль программирования на T-SQL – основы правильного написания кода. Книга, направленная на повышение качества T-SQL кода (для тех, кто уже знаком с языком T-SQL, т.е. знает хотя бы основы).

Надеюсь, теперь Вы понимаете, что такое SQL, и для чего он нужен, в следующих материалах я расскажу, как создавать SQL запросы, расскажу какие инструменты для этого необходимо использовать и для каких СУБД, так как у каждой СУБД есть свои инструменты, поэтому следите за выходом новых статей в моих группах в социальных сетях: ВКонтакте, Facebook, Одноклассники, Twitter и Tumblr. Подписывайтесь, и Вы не пропустите выход нового материала!

А на сегодня это все, удачи Вам, пока!

info-comp.ru

Что такое База данных? Что такое SQL и MySQL?


Что такое База данных?


Многие, начав изучать мир Web, ещё понятия не представляют, что такое База Данных. Но почти все пользователи Интернета уже хоть раз использовали её — сохранение пользовательских данных на сайте, обработка поисковых запросов и многое другое. Большинство данных сохраняется именно в Базе Данных, а для того, чтобы отобразить определённую информацию обрабатывает запрос для БД. Так что же это такое?

База данных — комплекс данных (информации), которые структурированы и взаимосвязаны между собой.

В качестве примера можно привести библиотеку. Да-да, там не просто стоят книжки на полках, а существуют различные виды Каталогов, по которым библиотекарь может найти определённую книги (по алфавиту — автору или названию, по стеллажу, по тематике). Таким образом, приняв запрос на книгу, далее можно было её найти по определённому признаку. Можно сказать, что в библиотеке хранились и обрабатывались данные. Но данные не представляли ли бы такого интереса, если бы ими нельзя было ещё и управлять! Так мы приходим к следующему термину.

Система Управления Базами Данных — это совокупность языковых и программных средств, в основные функции которых входит возможность создания данных, их обработки и считывания, удаления и осуществления безопасного контроля БД.

В общем СУБД — это система, позволяющая создавать базы данных и манипулировать сведениями из них. А осуществляет этот доступ к данным СУБД посредством специального языка — SQL.

SQL — универсальный язык структурированных запросов, в основные задачи которого входит осуществление считывания, записи и удаления информации в Базе Данных.

Из истории SQL


В начале 1970-х годов в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language — «структурированный английский язык запросов». Позже по юридическим соображениям язык SEQUEL был переименован в SQL.

Датой создания считается 1974 год.
Авторами считаются Дональд Чэмбэрлин, Рэймонд Бойс.
Первый стандарт принят в 1986 году.

Что такое MySQL


MySQL — система управления базами данных, которая может работать с PHP, Java, Perl, C, C++ и другими языками программирвоания. Одна из самых распространённых СУБД в мире. Входит в популярные портативные сборки серверов Denwer и XAMPP, а также в серверы WAMP, LAMP, AppServ. Написана на C, C++. разработчик — Oracle (c 2010 года).

Примеры SQL запросов


Выведет список ВСЕХ баз.
SHOW databases;

Выведет список ВСЕХ таблиц в Базе Данных base_name.
SHOW tables in base_name;

Выбирает ВСЕ данные в таблице tbl_name.
SELECT * FROM tbl_name;

Более подробно с запросами можно ознакомиться в статье Примеры SQL запросов.

tradebenefit.ru

Серверы | Microsoft Docs

  • Время чтения: 10 мин

В этой статье

Что являет собою сервер Базы данных SQL Azure?What is an Azure SQL Database server

Сервер базы данных SQL — это логическая конструкция, которая выступает в качестве точки центра администрирования нескольких отдельных баз данных или баз данных в составе пула, имен для входа, правил брандмауэра, правил аудита, политик обнаружения угроз и групп отработки отказа. Он может не располагаться в том же регионе, что и группа ресурсов.A SQL Database server is a logical construct that acts as a central administrative point for multiple single or pooled databases, logins, firewall rules, auditing rules, threat detection policies, and failover groups A SQL Database server can be in a different region than its resource group. Сервер Базы данных SQL должен существовать еще до создания базы данных SQL Azure.The SQL Database server must exist before you can create the Azure SQL database. Все базы данных, управляемые сервером Базы данных SQL, создаются в том же регионе, что и сервер.All databases managed by a SQL Database server are created within the same region as the SQL Database server.

Сервер Базы данных SQL отличается от экземпляра SQL Server, с которым вы могли работать в локальной среде.A SQL Database server is distinct from a SQL Server instance that you may be familiar with in the on-premises world. В частности, служба Базы данных SQL не дает никаких гарантий, связанных с расположением баз данных относительно сервера, который управляет ими, а также не предоставляет доступ или возможности на уровне экземпляра.Specifically, the SQL Database service makes no guarantees regarding location of the databases in relation to the SQL Database server that manages them, and exposes no instance-level access or features. В противоположность этому базы данных экземпляра в управляемом экземпляре размещены совместно таким же образом, что и SQL Server в локальной среде.In contrast, the instance databases in a managed instance are all co-located — in the same way that you are familiar with SQL Server in the on-premises world.

При создании сервера Базы данных SQL следует указать учетные данные и пароль входа на сервер, имеющие права администратора для базы данных master на этом сервере и всех баз данных, созданных на этом сервере.When you create a SQL Database server, you provide a server login account and password that has administrative rights to the master database on that server and all databases created on that server. Эта начальная учетная запись является учетной записью входа SQL.This initial account is a SQL login account. База данных SQL Azure поддерживает аутентификацию SQL и аутентификацию Azure Active Directory.Azure SQL Database supports SQL authentication and Azure Active Directory Authentication for authentication. Дополнительную информацию об именах для входа и аутентификации можно найти в разделе Предоставление доступа к базе данных SQL Azure и управление им.For information about logins and authentication, see Managing Databases and Logins in Azure SQL Database. Проверка подлинности Windows не поддерживается.Windows Authentication is not supported.

Сервер Базы данных SQL.A SQL Database server:

  • Создается в рамках подписки Azure, но сам логический сервер и все его ресурсы можно переместить в другую подписку.Is created within an Azure subscription, but can be moved with its contained resources to another subscription
  • Выступает в качестве родительского ресурса для баз данных, эластичных пулов и хранилищ данных.Is the parent resource for databases, elastic pools, and data warehouses
  • Предоставляет пространство имен для баз данных, эластичных пулов и хранилищ данных.Provides a namespace for databases, elastic pools, and data warehouses
  • Представляет собой логический контейнер со строгой семантикой времени существования (при удалении сервера удаляются также все расположенные на нем базы данных, эластичные пулы и хранилища данных).Is a logical container with strong lifetime semantics — delete a server and it deletes the contained databases, elastic pools, and data warehouses
  • Участвует в управлении доступом на основе ролей Azure (базы данных, эластичные пулы и хранилища данных, содержащиеся на сервере, наследуют его права доступа).Participates in Azure role-based access control (RBAC) — databases, elastic pools, and data warehouses within a server inherit access rights from the server
  • Выступает в качестве элемента высокого приоритета при идентификации баз данных, эластичных пулов и хранилищ данных для управления ресурсами Azure (см. схему URL-адресов для баз данных и пулов).Is a high-order element of the identity of databases, elastic pools, and data warehouses for Azure resource management purposes (see the URL scheme for databases and pools)
  • Выравнивает ресурсы в регионе.Collocates resources in a region
  • Предоставляет конечную точку подключения к базе данных (<serverName>.database.windows.net).Provides a connection endpoint for database access (<serverName>.database.windows.net)
  • Предоставляет доступ к метаданным ресурсов через динамические административные представления путем подключения к базе данных master.Provides access to metadata regarding contained resources via DMVs by connecting to a master database
  • Обеспечивает область для политик управления, применяемых к базам данных: имена для входа, брандмауэр, аудит, обнаружение угроз и т. д.Provides the scope for management policies that apply to its databases — logins, firewall, audit, threat detection, and such
  • Ограничен квотой в рамках родительской подписки (по умолчанию шесть серверов на подписку). Ограничения подписки см. здесь.Is restricted by a quota within the parent subscription (six servers per subscription by default — see Subscription limits here)
  • Обеспечивает область для квоты базы данных и квоты DTU или виртуальных ядер для ресурсов, содержащихся на нем (например, 45 000 DTU).Provides the scope for database quota and DTU or vCore quota for the resources it contains (such as 45,000 DTU)
  • Выступает в качестве области управления версиями для компонентов, включенных для его ресурсов.Is the versioning scope for capabilities enabled on contained resources
  • За счет возможностей входа в систему с использованием субъекта серверного уровня может управлять всеми базами данных на сервере.Server-level principal logins can manage all databases on a server
  • Может содержать имена входов, подобные именам входов экземпляров SQL Server в локальной среде с доступом к одной или нескольким базам данных на сервере. Можно предоставлять ограниченные права администратора.Can contain logins similar to those in instances of SQL Server on your premises that are granted access to one or more databases on the server, and can be granted limited administrative rights. Дополнительные сведения см. в статье Проверка подлинности и авторизация в базе данных SQL: предоставление доступа.For more information, see Logins.
  • Параметры сортировки по умолчанию для всех баз данных, созданных на сервере Базы данных SQL, имеют значение SQL_LATIN1_GENERAL_CP1_CI_AS, где LATIN1_GENERAL означает английский язык (США) CP1 — кодовую страницу 1252, CI означает, что учитывается регистр, а AS — что учитываются диакритические знаки.The default collation for all databases created on a SQL Database server is SQL_LATIN1_GENERAL_CP1_CI_AS, where LATIN1_GENERAL is English (United States), CP1 is code page 1252, CI is case-insensitive, and AS is accent-sensitive.

Управление серверами SQL Azure, базами данных и брандмауэрами с помощью портала AzureManage Azure SQL servers, databases, and firewalls using the Azure portal

Группу ресурсов базы данных SQL Azure можно создать заблаговременно или при создании самого сервера.You can create the Azure SQL database’s resource group ahead of time or while creating the server itself. Существует несколько методов перехода к форме создания сервера SQL Server. Можно создать сервер SQL Server отдельно или при создании базы данных.There are multiple methods for getting to a new SQL server form, either by creating a new SQL server or as part of creating a new database.

Создание пустого сервера Базы данных SQLCreate a blank SQL Database server

Чтобы создать сервер Базы данных SQL Azure (без базы данных) с помощью портала Azure, перейдите к пустой форме «SQL Server (логический сервер)».To create an Azure SQL Database server (without a database) using the Azure portal, navigate to a blank SQL server (logical server) form.

Создание пустой базы данных SQL или примера базы данных SQLCreate a blank or sample SQL database

Чтобы создать базу данных SQL Azure с помощью портала Azure, перейдите к пустой форме «База данных SQL» и введите необходимую информацию.To create an Azure SQL database using the Azure portal, navigate to a blank SQL Database form and provide the requested information. Группу ресурсов базы данных SQL Azure и сервер Базы данных SQL можно создать заблаговременно или при создании самой базы данных.You can create the Azure SQL database’s resource group and SQL Database server ahead of time or while creating the database itself. Можно создать пустую базу данных или пример базы данных на основе Adventure Works LT.You can create a blank database or create a sample database based on Adventure Works LT.

Чтобы создать управляемый экземпляр, см. статью Краткое руководство. Создание Управляемого экземпляра Базы данных SQL Azure.To create a managed instance, see Create a managed instance

Управление существующим сервером SQL ServerManage an existing SQL server

Для управления существующим сервером перейдите к нему, воспользовавшись одним из множества способов. Например, это можно сделать со страницы определенной базы данных SQL, страницы Серверы SQL Server или страницы Все ресурсы.To manage an existing server, navigate to the server using a number of methods — such as from specific SQL database page, the SQL servers page, or the All resources page.

Для управления существующей базой данных перейдите на страницу Базы данных SQL и щелкните нужную базу данных.To manage an existing database, navigate to the SQL databases page and click the database you wish to manage. На следующем снимке экрана показано, как можно начать настройку брандмауэра уровня сервера для базы данных на странице Обзор для базы данных.The following screenshot shows how to begin setting a server-level firewall for a database from the Overview page for a database.

Управление серверами SQL Azure, базами данных и брандмауэрами с помощью PowerShellManage Azure SQL servers, databases, and firewalls using PowerShell

Примечание

Эта статья была изменена и теперь содержит сведения о новом модуле Az для Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Вы по-прежнему можете использовать модуль AzureRM, исправления ошибок для которого будут продолжать выпускаться как минимум до декабря 2020 г.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Дополнительные сведения о совместимости модуля Az с AzureRM см. в статье Introducing the new Azure PowerShell Az module (Знакомство с новым модулем Az для Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Инструкции по установке модуля Az см. в статье об установке Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Важно!

Модуль PowerShell Azure Resource Manager по-прежнему поддерживается базой данных SQL Azure, но вся будущая разработка предназначена для модуля AZ. SQL.The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. Эти командлеты см. в разделе AzureRM. SQL.For these cmdlets, see AzureRM.Sql. Аргументы для команд в модуле AZ и в модулях AzureRm существенно идентичны.The arguments for the commands in the Az module and in the AzureRm modules are substantially identical.

Для создания сервера Azure SQL, баз данных и брандмауэров и управления ими с помощью Azure PowerShell используйте приведенные ниже командлеты PowerShell.To create and manage Azure SQL server, databases, and firewalls with Azure PowerShell, use the following PowerShell cmdlets. Если вам нужно выполнить установку или обновление PowerShell, см. статью об установке модуля Azure PowerShell.If you need to install or upgrade PowerShell, see Install Azure PowerShell module. Изучите дополнительные сведения о создании эластичных пулов и управлении ими.For creating and managing elastic pools, see Elastic pools.

Управление серверами SQL Azure, базами данных и брандмауэрами с помощью Azure CLIManage Azure SQL servers, databases, and firewalls using the Azure CLI

Для создания сервера Azure SQL, баз данных и брандмауэров и управления ими с помощью Azure CLI используйте приведенные ниже команды Azure CLI для Базы данных SQL.To create and manage Azure SQL server, databases, and firewalls with the Azure CLI, use the following Azure CLI SQL Database commands. Запускайте интерфейс командной строки в браузере с помощью Cloud Shell либо установите его на платформе macOS, Linux или Windows.Use the Cloud Shell to run the CLI in your browser, or install it on macOS, Linux, or Windows. Изучите дополнительные сведения о создании эластичных пулов и управлении ими.For creating and managing elastic pools, see Elastic pools.

Управление серверами SQL Azure, базами данных и брандмауэрами с помощью Transact-SQLManage Azure SQL servers, databases, and firewalls using Transact-SQL

Для создания сервера Azure SQL, баз данных и брандмауэров и управления ими с помощью Transact-SQL используйте приведенные ниже команды T-SQL.To create and manage Azure SQL server, databases, and firewalls with Transact-SQL, use the following T-SQL commands. Можно выполнить эти команды на портале Azure, в SQL Server Management Studio, Visual Studio Code или любой другой программе, которая может подключаться к серверу Базы данных SQL Azure и передавать команды Transact-SQL.You can issue these commands using the Azure portal, SQL Server Management Studio, Visual Studio Code, or any other program that can connect to an Azure SQL Database server and pass Transact-SQL commands. Ознакомьтесь с дополнительными сведениями об управлении эластичными пулами.For managing elastic pools, see Elastic pools.

Важно!

С помощью Transact-SQL невозможно создать или удалить сервер.You cannot create or delete a server using Transact-SQL.

КомандаCommandDescription (Описание)Description
CREATE DATABASE (база данных SQL Azure)CREATE DATABASE (Azure SQL Database)Создает базу данных.Creates a new database. Для создания базы данных требуется подключение к базе данных master.You must be connected to the master database to create a new database.
ALTER DATABASE (база данных SQL Azure)ALTER DATABASE (Azure SQL Database)Изменяет базу данных SQL Azure.Modifies an Azure SQL database.
ALTER DATABASE (хранилище данных SQL Azure)ALTER DATABASE (Azure SQL Data Warehouse)Изменяет хранилище данных SQL Azure.Modifies an Azure SQL Data Warehouse.
DROP DATABASE (Transact-SQL)DROP DATABASE (Transact-SQL)Удаляет базу данных.Deletes a database.
sys.database_service_objectives (база данных SQL Azure)sys.database_service_objectives (Azure SQL Database)Возвращает сведения о выпуске (уровень служб), целевой службе (ценовую категорию), а также имя эластичного пула (при наличии) для базы данных SQL Azure или хранилища данных SQL Azure.Returns the edition (service tier), service objective (pricing tier), and elastic pool name, if any, for an Azure SQL database or an Azure SQL Data Warehouse. В системе базы данных master на сервере Базы данных SQL Azure возвращает сведения обо всех базах данных.If logged on to the master database in an Azure SQL Database server, returns information on all databases. Для использования хранилища данных SQL Azure необходимо подключиться к базе данных master.For Azure SQL Data Warehouse, you must be connected to the master database.
sys.dm_db_resource_stats (база данных SQL Azure)sys.dm_db_resource_stats (Azure SQL Database)Возвращает сведения об использовании ЦП, операциях ввода-вывода и потреблении памяти для базы данных в службе «База данных SQL Azure».Returns CPU, IO, and memory consumption for an Azure SQL Database database. Новая строка создается каждые 15 секунд, даже если в базе данных не выполняется никаких действий.One row exists for every 15 seconds, even if there is no activity in the database.
sys.resource_stats (база данных SQL Azure)sys.resource_stats (Azure SQL Database)Возвращает сведения об использовании ЦП и хранилища для базы данных SQL Azure.Returns CPU usage and storage data for an Azure SQL Database. Данные собираются и объединяются за пятиминутные интервалы.The data is collected and aggregated within five-minute intervals.
sys.database_connection_stats (база данных SQL Azure)sys.database_connection_stats (Azure SQL Database)Содержит статистику о событиях подключения к базе данных в базе данных SQL, предоставляя общие сведения об успешных и неудачных попытках подключения.Contains statistics for SQL Database database connectivity events, providing an overview of database connection successes and failures.
sys.event_log (база данных SQL Azure)sys.event_log (Azure SQL Database)Возвращает сведения об успешных подключениях к базе данных в Базе данных SQL Azure, а также о сбоях подключения и взаимоблокировках.Returns successful Azure SQL Database database connections, connection failures, and deadlocks. С помощью этой информации можно отслеживать действия с базой данных в базе данных SQL или устранять возникшие неполадки.You can use this information to track or troubleshoot your database activity with SQL Database.
sp_set_firewall_rule (база данных SQL Azure)sp_set_firewall_rule (Azure SQL Database)Создает или обновляет параметры брандмауэра уровня сервера для сервера Базы данных SQL.Creates or updates the server-level firewall settings for your SQL Database server. Эта хранимая процедура доступна только в базе данных master для имени для входа субъекта серверного уровня.This stored procedure is only available in the master database to the server-level principal login. Правило брандмауэра уровня сервера можно будет создать с помощью Transact-SQL только после того, как пользователь, имеющий разрешения уровня Azure, создаст первое правило брандмауэра уровня сервера.A server-level firewall rule can only be created using Transact-SQL after the first server-level firewall rule has been created by a user with Azure-level permissions
sys.firewall_rules (база данных SQL Azure)sys.firewall_rules (Azure SQL Database)Возвращает сведения о параметрах брандмауэра уровня сервера, связанных с Базой данных SQL Microsoft Azure.Returns information about the server-level firewall settings associated with your Microsoft Azure SQL Database.
sp_delete_firewall_rule (база данных SQL Azure)sp_delete_firewall_rule (Azure SQL Database)Удаляет параметры брандмауэра уровня сервера с сервера Базы данных SQL.Removes server-level firewall settings from your SQL Database server. Эта хранимая процедура доступна только в базе данных master для имени для входа субъекта серверного уровня.This stored procedure is only available in the master database to the server-level principal login.
sp_set_database_firewall_rule (база данных SQL Azure)sp_set_database_firewall_rule (Azure SQL Database)Создает или обновляет правила брандмауэра уровня базы данных для базы данных SQL Azure или хранилища данных SQL.Creates or updates the database-level firewall rules for your Azure SQL Database or SQL Data Warehouse. Можно настроить правила брандмауэра базы данных для базы данных master и пользовательских баз данных в Базе данных SQL.Database firewall rules can be configured for the master database, and for user databases on SQL Database. Правила брандмауэра базы данных полезны в тех случаях, когда применяются пользователи автономной базы данных.Database firewall rules are useful when using contained database users.
sys.database_firewall_rules (база данных SQL Azure)sys.database_firewall_rules (Azure SQL Database)Возвращает сведения о параметрах брандмауэра уровня базы данных, связанных с Базой данных SQL Microsoft Azure.Returns information about the database-level firewall settings associated with your Microsoft Azure SQL Database.
sp_delete_database_firewall_rule (база данных SQL Azure)sp_delete_database_firewall_rule (Azure SQL Database)Удаляет параметр брандмауэра уровня базы данных из базы данных SQL Azure или хранилища данных SQL.Removes database-level firewall setting from your Azure SQL Database or SQL Data Warehouse.

Управление серверами SQL Azure, базами данных и брандмауэрами с помощью REST APIManage Azure SQL servers, databases, and firewalls using the REST API

Для создания сервера Azure SQL Server, баз данных и брандмауэров и управления используются приведенные ниже запросы REST API.To create and manage Azure SQL server, databases, and firewalls, use these REST API requests.

Дальнейшие действияNext steps

docs.microsoft.com

Как получить список баз данных в Microsoft SQL Server на T-SQL? | Info-Comp.ru

В этой небольшой заметке я покажу Вам два способа, как можно получить список баз данных на языке T-SQL в Microsoft SQL Server. Первый способ заключается в использовании системного представления sys.databases, второй — в использовании системной хранимой процедуры sp_helpdb.

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

Получаем список баз данных с помощью представления sys.databases

Сейчас мы напишем SQL запрос с использованием системного представления sys.databases, который покажет нам список баз данных на экземпляре Microsoft SQL Server.

На мой взгляд, данный способ предпочтительней, так как представление sys.databases выводит детальную информацию о параметрах базы данных, которая может быть очень полезна.

В данном случае для примера мы выведем следующие параметры баз данных:

  • Идентификатор базы данных;
  • Название базы данных;
  • Дату создания базы данных;
  • Состояние базы данных;
  • Уровень совместимости;
  • Модель восстановления.

Более детально посмотреть обо всех параметрах, которые возвращает представление sys.databases, можете посмотреть в официальной документации по Transact-SQL – Системное представление sys.databases

   
   --Список баз данных
   SELECT database_id AS [ID], 
           name AS [Название],
           CONVERT(CHAR(10), create_date, 104) AS [Дата создания],
           state_desc AS [Статус],
           compatibility_level AS [Уровень совместимости],
           recovery_model_desc AS [Модель восстановления]
   FROM sys.databases


Выводим список баз данных с помощью процедуры sp_helpdb

Хранимая процедура sp_helpdb выводит меньше информации о параметрах баз данных, однако она показывает дополнительную полезную информацию, например, размер базы данных. Также данный способ предпочтительней, если список баз данных необходим клиентскому приложению, т.е. из клиента лучше вызывать хранимую процедуру, чем посылать SQL запрос SELECT.

Процедура sp_helpdb возвращает следующие данные:

  • name — Название базы данных;
  • db_size — Общий размер базы данных;
  • owner — Владелец базы данных;
  • dbid — Идентификатор базы данных;
  • created — Дата создания базы данных;
  • status – Список значений параметров базы данных, разделенный запятыми. Параметры представлены в формате «Параметр=Значение», в случае с логическими параметрами выводятся только названия включенных параметров;
  • compatibility_level — Уровень совместимости.
   
   --Список баз данных
   EXEC sp_helpdb


Теперь Вы знаете, как можно вывести список баз данных в Microsoft SQL Server. Если Вы начинающий программист и хотите еще больше узнать о языке T-SQL, то рекомендую почитать книгу «Путь программиста T-SQL», в ней очень подробно, специально для начинающих, рассказано про все основные конструкции языка, она включает много примеров и полезных советов.

У меня на этом все, пока!

info-comp.ru

Как узнать размер базы данных в Microsoft SQL Server? | Info-Comp.ru

Иногда у разработчиков или администраторов Microsoft SQL Server возникает необходимость узнать размер базы данных, поэтому сегодня, специально для начинающих, я покажу несколько возможностей получения данной информации.

Надеюсь, Вы понимаете, что все действия, которые мы будем рассматривать в данном материале, требуют определенных знаний в части Microsoft SQL Server и языка T-SQL, поэтому если Вы новичок, то я Вам рекомендую предварительно или после прочтения данной статьи и в случае возникновения тех ли иных вопросов, ознакомиться со следующими материалами:

Итак, давайте начинать, причин, по которым Вам может потребоваться узнать размер базы данных, много, также и способов это сделать тоже много. Начнем мы с самого простого, который показывает общий размер базы данных, причем все действия Вы будете делать с помощью мышки.

Примечание! В качестве СУБД в примерах ниже будет использована версия Microsoft SQL Server 2016 Express. На данном экземпляре SQL сервер создана база данных TestBase, размер которой мы и будем узнавать.

Узнаем размер базы данных с помощью SQL Server Management Studio

Данный способ подразумевает использование графического инструмента SQL Server Management Studio и заключается он в открытие свойств конкретной базы данных, где как раз и есть информация о ее размере.

Для того чтобы узнать размер базы данных с помощью Management Studio, открываем ее и в «Обозревателе объектов» выбираем нужную базу данных, кликаем по ней правой кнопкой мыши и выбираем «Свойства».

В итоге у Вас откроется окно «Свойства базы данных», в котором будет отображено много информации. На вкладке «Общие» в разделе «База данных» есть свойство «Размер» — это как раз размер базы данных.

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

Узнаем размер базы данных с использованием системной процедуры sp_helpdb

Следующий способ, можно сказать классический, подразумевает использованием системной хранимой процедуры sp_helpdb, которая может показать информацию как по одной базе данных, для этого в качестве параметра передаем имя базы данных, так и по всем, т.е. запускаем без параметров. В случае если мы указали конкретную базу данных, то SQL сервер нам вернет дополнительный результирующий набор, в котором мы увидим информацию обо всех файлах, относящихся к данной БД, включая их размер.

   
   EXEC sp_helpdb TestBase;


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

Определяем размер базы данных с помощью системного представления sys.database_files

Данный способ заключается в использовании системного представления sys.database_files, которое также возвращает много полезной информации в разрезе файлов базы данных.

Например, давайте с помощью данного представления определим общий размер базы данных в мегабайтах, а также размер каждого файла в текущей БД.

   
   --Узнаем общий размер БД
   SELECT SUM(CAST(size / 128.0 AS DECIMAL(17,2))) AS [Размер в MB]
   FROM sys.database_files

   --Узнаем размер каждого файла в БД
   SELECT name AS [Логическое имя файла], 
           physical_name AS [Путь и имя файла в ОС],
           state_desc AS [Состояние файла],
           CAST(size / 128.0 AS DECIMAL(17,2)) AS [Размер в MB]
   FROM sys.database_files


Размер базы данных в SQL сервере отображается в страницах по 8 КБ, поэтому для того чтобы посчитать размер БД в мегабайтах мы должны число, которое нам возвращает SQL сервер, не только поделить на 1024, но и умножить на 8, в примере выше использована сокращенная запись данной операции (1024/8=128), которая обычно используется в официальной документации.

В случае необходимости получить информацию о размере всех баз данных находящейся на текущем экземпляре SQL сервер, можно использовать представление sys.master_files, которое возвращает сведения обо всех файлах баз данных, расположенных на SQL Server.

Как Вы заметили, все три способа вернули нам одинаковый результат, так и должно быть, какой из способов Вам будет удобней использовать в той или иной ситуации, решать, конечно же, Вам, а у меня на этом все, удачи!

info-comp.ru

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

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