Создание бд sql: Создание базы данных — SQL Server

Создание базы данных для курса Основы SQL

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

Если вы хотите не просто смотреть видео курса «Основы SQL», но и самостоятельно экспериментировать с SQL запросами и видеть результаты их выполнения на живой базе данных, то можете установить бесплатную систему управления базами данных PostgreSQL и создать в ней демонстрационную базу с данными, которые показаны в видео. Эта статья содержит подробные инструкции по установке и настройке.

Установка PostgreSQL

В учебном курсе «Основы SQL» для демонстрации работы SQL используется PostgreSQL. Сейчас это самая популярная из бесплатных систем управления базами данных. Все SQL запросы в курсе проверены на работоспособность именно в PostgreSQL. Однако большая часть запросов использует синтаксис стандарта ANSI SQL, поэтому они будут работать и в других системах, включая MySQL, Microsoft SQL Server и Oracle. Вы можете использовать любую систему управления базами данных, которая вам нравится, но я рекомендую PostgreSQL.

1. Загрузите PostgreSQL для вашей операционной системы на странице Downloads официального сайта. Я устанавливал на Windows, если вы используете другую операционную систему, то выбирайте соответствующие ссылки для загрузки. Примеры в курсе проверены на PostgreSQL 13, поэтому рекомендую устанавливать именно эту версию. Однако на предыдущих версиях, начиная с PosgreSQL 10, также все должно работать.

Инсталлятор для Windows и Mac OS загружается с сайта компании EDB, которая предоставляет платную поддержку для PostgreSQL. Однако PostgreSQL, которую вы установите с помощью этого инсталлятора от EDB, будет полностью бесплатной.

2. Запустите скачанный инсталлятор PostgreSQL.

Если вы устанавливаете PostgreSQL только для использования в курсе «Основы SQL», то можете оставить почти все настройки по умолчанию, кроме локали, для которой нужно выбрать «Russian, Russia» (русский язык в стране Россия).

Не забудьте запомнить или записать пароль пользователя postgres, он вам понадобится для подключения к базе и выполнения запросов!

После завершения установки инсталлятор предложит вам запустить Stack Builder для установки дополнительных утилит и компонентов. Этого можно не делать, просто снимите галочку в пункте «Stack Builder…» и нажмите кнопку «Finish».

На этом установка PostrgreSQL завершена.

Запуск и настройка pgAdmin

В курсе мы будем работать с PostrgreSQL через Web-интерфейс pgAdmin. Несмотря на Admin в названии, этот инструмент подходит не только администраторам, но и разработчикам.

pgAdmin устанавливается вместе с PostgreSQL. В Windows запустить pgAdmin можно в меню Пуск.

При первом запуске pgAdmin просит задать Master Password. Он будет использоваться для безопасного сохранения паролей к базам данных PosgreSQL, с которыми вы работаете через pgAdmin. Master Password можно выбрать любой, главное, запомните или запишите его.

Для удобства можно переключить интерфейс pgAdmin на русский язык. Для этого выберите меню File->Preferences, в появившемся окне в меню слева выберите Miscellaneous -> User Language, а затем в поле User Language справа «Russian».

Для вступления в силу настроек языка интерфейса нужно нажать кнопку «Save» и перезапустить pgAdmin.

После перезапуска выбирайте в левом меню Servers -> PostgreSQL, после чего pgAdmin запросит пароль пользователя postgres, который вы задали в процессе установки PostgreSQL. Введите этот пароль (можете поставить галочку «Save Password» чтобы pgAdmin запомнил пароль) и вы подключитесь к базе PostgreSQL.

Список существующих на сервере баз данных показывается в левом окне pgAdmin. Нас интересует база данных postgres, схема public и таблицы в ней. pgAdmin показывает много другой информации, не пугайтесь, если вы пока не понимаете, что это такое. Многое мы разберем в курсе, но преимущественно все это нужно только администраторам базы данных.

Пока в нашей базе нет никаких таблиц. Давайте создадим демонстрационные таблицы, которые используются в курсе, и заполним их данными.

Создание демонстрационной базы

1. Скачайте файл с демонстрационной базой данных курса «Основы SQL». Файл называется «sql_foundation» и имеет расширение .sql.

Файл содержит набор операторов SQL, которые создают используемые в курсе таблицы и заполняют их данными. Если вы пока не понимаете, что именно делают эти операторы, не расстраивайтесь. В курсе мы подробно рассмотрим работу каждого оператора и все будет понятно. На начальном этапе изучения курса необходимо просто запустить этот файл в pgAdmin.

2. Загрузите скачанный файл в pgAdmin. Для этого в меню pgAdmin выберите Инструменты->Запросник (в английском вариант Query Tool). В панели инструментов Запросника выберите кнопку открытия файла и в появившемся окне выберите путь к загруженному sql файлу с демонстрационной базой курса.

3. Запустите загруженный файл в pgAgmin. Для этого нажмите на кнопку запуска в панели инструментов Запросника или на клавишу F5.

4. Проверьте правильность выполнения запроса. В нижней части экрана pgAdmin, на закладке «Сообщения» должны появиться результаты выполнения.

Основное, на что нужно обратить внимание — это сообщение «Запрос завершен успешно». Если такое сообщение появилось, значит все хорошо.

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

Также в левой части интерфейса pgAdmin появится информация о созданных таблицах.

Итак, демонстрационные таблицы для курса «Основы SQL» созданы и заполнены данными, можно запускать SQL запросы.

Запуск SQL запросов в pgAdmin

В pgAdmin для запуска SQL запросов используется уже знакомый нам инструмент Запросник. Давайте откроем окно Запросника и напишем самый первый SQL запрос из видео про Оператор SELECT.

Запрос пишется в среднем окне, закладка Query Editor. Для запуска запроса нажимаем F5 или кнопку Execute в панели инструментов Запросника.

Полученные в ходе выполнения запроса данные показываются в нижней части окна, на закладке «Результат».

Использование SQL Shell (psql)

Если вы предпочитаете работать в командной строке, а не в громоздких приложениях типа pgAdmin, то можете использовать консольную утилиту для работы с PosgreSQL: SQL Shell (ранее она называлась psql).

SQL Shell, также как и pgAdmin, устанавливается совместно с PostgreSQL. В Windows запустить SQL Shell можно через меню Пуск.

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

Если вам не повезло, то в Windows SQL Shell запустится с неправильной кодировкой для русского языка, будет выдавать предупреждение и некоторые русские буквы будут выводиться неправильно.

Чтобы решить эту проблему, нужно прописать правильную кодировку в файл для запуска SQL Shell. В моем случае файл называется «C:\Program Files\PostgreSQL\13\scripts\runpsql.bat». В этот файл нужно добавить строку:

chcp 1251

После добавления строки с установкой правильной кодировки файл runpsql. bat стал выглядеть следующим образом.

Сохраняем файл runpsql. bat, перезапускаем SQL Shell, после этого проблем с русской кодировкой быть не должно.

Для создания демонстрационной базы курса в SQL Shell выполните следующую команду:

\i 'C:/путь/к/файлу/sql_foundation.sql'

\i означает import — загрузка файла sql в базу данных.

Обратите, пожалуйста, внимание:

1. Путь к файлу sql_foundation. sql нужно указывать в одиночных кавычках. Если будете использовать двойные кавычки, то не заработает.

2. В пути используются прямые слеши (/), как в Linux/Unix, несмотря на то, что мы работаем под Windows. Если писать обратные слеши (\), как это принято в Windows, то будет выдаваться ошибка «Permission denied». Не очень информативное поведение SQL Shel.

Запросы в SQL Shell можно писать прямо в командной строке.

Запрос в SQL Shell может занимать несколько строк, как в примере на рисунке. Запрос запускается после ввода ; (точка с запятой) или команды \g.

Результаты выполнения запроса показываются сразу же после него.

Полезная функция SQL Shell — история команд. Если нажимать стрелки вверх или вниз, то можно увидеть, какие команды были запущены ранее и повторить интересующую вас команду.

В этой статье вы узнали, как установить PostgreSQL и как создать в нем демонстрационную базу для курса «Основы SQL». Также вы настроили и научились использовать два инструмента работы с PostgreSQL: pgAdmin и SQL Shell. Не обязательно использовать оба, выбирайте тот, который вам больше нравится: pgAdmin с Web-интерфейсом или командную строку SQL Shell.

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

Полезные ссылки

1. Система управления базами данных PostgreSQL.
2. pgAdmin PostgreSQL Tools.
3. Курс «Основы SQL».
4. Файл с демонстрационной базой данных для курса Основы SQL.

НОУ ИНТУИТ | Лекция | Создание базы данных и проектирование таблиц

Аннотация: Определяется процесс создания базы данных. Описываются операторы
создания, изменения базы данных. Рассматривается возможность указания
имени файла или нескольких файлов для хранения данных, размеров и
местоположения файлов. Анализируются операторы создания, изменения,
удаления пользовательских таблиц. Приводится описание параметров для
объявления столбцов таблицы. Дается понятие и характеристика
индексов. Рассматриваются операторы создания и изменения индексов.
Определяется роль индексов в повышении эффективности выполнения
операторов SQL.

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

База данных

Создание базы данных

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

Стандарт SQL оставляет за разработчиками СУБД право выбора
конкретного механизма создания и уничтожения каталогов, однако
механизм создания и удаления схем регламентируется посредством
операторов CREATE SCHEMA и DROP SCHEMA. В стандарте также указано,
что в рамках оператора создания схемы должна существовать возможность
определения диапазона привилегий, доступных пользователям создаваемой схемы. Однако конкретные способы определения подобных привилегий в
разных СУБД различаются.

В настоящее время операторы CREATE SCHEMA и DROP SCHEMA реализованы в
очень немногих СУБД. В других реализациях, например, в СУБД MS SQL
Server, используется оператор CREATE DATABASE.

Создание базы данных в среде MS SQL Server

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

Создание базы данных в системе SQL-сервер осуществляется командой CREATE DATABASE. Следует отметить, что процедура создания базы данных
в SQL-сервере требует наличия прав администратора сервера.

<определение_базы_данных> ::= 
   CREATE DATABASE имя_базы_данных
   [ON [PRIMARY]
   [ <определение_файла>  [,...n] ]
   [,<определение_группы> [,...n] ] ]
   [ LOG ON {<определение_файла>[,...n] } ]
   [ FOR LOAD | FOR ATTACH ]

Рассмотрим основные параметры представленного оператора.

При выборе имени базы данных следует руководствоваться общими
правилами именования объектов. Если имя базы данных содержит пробелы
или любые другие недопустимые символы, оно заключается в ограничители
(двойные кавычки или квадратные скобки). Имя базы данных должно быть
уникальным в пределах сервера и не может превышать 128 символов.

intuit.ru/2010/edi»>При создании и изменении базы данных можно указать имя файла, который
будет для нее создан, изменить имя, путь и исходный размер этого
файла. Если в процессе использования базы данных планируется ее
размещение на нескольких дисках, то можно создать так называемые вторичные файлы базы данных с расширением *.ndf. В этом случае
основная информация о базе данных располагается в первичном ( PRIMARY )
файле, а при нехватке для него свободного места добавляемая
информация будет размещаться во вторичном файле. Подход, используемый
в SQL-сервере, позволяет распределять содержимое базы данных по
нескольким дисковым томам.

Параметр ON определяет список файлов на диске для размещения
информации, хранящейся в базе данных.

Параметр PRIMARY определяет первичный файл. Если он опущен, то первичным является первый файл в списке.

Параметр LOG ON определяет список файлов на диске для размещения журнала транзакций. Имя файла для журнала транзакций генерируется на
основе имени базы данных, и в конце к нему добавляются символы _log.

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

<определение_файла>::=
   ([ NAME=логическое_имя_файла,]
   FILENAME='физическое_имя_файла'
   [,SIZE=размер_файла ]
   [,MAXSIZE={max_размер_файла |UNLIMITED } ]
   [, FILEGROWTH=величина_прироста ] )[,...n]

Здесь логическое имя файла – это имя файла, под которым он будет
опознаваться при выполнении различных SQL-команд.

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

Параметр SIZE определяет первоначальный размер файла; минимальный
размер параметра – 512 Кб, если он не указан, по умолчанию
принимается 1 Мб.

Параметр MAXSIZE определяет максимальный размер файла базы данных.
При значении параметра UNLIMITED максимальный размер базы данных
ограничивается свободным местом на диске.

При создании базы данных можно разрешить или запретить автоматический
рост ее размера (это определяется параметром FILEGROWTH ) и указать
приращение с помощью абсолютной величины в Мб или процентным
соотношением. Значение может быть указано в килобайтах, мегабайтах, гигабайтах, терабайтах или процентах (%). Если указано число без суффикса МБ, КБ или %, то по умолчанию используется значение MБ. Если размер шага роста указан в процентах (%), размер увеличивается на заданную часть в процентах от размера файла. Указанный размер округляется до ближайших 64 КБ.

Дополнительные файлы могут быть включены в группу:

<определение_группы>::=FILEGROUP имя_группы_файлов
    <определение_файла>[,. ..n]

Пример 3.1. Создать базу данных, причем для данных определить три
файла на диске C, для журнала транзакций – два файла на диске C.

CREATE DATABASE Archive
ON PRIMARY ( NAME=Arch2,
  FILENAME=’c:\user\data\archdat1.mdf’,
SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=Arch3,  
  FILENAME=’c:\user\data\archdat2.mdf’,
  SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=Arch4, 
  FILENAME=’c:\user\data\archdat3.mdf’,
  SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)
LOG ON
(NAME=Archlog1,
  FILENAME=’c:\user\data\archlog1.ldf’,
    SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=Archlog2,
  FILENAME=’c:\user\data\archlog2.ldf’,
    SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)

Пример
3.1.
Создание базы данных.

Изменение базы данных

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

<изменение_базы_данных> ::=  
  ALTER DATABASE имя_базы_данных
  { ADD FILE <определение_файла>[,. ..n] 
    [TO FILEGROUP имя_группы_файлов ]
  | ADD LOG FILE <определение_файла>[,...n]
  | REMOVE FILE логическое_имя_файла
  | ADD FILEGROUP имя_группы_файлов
  | REMOVE FILEGROUP имя_группы_файлов
  | MODIFY FILE <определение_файла>
  | MODIFY FILEGROUP имя_группы_файлов
  <свойства_группы_файлов>}

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

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

Параметры файлов и групп файлов можно изменять ( MODIFY ).

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

В качестве свойств группы файлов используются следующие:

READONLY – группа файлов используется только для чтения; READWRITE –
в группе файлов разрешаются изменения; DEFAULT – указанная группа
файлов принимается по умолчанию.

Удаление базы данных

Удаление базы данных осуществляется командой:

DROP DATABASE имя_базы_данных [,...n]

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

Создайте базу данных SQL Azure и подключитесь к ней за 6 простых шагов

Существует множество способов создания базы данных Azure SQL, и если вы новичок в разработке, все эти различные варианты могут быть довольно пугающими. Позвольте мне показать вам всего за несколько шагов, насколько это просто. Вот что мы собираемся сделать:

  1. Создать группу ресурсов
  2. Создайте логический сервер Azure SQL
  3. Создайте базу данных Azure SQL
  4. Настройка брандмауэра
  5. Создать пользователя
  6. Получить строку подключения

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

Откройте браузер и перейдите на https://shell.azure.com, и приступим.

Создать группу ресурсов

Группа ресурсов — это контейнер ресурсов Azure. Это необходимо, поскольку значительно упрощает управление этими ресурсами. Давайте создадим его в регионе Восток США и назовем его 9.0025 dev-demo :

 az group create -n dev-demo -l eastus
 

Войти в полноэкранный режимВыйти из полноэкранного режима

Создайте логический сервер SQL Azure.


Логический сервер Azure SQL необходим для упрощения управления многими базами данных. Администратор логического сервера может автоматически обращаться к любой базе данных на сервере. Давайте создадим сервер с именем dev-demo-sql-srv и создадим администратора. Пользователь-администратор должен НИКОГДА не использоваться, чтобы разрешить приложениям подключаться к любой базе данных, размещенной на этом сервере. Он предназначен только для административных задач.

 az sql server create -g dev-demo -n dev-demo-sql-srv --admin-user devdemoadmin --admin-password SomeVery_STRONG_Passw0rd!
 

Войти в полноэкранный режимВыйти из полноэкранного режима

Создайте базу данных Azure SQL

Теперь, когда у вас есть сервер, вы можете создавать на нем базы данных. База данных будет называться db1 , и она будет использовать бессерверную модель (я знаю… это весело. Мы должны были создать сервер раньше…), так что вы будете платить за нее только тогда, когда будете ее использовать. (автоматическая пауза устанавливается по умолчанию после 1 часа бездействия):

 az sql db create -g dev-demo -n db1 -s dev-demo-sql-srv --service-objective GP_S_Gen5_2
 

Войти в полноэкранный режимВыйти из полноэкранного режима

Настроить брандмауэр

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

правило брандмауэра сервера az sql create -g dev-demo -s dev-demo-sql-srv -n AllAzureServices--start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0
 

Войти в полноэкранный режимВыйти из полноэкранного режима

Теперь вам нужно разрешить вашей машине разработки подключаться к Azure SQL. Поскольку вы используете облачную оболочку, сейчас в этом нет необходимости, но я уверен, что в какой-то момент вы захотите использовать Azure Data Studio или SQL Server Management Studio для подключения и управления базой данных с вашего компьютера. и поэтому вам нужно убедиться, что брандмауэр разрешает такое подключение. Откройте браузер и перейдите на https://ipinfo.io/ и получите свой IP-адрес, а затем создайте правило брандмауэра, используя указанный IP-адрес в качестве начального и конечного адреса:

 правило межсетевого экрана az sql server create -g dev-demo -s dev-demo-sql-srv -n MyIP --start-ip-address 12.34.56.78 --end-ip-address 12.34.56.78
 

Войти в полноэкранный режимВыйти из полноэкранного режима

Создать пользователя базы данных

Ранее вы узнали, что административная учетная запись никогда не должна использоваться для разрешения приложениям, которые мы создаем или с которыми работаем, подключаться к базе данных, поэтому нам необходимо создать выделенного пользователя. Это просто. Вам необходимо подключиться к базе данных Azure SQL с помощью Инструмент sqlcmd (как вы заметили, здесь вы будете использовать учетную запись администратора):

 sqlcmd -S dev-demo-sql-srv. database.windows.net -d db1 -U devdemoadmin -P SomeVery_STRONG_Passw0rd!
 

Войдите в полноэкранный режимВыйдите из полноэкранного режима

после входа в базу данных — вы увидите приглашение 1> , вы можете создать пользователя:

 создать пользователя [app-user] с паролем = '4pplication_Passw0rd!' ;
идти
 

Войти в полноэкранный режимВыйти из полноэкранного режима

После создания пользователя необходимо предоставить ему достаточно прав для работы с данными в базе данных. Если ему просто нужно читать и писать из таблиц, вы можете назначить ему роли db_reader и/или db_writer . Если ему также необходимо создавать таблицы или объекты, вы можете добавить его в роль db_owner :

 изменить роль [db_owner] добавить член [пользователь приложения]
идти
 

Войти в полноэкранный режимВыйти из полноэкранного режима

Можно выйти из sqlcmd , просто выполнив команду quit .

Обратите внимание, что пользователи в группе db_owner в основном являются локальными администраторами, поэтому они могут делать практически все в базе данных. Безопасность — это сложная, но чрезвычайно важная тема. Ознакомьтесь с основными сведениями здесь: Обзор возможностей безопасности базы данных SQL Azure и управляемого экземпляра SQL

.

Получить строку подключения

Чтобы получить строку подключения, которую необходимо использовать в приложении для подключения к Azure SQL, можно просто использовать следующую команду AZ, где также можно указать, для какого языка или библиотеки требуется строка подключения:

 az sql db show-connection-string -s dev-demo-sql-srv -c ado.net
 

Войти в полноэкранный режимВыйти из полноэкранного режима

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

Хотите узнать больше?

Если вы хотите узнать о других способах (с помощью портала, Powershell или интерфейса командной строки AZ), здесь вы можете найти подробную статью: Краткое руководство: создание отдельной базы данных базы данных SQL Azure

И если вам интересно, почему вы должны смотреть на Azure SQL, этот пост для вас: 10 причин использовать Azure SQL в вашем следующем проекте Если вам нужно внести изменения в базу данных SQL, вы можете открыть SQL Server Management Studio, немного щелкнуть мышью и сделать это возможным. Но что происходит, когда вам нужно создать базу данных Azure SQL 10 или 100 раз или в каком-то скрипте автоматизации? Вам нужно использовать PowerShell!

Не читатель? Посмотрите соответствующий видеоурок!

Не видите видео? Убедитесь, что ваш блокировщик рекламы отключен.

В этом руководстве вы узнаете, как создать базу данных Azure SQL и правило брандмауэра SQL Server в PowerShell!

Начнем!

Содержание

Предварительные требования

Чтобы следовать демонстрационным материалам в этом руководстве, убедитесь, что у вас есть следующее:

  • Компьютер для запуска PowerShell — в этом руководстве используется Windows 10 с PowerShell v7.1.
  • Редактор кода, такой как Visual Studio (VS) Code.
  • Модуль Az PowerShell — в руководстве будет использоваться версия 5.9.0.
  • Модуль dbatools PowerShell — в руководстве будет использоваться версия 1. 0.145.
  • Группа ресурсов Azure. В этом руководстве будет использоваться группа ресурсов с именем rg-dbaautomation в регионе westeurope .
  • Вы прошли аутентификацию в Azure в PowerShell.

Создание Azure SQL Server

Прежде чем создавать базу данных Azure SQL, необходимо создать сервер Azure SQL для ее размещения. Предполагая, что вы уже прошли проверку подлинности в Azure:

Откройте PowerShell на локальном компьютере и создайте сервер Azure SQL, на котором будет размещаться база данных Azure SQL.

Приведенная ниже команда создает сервер Azure SQL с именем sqlestate в группе необходимых ресурсов с именем пользователя администратора SQL SqlAdministrator и паролем [email protected] . Команда сохраняет выходные данные командлета New-AzSqlServer для использования атрибутов с сервера, созданного позже.

Вы можете создать имя пользователя и пароль администратора SQL по своему выбору, если они соответствуют требованиям базы данных.

Имя SQL Server должно быть глобально уникальным.

 ## Преобразование пароля в безопасную строку с момента создания PSCredential
## объект требует этого
$pw = ConvertTo-SecureString -String '[электронная почта защищена]' -AsPlainText -Force
## Создайте объект PSCredential для передачи командлету New-AzSqlServer
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList 'SqlAdministrator', $pw
## Создайте Azure SQL Server
$azSqlServer = Новый-AzSqlServer `
-ServerName 'sqlestate123' `
-ResourceGroupName 'rg-dbaautomation' `
-Расположение «западная Европа» `
-SqlAdministratorCredentials $учетные данные 

Создание правила брандмауэра Azure SQL Server

По умолчанию сервер Azure SQL не разрешает доступ к каким-либо внешним объектам. Чтобы подключиться к серверу, вы должны затем создать правило брандмауэра сервера для доступа к серверу SQL с вашего локального компьютера.

Чтобы создать правило брандмауэра сервера, найдите общедоступный IP-адрес локального компьютера и вызовите командлет New-AzSqlServerFirewallRule , чтобы создать правило.

Приведенная ниже команда использует веб-сайт http://ipinfo.io , чтобы узнать общедоступный IP-адрес вашего компьютера. Затем он создает правило брандмауэра в группе ресурсов rg-dbaautomation с именем FirewallRule_Access и указывает этот IP-адрес для всего диапазона IP-адресов.

 ## Найдите локальный общедоступный IP-адрес, запросив веб-сайт
$ip = Invoke-RestMethod  | Select-Object -ExpandProperty IP
## Создайте правило брандмауэра сервера, используя общедоступный IP-адрес
New-AzSqlServerFirewallRule -ResourceGroupName 'rg-dbaautomation' -ServerName $azSqlServer.ServerName -FirewallRuleName 'FirewallRule_Access' -StartIpAddress $ip -EndIpAddress $ip 

Создание правила брандмауэра SQL Server Azure

Как создать базу данных SQL Azure

Наконец, после создания сервера SQL Azure и правила брандмауэра теперь создайте базу данных с помощью командлета New-AzSqlDatabase .

Приведенная ниже команда создает базу данных Azure SQL с именем Estate только с выпуском Basic , размещенным на только что созданном сервере.

Чтобы найти все доступные выпуски, запустите Get-AzSqlServerServiceObjective 9.0026 Командлет PowerShell.

 New-AzSqlDatabase -ResourceGroupName 'rg-dbaautomation' -ServerName $azSqlServer.ServerName -DatabaseName 'Estate' -Edition 'Basic' 

Создание базы данных SQL Azure

Подключение к базе данных SQL Azure

Теперь вы должны База данных Azure SQL, работающая в вашей подписке Azure, готова к работе. Теперь подтвердите, что вы можете подключиться к нему с помощью командлета Connect-DbaInstance PowerShell.

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

 ## Проверка подключения к экземпляру
Connect-DbaInstance -SqlInstance $azSqlServer. FullyQualifiedDomainName -Database $azSqlDatabase.DatabaseName -SqlCredential $credential 

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

 $rg = New-AzResourceGroup -Name 'rg-dbaautomation' -Location 'westeurope'
## Преобразование пароля в безопасную строку с момента создания PSCredential
## объект требует этого
$pw = ConvertTo-SecureString -String '[электронная почта защищена]' -AsPlainText -Force
## Создайте объект PSCredential для передачи командлету New-AzSqlServer
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList 'SqlAdministrator', $pw
## Создайте Azure SQL Server
$azSqlServer = Новый-AzSqlServer `
-ServerName 'sqlestate123' `
-ResourceGroupName $rg.ResourceGroupName `
-Местоположение $rg.Местоположение `
-SqlAdministratorCredentials $учетные данные
## Найдите локальный общедоступный IP-адрес, запросив веб-сайт
$ip = Invoke-RestMethod  io/json> | Select-Object -ExpandProperty IP
## Создайте правило брандмауэра сервера, используя общедоступный IP-адрес
New-AzSqlServerFirewallRule -ResourceGroupName $rg.ResourceGroupName -ServerName $azSqlServer.ServerName -FirewallRuleName 'FirewallRule_Access' -StartIpAddress $ip -EndIpAddress $ip
New-AzSqlDatabase -ResourceGroupName $rg.ResourceGroupName -ServerName $azSqlServer.ServerName -DatabaseName 'Estate' -Edition 'Basic'
## Проверка подключения к экземпляру
Connect-DbaInstance -SqlInstance $azSqlServer.FullyQualifiedDomainName -Database $azSqlDatabase.DatabaseName -SqlCredential $credential 

Заключение

Использование PowerShell для создания базы данных Azure SQL значительно упрощает процесс по сравнению с порталом Azure. PowerShell позволяет автоматизировать процесс быстрого создания серверов и баз данных Azure SQL.

Где вы видите новообретенную способность создавать базы данных SQL Azure с помощью PowerShell, вписывающуюся в вашу повседневную жизнь?

Ненавидите рекламу? Хотите поддержать писателя? Получите многие из наших учебных пособий в виде Руководства по ATA.