Создание базы данных
В этой статье описывается создание базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
Сведения о создании базы данных в службе Базы данных SQL Azure с помощью T-SQL см. в статье CREATE DATABASE (база данных SQL Azure).
ограничения
- В экземпляре SQL Server можно указать не более 32 767 баз данных.
Предварительные условия
- Инструкция CREATE DATABASE должна выполняться в режиме автокоммитирования (режим управления транзакциями по умолчанию) и не допускается в явной или неявной транзакции.
Рекомендации
- Резервную копию базы данных master необходимо создавать каждый раз при создании, изменении или удалении пользовательской базы данных.
- При создании базы данных файлы данных следует делать как можно большего размера, в соответствии с максимальным предполагаемым объемом данных в базе данных.
Разрешения
Требуется разрешение CREATE DATABASE в базе данных master или разрешение CREATE ANY DATABASE или ALTER ANY DATABASE.
Для поддержания контроля над использованием дисков на экземпляре SQL Server разрешение на создание баз данных обычно ограничено несколькими именами входа SQL Server.
Использование среды SQL Server Management Studio
Создание базы данных
- В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
- Щелкните правой кнопкой мыши узел Базы данных и выберите команду Создать базу данных.
- В поле Новая база данныхвведите имя базы данных.
- Чтобы создать базу данных, приняв все значения по умолчанию, нажмите кнопку ОК; в противном случае продолжайте выполнять указанные ниже дополнительные действия.
- Чтобы изменить имя владельца, нажмите (…) и выберите другого владельца.
Заметка Параметр «Использовать полнотекстовый индексирование » всегда проверяется и неактивен, так как начиная с SQL Server 2008 (10.0.x), все пользовательские базы данных включены в полнотекстовый режим.
- В столбце Имя введите имя расширенного свойства.
- В столбце Значение введите текст расширенного свойства. Например, введите одно или несколько предложений, которые описывают базу данных.
Использование Transact-SQL
Создание базы данных
- Соединитесь с ядром СУБД .
- На стандартной панели выберите пункт Создать запрос.
- Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается база данных Sales . Так как ключевое слово PRIMARY не используется, первый файл ( Sales_dat ) становится основным файлом. Так как MB или не указаны в параметре SIZE Sales_dat для файла, он использует MB и выделяется в мегабайтах. KB Резервную копию базы данных Sales_log выделено в мегабайтах, потому что суффикс MB явно указан в параметре SIZE .
USE master; GO CREATE DATABASE Sales ON (NAME = Sales_dat, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5) LOG ON (NAME = Sales_log, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\salelog.ldf', SIZE = 5 MB, MAXSIZE = 25 MB, FILEGROWTH = 5 MB); GO
Далее
- Файлы и файловые группы базы данных
- Отсоединение базы данных и подключение (SQL Server)
- ALTER DATABASE (Transact-SQL)
- Добавление файлов данных или журналов в базу данных
Развертывание базы данных с помощью приложения уровня данных
Используйте мастер развертывания базы данных в базе данных SQL Microsoft Azure для развертывания базы данных между экземпляром ядра СУБД и сервером базы данных SQL Azure или между двумя серверами базы данных SQL Azure.
Перед началом
Мастер использует архивный файл приложения уровня данных (DAC) BACPAC для развертывания как данных, так и определений объектов базы данных. Он выполняет операцию экспорта приложения уровня данных из базы данных-источника и импорт приложения уровня данных в место назначения.
настройка параметров баз данных
По умолчанию база данных, созданная при развертывании, получит все параметры по умолчанию из инструкции CREATE DATABASE. Исключением являются параметры сортировки и уровень совместимости базы данных, которые устанавливаются в значения из базы данных-источника.
Некоторые параметры баз данных, например TRUSTWORTHY, DB_CHAINING и HONOR_BROKER_PRIORITY, нельзя изменить в рамках процедуры развертывания. Физические свойства, например количество файловых групп или количество и размер файлов, нельзя изменять в рамках процедуры развертывания. После завершения развертывания можно использовать инструкцию ALTER DATABASE, SQL Server Management Studio или SQL Server PowerShell для настройки базы данных.
Ограничения
Мастер Развертывание базы данных поддерживает развертывание базы данных:
- Из экземпляра ядра СУБД в базу данных SQL Azure.
- Из базы данных SQL Azure в экземпляр ядра СУБД.
- Между двумя серверами базы данных SQL Azure.
Мастер не поддерживает развертывание баз данных между двумя экземплярами ядра СУБД.
Экземпляр ядра СУБД должен работать под управлением SQL Server 2005 (9.x) с пакетом обновления 4 (SP4) или более поздней версии, чтобы работать с мастером. Если база данных на экземпляре ядра СУБД содержит объекты, которые не поддерживаются в Базе данных SQL Azure, вы не можете использовать мастер для развертывания базы данных в Базе данных SQL Azure. Если база данных в базе данных SQL Azure содержит объекты, которые не поддерживаются SQL Server, вы не можете использовать мастер для развертывания базы данных в экземплярах SQL Server.
Безопасность
В целях повышения безопасности имена входа в SQL Server хранятся в файле экспорта приложения уровня данных BACPAC без пароля. При импорте файла BACPAC имя входа создается как отключенное имя входа с созданным паролем. Чтобы включить имена входа, войдите в систему под учетной записью, имеющей разрешение ALTER ANY LOGIN и с помощью команды ALTER LOGIN включите имя входа и присвойте ему новый пароль, который можно передать пользователю. Это не требуется для имен входа, использующих проверку подлинности Windows, поскольку SQL Server не управляет их паролями.
Разрешения
Мастеру необходимы разрешения на экспорт приложения уровня данных в базе данных-источнике. Для имени входа необходимы как минимум разрешения ALTER ANY LOGIN и VIEW DEFINITION на уровне базы данных, а также разрешение SELECT для представления каталога sys.sql_expression_dependencies. Экспорт приложения уровня данных может выполняться членами предопределенной роли сервера securityadmin, которые также входят в предопределенную роль базы данных database_owner для базы данных, из которой экспортируется приложение уровня данных. Экспортировать приложение уровня данных могут также члены предопределенной роли сервера sysadmin или встроенной роли системного администратора SQL Server с названием sa .
Мастеру необходимы разрешения на импорт приложения уровня данных на экземпляре или сервере назначения. Имя входа должно быть членом предопределенных ролей сервера sysadmin или serveradmin либо членом предопределенной роли сервера dbcreator с разрешениями ALTER ANY LOGIN. Встроенная учетная запись системного администратора SQL Server с именем sa также может импортировать DAC. Для импорта DAC с именами входа в базу данных SQL требуется членство в ролях loginmanager или serveradmin. Для импорта DAC без входа в базу данных SQL требуется членство в ролях dbmanager или serveradmin.
Использование мастера развертывания баз данных
Перенос базы данных с помощью мастера развертывания баз данных
- Подключитесь к расположению базы данных, которую необходимо развернуть. Можно указать экземпляр ядра СУБД или сервер базы данных SQL Azure.
- В обозревателе объектовразверните узел экземпляра, содержащего базу данных.
- Разверните узел Базы данных .
- Щелкните правой кнопкой мыши базу данных, которую вы хотите развернуть, выберите «Задачи» и выберите » Развернуть базу данных в Базе данных SQL Microsoft Azure»
- Выполните шаги в диалоговых окнах мастера.
- Вводная страница
- Параметры развертывания
- Страница «Сводка»
- Ход выполнения
- Результаты
Вводная страница
На этой странице описываются шаги мастера развертывания баз данных .
Options (Параметры)
- Больше не показывать эту страницу. — установите этот флажок, чтобы предотвратить отображение страницы «Введение» в будущем.
- Далее — осуществляет переход на страницу Параметры развертывания .
- Отмена — отмена операции и закрытие мастера.
Страница «Параметры развертывания»
На этой странице указываются целевой сервер и подробные сведения о новой базе данных.
Локальный узел:
- Соединение с сервером — укажите сведения о соединении с сервером и нажмите кнопку Подключить для проверки соединения.
- Задание имени новой базы данных — укажите имя новой базы данных.
Параметры базы данных SQL:
- Выпуск Базы данных SQL. Выберите выпуск базы данных SQL в раскрывающемся меню.
- Максимальный размер базы данных — выберите максимальный размер базы данных в раскрывающемся меню.
Другие параметры:
- Укажите локальный каталог для временного файла (архивного файла BACPAC). Не забывайте, что файл будет создан в указанном месте и останется там после завершения операции.
Страница «Сводка»
Воспользуйтесь этой страницей для просмотра указанного источника и целевых параметров операции. Чтобы выполнить развертывание с заданными параметрами, нажмите кнопку Готово. Чтобы отменить операцию развертывания и выйти из мастера, нажмите кнопку Отмена.
Страница «Ход выполнения»
На этой странице отображается индикатор выполнения, который определяет состояние операции. Чтобы просмотреть подробности состояния, выберите параметр Просмотр сведений .
Страница результатов
На этой странице отображаются сведения об успешности операции развертывания по результатам каждого действия. Для каждого действия, в котором обнаружена ошибка, предусмотрена ссылка в столбце Результат . Щелкните эту ссылку, чтобы просмотреть отчет об ошибках, относящихся к данному действию.
Чтобы завершить работу мастера, нажмите кнопку Готово .
Использование приложения .NET Framework
Развертывание базы данных с помощью методов DacStore Export() и Import() в приложении .NET Framework.
- Создайте объект SMO и настройте его на работу с экземпляром или сервером, содержащим базу данных, подлежащую развертыванию.
- Откройте объект ServerConnection и подключитесь к тому же экземпляру.
- Используйте метод Export типа Microsoft.SqlServer.Management.Dac.DacStore для экспорта базы данных в файл BACPAC. Укажите имя экспортируемой базы данных и путь к папке, в которой будет размещен файл BACPAC.
- Создайте объект SMO Server и задайте для него целевой экземпляр или сервер.
- Откройте объект ServerConnection и подключитесь к тому же экземпляру.
- Вызовите метод Import типа Microsoft.SqlServer.Management.Dac.DacStore для импорта BACPAC. Укажите файл BACPAC, созданный при экспорте.
Создание базы данных в MySQL
Инструкция о том, как создать новую базу данных в MySQL несколькими способами, добавить пользователей и выдать им полномочия на доступ к базе.
Эта инструкция — часть курса «MySQL для новичков».
Смотреть весь курс
Введение
В этой небольшой инструкции мы покажем, как создать новую базу данных в MySQL несколькими способами, как добавить пользователей и выдать им полномочия на доступ к базе.
Подготовка
Перед началом работы у вас должен быть установлен и настроен MySQL-сервер. В этой статье мы не будем показывать, как это сделать. Если у вас еще нет готового сервера, почитайте нашу статью, там мы пошагово описали процесс установки и первоначальной настройки MySQL.
Мы будем работать с сервером, развернутым на виртуальной машине Selectel.
Так как это удаленный сервер, нам понадобится его внешний IP-адрес. В этих примерах мы будем использовать адрес 82.202.199.34.
Подключение к серверу и создание новой базы
Все операции будем показывать на двух примерах: консольный клиент и phpMyAdmin. Если у вас другой инструмент для подключения к серверу, почитайте его документацию или используйте SQL-команды, которые мы будем выполнять при работе через консольный клиент. Они универсальны и подойдут для любого инструмента.
Через консоль
Подключимся к удаленному серверу MySQL:
mysql -u root -h 82.202.199.34 -p
После ввода этой команды нужно ввести пароль от пользователя root, который вы указывали на этапе установки и первоначальной настройки СУБД.
Для начала посмотрим, какие уже есть созданные базы данных:
show databases;
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | test | +--------------------+
Это все служебные базы. Мы не будем их трогать, а создадим свою БД. Для этого выполним команду для создания новой базы данных MySQL:
CREATE DATABASE my_db_cli;
Снова посмотрим список всех баз:
show databases;
Видим, что наша БД появилась в списке:
+--------------------+ | Database | +--------------------+ | information_schema | | my_db_cli | | mysql | | performance_schema | | sys | | test | +--------------------+
Через phpMyAdmin
Чтобы указать сервер для подключения, нужно отредактировать файл config.inc.php. В зависимости от вашей ОС или дистрибутива Linux, этот файл может находиться в разных директориях, поэтому мы не будем указывать конкретный путь. Откройте файл и добавьте в него строчку:
$cfg['Servers'][$i]['host'] = '82.202.199.34';
Теперь откройте интерфейс phpMyAdmin и залогиньтесь на сервер. В левой части экрана находится список созданных баз данных. Мы видим уже созданную нами ранее базу my_db_cli.
Создадим еще одну базу. Для этого над списком БД нажмите кнопку «Создать БД».
Укажем имя новой базы, а кодировку оставим по умолчанию. В нашем примере это:
utf8mb4_unicode_ci.

База данных создана, и теперь она появилась в списке слева:

Настройка и проверка доступа к базе данных
Сейчас у нас есть только root-пользователь, который имеет полный доступ к серверу и может работать с любой БД. Нам нужно создать новых пользователей и выдать им полномочия, чтобы каждый мог работать только с одной базой.
Через консоль
Создадим нового пользователя:
CREATE USER 'user_cli'@'%' IDENTIFIED BY 'password';
Знак процента означает, что пользователь может подключаться к серверу с любого хоста. Теперь выдадим этому пользователю полный доступ на базу my_db_cli:
GRANT ALL PRIVILEGES ON my_db_cli.* TO 'user_cli'@'%' WITH GRANT OPTION;
Через phpMyAdmin
Теперь сделаем то же самое через phpMyAdmin. Переходим на вкладку «Учетные записи пользователей» и в нижней части экрана нажимаем «Добавить учетную запись пользователя».

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

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

На следующем экране нужно указать привилегии. Мы хотим дать полный доступ к базе, поэтому выберем пункт «Отметить все».

Теперь проверим полномочия на примере одного пользователя. Для этого залогинимся под пользователем user_cli и попробуем получить доступ к обеим базам данных.
Подключаемся к серверу:
mysql -u user_cli -h 82.202.199.34 -p
Попробуем выбрать БД, к которой нет доступа:
use my_db_gui;
ERROR 1044 (42000): Access denied for user 'user_cli'@'%' to database 'my_db_gui'
Теперь выберем базу, к которой есть доступ и попробуем создать в ней таблицу:
use my_db_cli; create table t(id int);
Ошибок не возникло, значит полномочия настроены правильно.
Удаление базы данных
Теперь покажем, как удалить созданные БД. Учтите, что при удалении базы также удаляются все таблицы с данными в ней, поэтому будьте аккуратны и перепроверяйте названия баз, которые собираетесь удалить.
Через консоль
drop database my_db_cli;
Через phpMyAdmin
Выбираем нужную БД, переходим на вкладку «Операции» и нажимаем «Удалить базу данных».

Заключение
Вы узнали, как с помощью командной строки или phpMyAdmin можно выполнить создание новой БД в MySQL, как создавать пользователей и добавлять им права доступа.
Как установить и настроить MySQL в Ubuntu 20.04
Как установить базу данных на сервер и начать с ней работать
В каждом проекте мы обычно храним все данные либо во внутренней памяти браузера, либо в текстовых файлах на компьютере или на сервере. Это хорошо работает в простых проектах, когда нужно запомнить несколько десятков строк или чисел. Но в полноценных проектах, где обрабатываются сотни и тысячи записей, так почти никто не делает — вместо этого программисты используют базы данных.
Сегодня мы сделаем первый шаг на этом пути — установим на сервер базу данных MySQL и убедимся, что она работает.
Что понадобится
Чтобы всё получилось, нам будут нужны:
- свой виртуальный сервер;
- настроенный доступ к серверу через SSH;
- место на диске для установки базы данных.
Виртуальный сервер можно взять любой, где будет хотя бы 1 гигабайт памяти на диске для хранения данных. У нас не будет настолько большой базы данных, но этого размера точно хватит и для базы, и для установки всех нужных программ.
Необходимый минимум для связи с сервером
Чтобы сервером можно было управлять со своего домашнего компьютера, нам понадобится настроить SSH — программу для безопасной связи между компьютерами по сети. Так как почти все серверы в интернете работают на линуксе без графической оболочки, команды для управления будем вводить в терминале (или командной строке, кому какое название больше нравится).
Перед тем как продолжить, проверяем, что у нас работает доступ к серверу по SSH:

Командой ssh root@82.146.34.72 мы велели нашему компьютеру безопасно подключиться к серверу с адресом 82.146.34.72 и получили в ответ приветствие сервера. Это значит, что всё настроено правильно и можно устанавливать базу данных.
Базу данных необязательно устанавливать на сервер — на домашнем компьютере она тоже будет работать. Самый простой способ это сделать — поставить виртуальную машину с Ubuntu и установить базу там. Единственный минус — удалённо поработать с такой базой будет сложно, но для тренировки и изучения SQL-запросов этого хватит.
Проверяем, есть ли база данных на сервере
Некоторые виртуальные серверы уже идут в комплекте с установленной базой данных MySQL, и в этом случае ничего дополнительно устанавливать не придётся. Проверить, если ли MySQL на сервере, можно командой mysql -V :

Сервер ответил, что не знает этой команды, — это значит, что база MySQL не установлена.
Дальше мы будем использовать команды установщика для Ubuntu, потому что именно эта операционная система стоит на нашем сервере. Если у вас другая версия линукса, замените наши команды установки apt install на свои.
Устанавливаем базу данных
Установим сразу и серверную, и клиентскую части базы данных MySQL. Серверная отвечает за обработку и хранение данных, а клиентская — за отправку запросов на сервер. Теоретически можно было бы обойтись одной серверной частью, но мы ставим клиентскую, чтобы сразу получить возможность отправлять запросы в базу и видеть результат.
Для установки обеих частей выполним команду apt install mysql-server mysql-client . Сервер соберёт данные об установке и скажет, что ему понадобится около 250 мегабайт на диске — для установки нужно будет ввести английскую букву «y» и нажать энтер:

Когда установка закончится, снова проверим, знает ли сервер о том, что у него теперь есть MySQL, командой mysql -V :

Сервер ответил, что у нас установлена версия 8.0.29, — это значит, что мы всё сделали правильно.
Создаём новую базу
Последнее, что нам осталось сделать, — создать новую базу данных.
Все команды в MySQL называются запросами и пишутся внутри её собственной командной строки. Для перехода в неё пишем команду mysql -u root:

У нас поменялся внешний вид приветствия в командной строке: вместо имени пользователя и текущей папки мы видим строку mysql> — это значит, что мы сейчас общаемся с базой данных и она готова принимать и выполнять команды.Создадим новую базу с названием thecodeDB командой CREATE DATABASE:

Обратите внимание на точку с запятой в конце команды — без неё база данных не поймёт, что запрос закончился, и будет ждать продолжения:

Убедимся, что база создана, — выполним команду SHOW DATABASES;

Мы используем рабочий сервер для Nextcloud, поэтому на нём уже есть несколько баз данных, но наша база тоже теперь есть в списке — это значит, что MySQL про неё знает и может с ней работать.
Что дальше
Сейчас у нас на сервере есть своя база данных, настроенная и готовая к работе. В следующей статье мы попробуем её в деле — возьмём какой-нибудь наш старый проект и переделаем его под хранение данных в базе.
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
