Создать базу данных в SQL Server

В SQL Server база данных состоит из набора объектов, таких как таблицы, функции, хранимые процедуры, представления и т. д. Каждый экземпляр SQL Server может иметь одну или несколько баз данных. Базы данных SQL Server хранятся в файловой системе в виде файлов. Логин используется для получения доступа к экземпляру SQL Server, а пользователь базы данных используется для доступа к базе данных. SQL Server Management Studio широко используется для работы с базой данных SQL Server.

Тип базы данных в SQL Server

В SQL Server существует два типа баз данных: системная база данных и пользовательская база данных.

Системные базы данных создаются автоматически при установке SQL Server. Они используются SSMS и другими API и инструментами SQL Server, поэтому не рекомендуется изменять системные базы данных вручную. Ниже перечислены системные базы данных:

  • master: основная база данных хранит всю информацию системного уровня для экземпляра SQL Server.
    Он включает в себя метаданные всего экземпляра, такие как учетные записи для входа, конечные точки, связанные серверы и параметры конфигурации системы.
  • модель: модельная база данных используется в качестве шаблона для всех баз данных, созданных на экземпляре SQL Server.
  • msdb: база данных msdb используется агентом SQL Server для планирования предупреждений и заданий, а также другими функциями, такими как SQL Server Management Studio, Service Broker и Database Mail.
  • tempdb: база данных tempdb используется для хранения временных объектов, промежуточных наборов результатов и внутренних объектов, создаваемых ядром базы данных.

Определяемые пользователем базы данных создаются пользователем базы данных с использованием T-SQL или SSMS для данных вашего приложения. В экземпляре SQL Server может быть создано не более 32767 баз данных.

Существует два способа создания новой пользовательской базы данных в SQL Server:

  1. Создать базу данных с помощью T-SQL
  2. Создание базы данных с помощью SQL Server Management Studio

Создать базу данных с помощью сценария T-SQL

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

 ЕГЭ мастер;
СОЗДАТЬ <имя_базы_данных>
 

Следующее создает базу данных «HR».

 ЕГЭ мастер;
СОЗДАТЬ БАЗУ ДАННЫХ «HR»;
 

Далее создается база данных «HR» с файлами данных и журналов.

 ЕГЭ мастер;
СОЗДАТЬ БАЗУ ДАННЫХ [HR]
    ON (ИМЯ = N'HR', ИМЯ ФАЙЛА = N'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\HR.mdf', SIZE = 1024 МБ, FILEGROWTH = 256 МБ)
ВХОД (ИМЯ = N'HR_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.
SQLEXPRESS\MSSQL\DATA\HR_log.ldf', SIZE = 512 МБ, FILEGROWTH = 125 МБ)

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

Теперь откройте SSMS и обновите папку баз данных, и вы увидите в списке базу данных «HR».

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

Узнайте больше о синтаксисе скрипта SQL для создания базы данных.

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

Откройте SSMS и в обозревателе объектов подключитесь к экземпляру SQL Server. Разверните экземпляр сервера базы данных, на котором вы хотите создать базу данных.

Щелкните правой кнопкой мыши папку «Базы данных» и выберите пункт меню «Новая база данных..».

Создать базу данных

В окне «Новая база данных» введите имя новой базы данных, как показано ниже. Давайте введем имя базы данных «HR».

Создать базу данных

Владелец базы данных можно оставить по умолчанию или изменить владельца, нажав кнопку […].

В сетке Файлы базы данных вы можете изменить значения по умолчанию для базы данных и файлов журнала. Каждая база данных SQL Server имеет как минимум два файла операционной системы: файл данных и файл журнала.

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

Сделайте его как можно большим, исходя из максимального объема данных, который вы ожидаете.

Чтобы изменить параметры базы данных, выберите страницу «Параметры». Вы можете изменить модель Collation, Recovery на этой вкладке, как показано ниже.

Параметры базы данных

Сопоставление определяет битовые комбинации, которые представляют каждый символ в наборе данных. SQL Server поддерживает хранение объектов с разными параметрами сортировки в одной базе данных.

Модель восстановления — это свойство базы данных, которое управляет регистрацией транзакций. В разделе «Модели восстановления» есть три варианта: простой, полный и с массовым протоколированием. Обычно база данных использует модель полного восстановления.

Уровень совместимости содержит список SQL Server 2008, 2012, 2014, 2016, 2017 и 2019. По умолчанию выбирается последняя установленная версия, т. е. SQL Server 2019.

Тип защитной оболочки имеет два варианта: «Нет» и «Частично». По умолчанию не выбрано ничего.

Теперь выберите вкладку «Файловые группы». Файловые группы — это физические файлы на вашем диске, в которых хранятся данные SQL-сервера. По умолчанию основной файл данных создается при создании новой базы данных. Узнайте больше о файлах и файловых группах.

Файловые группы

Нажмите «ОК», чтобы создать новую базу данных «HR». Это будет указано в папке базы данных, как показано ниже.

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

На приведенном выше рисунке новая база данных «HR» создается со следующими папками:

Схемы базы данных: Графически показывает структуру базы данных. Вы можете создать новую диаграмму базы данных, щелкнув папку правой кнопкой мыши и выбрав «Создать новую диаграмму».

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

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

Внешние ресурсы: Здесь хранятся любые службы, компьютеры, общие папки и т. д., которые не являются частью установки SQL Server. Содержит 2 папки 1) Внешние источники данных 2) Внешние форматы файлов

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

Service Broker: Все службы базы данных хранятся в этой папке.

Хранилище: Хранит информацию о схемах разделов, функциях разделов, полнотекстовых каталогах,

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

Таким образом, вы можете создать новую базу данных в SQL Server, используя скрипт T-SQL или SSMS.

СОЗДАТЬ БАЗУ ДАННЫХ

На этой странице

Оператор CREATE DATABASE создает новую базу данных CockroachDB.

Требуемые привилегии

Для создания базы данных пользователь должен быть членом роли admin или иметь набор параметров CREATEDB .

Краткий обзор

имя_базы_данныхWITH opt_template_clauseENCODING=кодировка opt_lc_collate_clause opt_lc_ctype_clauseCONNECTIONLIMIT=limitPRIMARYREGION= имя_регионаREGIONS= region_name_listSURVIVE=REGIONZONEFAILURE opt_placement_clause opt_owner_clause opt_secondary_region_clause

Параметры

Параметр Описание
ЕСЛИ НЕ СУЩЕСТВУЕТ Создавайте новую базу данных только в том случае, если база данных с таким именем еще не существует; если он существует, не возвращайте ошибку.
имя Имя создаваемой базы данных, которое должно быть уникальным и соответствовать этим правилам идентификаторов.
кодирование Оператор CREATE DATABASE принимает необязательное предложение ENCODING для совместимости с PostgreSQL, но UTF-8 является единственной поддерживаемой кодировкой. Псевдонимы UTF8 и UNICODE также принимаются. Значения должны быть заключены в одинарные кавычки и нечувствительны к регистру.

Пример: СОЗДАТЬ банк БАЗ ДАННЫХ КОДИРОВАНИЕ = 'UTF-8' .

ГРАНИЦА ПОДКЛЮЧЕНИЯ Поддерживается для совместимости с PostgreSQL. Значение -1 указывает на отсутствие ограничений на число подключений. Значения, отличные от -1 , в настоящее время не поддерживаются. По умолчанию ПРЕДЕЛ СОЕДИНЕНИЙ = -1 . (*)
ОСНОВНОЙ РЕГИОН имя_региона Создайте базу данных с несколькими регионами с имя_региона в качестве основного региона.
Допустимые значения включают любой регион, возвращенный ПОКАЗАТЬ РЕГИОНЫ ИЗ КЛАСТЕРА .
РЕГИОНЫ region_name_list Создайте мультирегиональную базу данных с region_name_list как регионы базы данных.
Допустимые значения включают любой регион, возвращенный ПОКАЗАТЬ РЕГИОНЫ ИЗ КЛАСТЕРА .
Чтобы задать регионы базы данных при создании базы данных, в том же операторе CREATE DATABASE необходимо указать основной регион.
ОШИБКА ЗОНЫ ВЫЖИВАНИЯ ( По умолчанию )
ОШИБКА ОБЛАСТИ ВЫЖИВАНИЯ
Создайте многорегиональную базу данных с региональными или зональными сбоями.
Чтобы установить цель выживания при региональных отказах, в базе данных должно быть не менее 3 регионов базы данных.
Сбои зоны выживания — это параметр по умолчанию для баз данных с несколькими регионами.

* Чтобы управлять максимальным количеством подключений без прав суперпользователя ( root user или другая роль admin ) соединений, которые узел шлюза может открыть одновременно, используйте параметр кластера server. max_connections_per_gateway . Если новое подключение без прав суперпользователя превысит этот предел, появится сообщение об ошибке 9.0037 «Извините, слишком много клиентов» возвращается вместе с кодом ошибки 53300 . Этот параметр может быть полезен до тех пор, пока синтаксис CONNECTION LIMIT не будет полностью поддерживаться.

Пример

Создать базу данных

значок/кнопки/копия
 > СОЗДАТЬ банк БАЗЫ ДАННЫХ;
 
 СОЗДАНИЕ БАЗЫ ДАННЫХ
 
значок/кнопки/копия
 > ПОКАЗАТЬ БАЗЫ ДАННЫХ;
 
 имя_базы_данных | владелец | основной_регион | регионы | выживания_цель
--+-------+----------------+-------- --+----------------
  банк | демо | НУЛЕВОЙ | {} | НУЛЕВОЙ
  база данных по умолчанию | корень | НУЛЕВОЙ | {} | НУЛЕВОЙ
  постгрес | корень | НУЛЕВОЙ | {} | НУЛЕВОЙ
  система | узел | НУЛЕВОЙ | {} | НУЛЕВОЙ
(4 ряда)
 

Создать не удалось (имя уже используется)

значок/кнопки/копия
 > СОЗДАТЬ банк БАЗЫ ДАННЫХ;
 
 ОШИБКА: база данных "банк" уже существует
SQLSTATE: 42P04
 
значок/кнопки/копия
 > СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ банк;
 
 СОЗДАНИЕ БАЗЫ ДАННЫХ
 

SQL не генерирует ошибку, а вместо этого отвечает CREATE DATABASE , даже если новая база данных не была создана.

значок/кнопки/копия
 > ПОКАЗАТЬ БАЗЫ ДАННЫХ;
 
 имя_базы_данных | владелец | основной_регион | регионы | выживания_цель
--+-------+----------------+-------- --+----------------
  банк | демо | НУЛЕВОЙ | {} | НУЛЕВОЙ
  база данных по умолчанию | корень | НУЛЕВОЙ | {} | НУЛЕВОЙ
  постгрес | корень | НУЛЕВОЙ | {} | НУЛЕВОЙ
  система | узел | НУЛЕВОЙ | {} | НУЛЕВОЙ
(4 ряда)
 

Создать базу данных с несколькими регионами

Предположим, вы запускаете кластер с регионами и зонами, указанными при запуске.

В этом примере давайте воспользуемся демонстрационным кластером с флагом --demo-locality для имитации мультирегионального кластера:

icon/buttons/copy
 демо-таракан --nodes=6 --demo-locality= регион = сша-восток1, зона = сша-восток1-а: регион = сша-восток1, зона = сша-восток1-b: регион = сша-центр1, зона = сша-центр1-а: регион = сша-центр1, зона= us-central1-b:region=us-west1,zone=us-west1-a:region=us-west1,zone=us-west1-b --no-example-database
 
значок/кнопки/копия
 > ПОКАЗАТЬ РЕГИОНЫ;
 
 регион | зоны | имена_баз данных | primary_region_of
-----------------------------+--------------------------------+--- ----------------------------+------
  нас-центральный1 | {нас-центральный1-а,нас-центральный1-б} | {} | {}
  сша-восток1 | {нас-восток1-а,нас-восток1-б} | {} | {}
  сша-запад1 | {нас-запад1-а,нас-запад1-б} | {} | {}
(3 ряда)
 

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

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

icon/buttons/copy
 > CREATE DATABASE bank ОСНОВНОЙ РЕГИОН "us-east1" REGIONS "us-east1", "us-central1", "us- west1" НЕУДАЧА РЕГИОНА ВЫЖИВАНИЯ;
 
значок/кнопки/копия
 > ПОКАЗАТЬ БАЗЫ ДАННЫХ;
 
 имя_базы_данных | владелец | основной_регион | регионы | выживания_цель
--+-------+----------------+-------- -------------------------+----------------
  банк | демо | сша-восток1 | {нас-центральный1,нас-восток1,нас-запад1} | область
  база данных по умолчанию | корень | НУЛЕВОЙ | {} | НУЛЕВОЙ
  постгрес | корень | НУЛЕВОЙ | {} | НУЛЕВОЙ
  система | узел | НУЛЕВОЙ | {} | НУЛЕВОЙ
(4 ряда)
 
значок/кнопки/копия
 > ПОКАЗАТЬ РЕГИОНЫ ИЗ банка БАЗ ДАННЫХ;
 
 база данных | область | первичный | зоны
-----------+-------------+---------+-------------- ------------------
  банк | сша-восток1 | правда | {нас-восток1-а,нас-восток1-б}
  банк | нас-центральный1 | ложный | {нас-центральный1-а,нас-центральный1-б}
  банк | сша-запад1 | ложный | {нас-запад1-а,нас-запад1-б}
(3 ряда)
 

Создание базы данных с несколькими регионами с дополнительным регионом

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

Чтобы добавить дополнительный регион во время создания базы данных, выполните следующие действия:

  1. Запустите демонстрационный кластер тараканов , как описано в примере Создание базы данных с несколькими регионами.

  2. Выполните инструкцию CREATE DATABASE , как показано ниже. Это то же самое, что и в примере с созданием базы данных с несколькими регионами, за исключением того, что добавляется предложение SECONDARY REGION {region} :

  3. .
значок/кнопки/копия
 СОЗДАТЬ БАЗУ ДАННЫХ банк ОСНОВНОЙ РЕГИОН "us-east1" РЕГИОНЫ "us-east1", "us-central1", "us-west1" РЕГИОН ВЫЖИВАНИЯ НЕИСПРАВНОСТЬ ВТОРИЧНЫЙ РЕГИОН "us-west1";
 
 СОЗДАТЬ БАЗУ ДАННЫХ
 

Дополнительные сведения о дополнительных регионах см. в разделе Дополнительные регионы.

См. также

  • ПОКАЗАТЬ БАЗЫ ДАННЫХ
  • ПОКАЗАТЬ СОЗДАТЬ БАЗУ ДАННЫХ
  • ИЗМЕНИТЬ БАЗУ ДАННЫХ.