В ситуации когда необходимо перенести базу данных SQL с одного экземпляра MS SQL Server на другой, или изменить каталог хранения файлов базы данных, помогут операции отсоединения (Detach) и присоединения (Attach) баз данных MS SQL Server. Об этих операциях в MS SQL Server 2012 (справедливо и для более ранних редакций MS SQL Server) и пойдет речь в данной статье.
- 0. Оглавление
- 1. Отсоединение базы данных в MS SQL Server 2012
- 2. Присоединение базы данных в MS SQL Server 2012
- 0. Оглавление
- 1. Постановка задачи
- 2. Подключение к SQL-серверу
- 3. Добавление записей в таблицу
- 4. Обновление записей в таблице
- 5. Просмотр выборки из таблицы
- 6. Удаление записей из таблицы
- 7. Закрытие соединения
- 8. Общий текст процедуры
- Создание и удаление базы данных
- Создание базы данных
- Прикрепление базы данных
- Удаление базы данных
- Получение информации о подключении
- Подключение к базе данных
- Закрытие подключения
- Что понадобится
- Необходимый минимум для связи с сервером
- Проверяем, есть ли база данных на сервере
- Устанавливаем базу данных
- Создаём новую базу
- Что дальше
- Как присоединить базу
0. Оглавление
1. Отсоединение базы данных в MS SQL Server 2012
Запускаем программу «SQL Server Management Studio». В Microsoft Windows Server 2012 R2 ее можно найти в списке всех программ.

В Microsoft Windows Server 2008 R2 в меню «Пуск» (Start) — «Microsoft SQL Server 2012» — «Среда SQL Server Management Studio».

Вводим имя сервера, данные для авторизации и нажимаем «Соединить» (Connect).


В появившемся окне отсоединения базы данных возможно очистить существующие соединения с базой установив флаг «Удалить соединения» (Drop Connections) (не рекомендуется, правильно будет попросить пользователей закрыть клиентские программы), а также обновить статистику для базы данных отметив соответственно флаг «Обновить статистику» (Update Statistics). Выбрав необходимые операции нажимаем «ОК».

После чего выбранная база данных исчезнет из списка баз данных экземпляра MS SQL Server.

Но файлы базы данных останутся на жестком диске в том каталоге, где они находились до отсоединения базы данных.
2. Присоединение базы данных в MS SQL Server 2012


После чего, наша база данных появится в списке баз данных конечного экземпляра MS SQL Server.

Запись опубликована в рубрике Microsoft SQL Server 2012 с метками SQL. Добавьте в закладки постоянную ссылку.
Ниже приведена пошаговая инструкция, показывающая как добавить новую базу данных в Microsoft SQLServer 2012 (в более старых редакциях, например в Microsoft SQL Server 2008 R2, набор действий аналогичен).
Запускаем утилиту «SQL Server Management Studio». В Microsoft Windows Server 2012 R2 ее можно найти в списке всех программ.

В Microsoft Windows Server 2008 R2 в меню «Пуск» (Start) — «Microsoft SQL Server 2012» — «Среда SQL Server Management Studio».

Вводим имя сервера, данные для авторизации и нажимаем «Соединить» (Connect).



Ниже можно задать путь хранения файлов базы данных (если он должен отличаться от пути по умолчанию) и задать имена файлов (по умолчанию они будут такими же, как и соответствующие логические имена). Определившись с настройками переходим на вкладку «Параметры» (Options).

Здесь можно изменить следующие свойства:
- Параметры сортировки (Collation)
- Модель восстановления (Recovery model)
- Уровень совместимости (Compatibility level)
- Тип включения (Containment type)
а также прочие параметры создаваемой базы данных. Закончив в настройками жмем «ОК».

Вот и все. Создание базы данных завершено. Мы можем увидеть ее в обозревателе объектов. Для того чтобы изменить параметры базы необходим всего лишь кликнуть по ней правой кнопкой мыши и выбрать «Свойства» (Properties) в контекстном меню.


Запись опубликована в рубрике Microsoft SQL Server 2012 с метками SQL. Добавьте в закладки постоянную ссылку.
В данной статье приведены экземпляры кода на языке 1С, которые позволяют подключаться к базе данных на SQL-сервере, получать из нее данные, а также записывать новые и обновлять существующие записи в таблицах этой базы данных. Код протестирован на платформе 8.3.5, а также на версиях SQL Server 2008 R2 и SQL Server 2012. Операционная система Windows Server 2008 и Windows Server 2012. Есть предположение, что указанный код будет работать и на других версиях 1С, SQL и Windows.
0. Оглавление
1. Постановка задачи

На сервере размещена база данных с именем TestDB. В базе имеется таблица с именем Table_1, в которой 3 столбца:
- C_DateTime, с типом datetime
- C_Char, с типом char(50)
- C_Numeric, с типом numeric(18,0)

Изначально таблица пустая:


Требуется научиться записывать в базу данных и читать из базы данных из 1С при помощи прямых запросов к SQL-серверу.
2. Подключение к SQL-серверу
Весь приведенный ниже код может работать как на клиенте, так и на сервере. Главное чтобы был доступен COM-объект «ADODB» (подробнее о данной библиотеке можно прочитать, например, здесь). Также с клиента (или с сервера, смотря где выполняется код) должен быть доступен указанный SQL-сервер (настроено правило в Брандмауере для возможности внешнего подключения). Код приводится совсем простой, для понимания с чего вообще начинать разработчику, который раньше с этим не сталкивался.
Итак, для подключения необходимо создать COM-объект «ADODB». Для этого выполняется код 1С:
ВыполнитьОбработкуКомандаИмяСервераSQL ПользовательSQL ПарольSQL БазаДанныхSQL ТаблицаSQL ///////////////////////////////////////// //Подключение к SQL-серверу Соединение COMОбъектКоманда COMОбъектВыборка COMОбъектСоединениеConnectionString ИмяСервераSQLПользовательSQLПарольSQLБазаДанныхSQLСоединениеConnectionTimeout СоединениеCommandTimeout СоединениеOpenКомандаActiveConnection СоединениеСообщить); Исключение СообщитьОписаниеОшибки()); Возврат; КонецПопытки; КонецПроцедуры
Результат работы в 1С:Предприятии:

Теперь, в общем то, можно выполнять любой запрос SQL через данный COM-объект. Посмотрим как это делать на самых распространенных примерах.
3. Добавление записей в таблицу
Теперь добавим новую строку в нашу пока еще пустую таблицу. Для этого необходимо выполнить код:
///////////////////////////////////////// //Добавляем запись в таблицу ТекДата ТекущаяДатаТекСтрока ТекЧисло ЗначениеЗаполненоТекДата//Для пустой даты необходимо отправлять 01.01.1753 ТекДата Дата); КонецЕсли; ТекЧисло ФорматТекЧислоТекстТекущейИнструкции "INSERT INTO "ТаблицаSQLТекДатаТекСтрокаТекЧисло; Попытка СоединениеExecuteТекстТекущейИнструкцииСообщить); Исключение СообщитьОписаниеОшибки()); КонецПопытки;
Смотрим результат и видим, что строка появилась в таблице:

4. Обновление записей в таблице
Теперь попробуем обновить все записи в таблице со значением C_Numeric=123456. Для этого выполняем код:
///////////////////////////////////////// //Обновляем записи в таблице с C_Numeric = 123456 ТекЧисло ТекДатаНовая ДатаТекСтрокаНовая "Обновленная запись строки"ЗначениеЗаполненоТекДатаНовая//Для пустой даты необходимо отправлять 01.01.1753 ТекДатаНовая Дата); КонецЕсли; ТекЧисло ФорматТекЧислоТекстТекущейИнструкции ТаблицаSQLТекСтрокаНоваяТекДатаНоваяТекЧисло; Попытка СоединениеExecuteТекстТекущейИнструкцииСообщить); Исключение СообщитьОписаниеОшибки()); КонецПопытки;
Проверяем, что запись обновилась:

5. Просмотр выборки из таблицы
Писать и обновлять записи в таблице мы научились. Теперь посмотрим как просматривать выборку из запроса с SQL-сервера:
///////////////////////////////////////// //Читаем записи ТекстИнструкции ТаблицаSQL; Попытка КомандаCommandText ТекстИнструкцииВыборка КомандаExecute(); Если ВыборкаBOF = Ложь Тогда ВыборкаMoveFirst(); Пока ВыборкаEOF = Ложь Цикл СообщитьДатаВыборкаFieldsValue) +СокрЛПВыборкаFieldsValue) +ЧислоВыборкаFieldsValueВыборкаMoveNext(); КонецЦикла; КонецЕсли; Исключение СообщитьОписаниеОшибки()); КонецПопытки;
Результат в предприятии:

6. Удаление записей из таблицы
Для удаления всех записей в таблице со значением C_Numeric=123456 выполняем код:
///////////////////////////////////////// //Удаляем записи в таблице с C_Numeric = 123456 ТекЧисло ТекЧисло ФорматТекЧислоТекстТекущейИнструкции "DELETE FROM "ТаблицаSQLТекЧисло; Попытка СоединениеExecuteТекстТекущейИнструкцииСообщить); Исключение СообщитьОписаниеОшибки()); КонецПопытки;
Проверяем, что записей в таблице не осталось:

7. Закрытие соединения
Ну и после выполнения всех необходимых действий необходимо закрыть соединение с SQL-сервером. Для этого достаточно вызвать метод Close() созданного COM-объекта:
///////////////////////////////////////// //Закрытия соединения СоединениеCloseСообщить); Исключение СообщитьОписаниеОшибки()); КонецПопытки;
8. Общий текст процедуры
Общий текст всей процедуры получился следующий:
ВыполнитьОбработкуКомандаИмяСервераSQL ПользовательSQL ПарольSQL БазаДанныхSQL ТаблицаSQL ///////////////////////////////////////// //Подключение к SQL-серверу Соединение COMОбъектКоманда COMОбъектВыборка COMОбъектСоединениеConnectionString ИмяСервераSQLПользовательSQLПарольSQLБазаДанныхSQLСоединениеConnectionTimeout СоединениеCommandTimeout СоединениеOpenКомандаActiveConnection СоединениеСообщить); Исключение СообщитьОписаниеОшибки()); Возврат; КонецПопытки; ///////////////////////////////////////// //Добавляем запись в таблицу ТекДата ТекущаяДатаТекСтрока ТекЧисло ЗначениеЗаполненоТекДата//Для пустой даты необходимо отправлять 01.01.1753 ТекДата Дата); КонецЕсли; ТекЧисло ФорматТекЧислоТекстТекущейИнструкции "INSERT INTO "ТаблицаSQLТекДатаТекСтрокаТекЧисло; Попытка СоединениеExecuteТекстТекущейИнструкцииСообщить); Исключение СообщитьОписаниеОшибки()); КонецПопытки; ///////////////////////////////////////// //Обновляем записи в таблице с C_Numeric = 123456 ТекЧисло ТекДатаНовая ДатаТекСтрокаНовая "Обновленная запись строки"ЗначениеЗаполненоТекДатаНовая//Для пустой даты необходимо отправлять 01.01.1753 ТекДатаНовая Дата); КонецЕсли; ТекЧисло ФорматТекЧислоТекстТекущейИнструкции ТаблицаSQLТекСтрокаНоваяТекДатаНоваяТекЧисло; Попытка СоединениеExecuteТекстТекущейИнструкцииСообщить); Исключение СообщитьОписаниеОшибки()); КонецПопытки; ///////////////////////////////////////// //Читаем записи ТекстИнструкции ТаблицаSQL; Попытка КомандаCommandText ТекстИнструкцииВыборка КомандаExecute(); Если ВыборкаBOF = Ложь Тогда ВыборкаMoveFirst(); Пока ВыборкаEOF = Ложь Цикл СообщитьДатаВыборкаFieldsValue) +СокрЛПВыборкаFieldsValue) +ЧислоВыборкаFieldsValueВыборкаMoveNext(); КонецЦикла; КонецЕсли; Исключение СообщитьОписаниеОшибки()); КонецПопытки; ///////////////////////////////////////// //Удаляем записи в таблице с C_Numeric = 123456 ТекЧисло ТекЧисло ФорматТекЧислоТекстТекущейИнструкции "DELETE FROM "ТаблицаSQLТекЧисло; Попытка СоединениеExecuteТекстТекущейИнструкцииСообщить); Исключение СообщитьОписаниеОшибки()); КонецПопытки; ///////////////////////////////////////// //Закрытия соединения СоединениеCloseСообщить); Исключение СообщитьОписаниеОшибки()); КонецПопытки; КонецПроцедуры
Результат работы в 1С:Предприятии:

Создание и удаление базы данных
Последнее обновление: 09.07.2017
Создание базы данных
Для создания базы данных используется команда .
Чтобы создать новую базу данных откроем SQL Server Management Studio. Нажмем на назначение сервера в окне Object
Explorer и в появившемся меню выберем пункт .

В центральное поле для ввода выражений sql введем следующий код:
CREATE DATABASE usersdb

Для выполнения команды нажмем на панели инструментов на кнопку Execute или на клавишу F5. И на сервере появится новая база данных.
После создания базы даных, мы можем установить ее в качестве текущей с помощью команды :
USE usersdb;
Прикрепление базы данных
Возможна ситуация, что у нас уже есть файл базы данных, который, к примеру, создан на другом компьютере. Файл базы данных представляет файл с расширением
mdf, и этот файл в принципе мы можем переносить. Однако даже если мы скопируем его компьютер с установленным MS SQL Server,
просто так скопированная база данных на сервере не появится. Для этого необходимо выполнить прикрепление базы данных к серверу.
В этом случае применяется выражение:
CREATE DATABASE название_базы_данных ON PRIMARY(FILENAME='путь_к_файлу_mdf_на_локальном_компьютере') FOR ATTACH;
CREATE DATABASE contactsdb ON PRIMARY(FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\userstoredb.mdf') FOR ATTACH;
После выполнения команды на сервере появится база данных contactsdb.
Удаление базы данных
Для удаления базы данных применяется команда , которая имеет следующий синтаксис:
DROP DATABASE database_name1 [, database_name2]...
После команды через запятую мы можем перечислить все удаляемые базы данных. Например, удаление базы данных contactsdb:
DROP DATABASE contactsdb
Стоит учитывать, что даже если удаляемая база данных была прикреплена, то все равно будут удалены все файлы базы данных.
Последнее обновление: 08.02.2021
Для работы с базой данных MS SQL Server в .NET 5 и выше (а также .NET Core 3.0/3.1) необходимо установить в проект через nuget пакет :

Для создания подключения к MS SQL Server применяется класс из пространства имен
Microsoft.Data.SqlClient.
Этот класс имеет три конструктора:
SqlConnection() SqlConnection(String) SqlConnection(String, SqlCredential)
Теперь проверим подключение на примере сервера LocalDB:
using Microsoft.Data.SqlClient;
using System;
using System.Data;
using System.Threading.Tasks;
namespace HelloApp
{ class Program { static async Task Main(string[] args) { string connectionString = "Server=(localdb)\\mssqllocaldb;Database=master;Trusted_Connection=True;"; // Создание подключения SqlConnection connection = new SqlConnection(connectionString); try { // Открываем подключение await connection.OpenAsync(); Console.WriteLine("Подключение открыто"); } catch (SqlException ex) { Console.WriteLine(ex.Message); } finally { // если подключение открыто if (connection.State == ConnectionState.Open) { // закрываем подключение await connection.CloseAsync(); Console.WriteLine("Подключение закрыто..."); } } Console.WriteLine("Программа завершила работу."); Console.Read(); } }
}В данном случае подключение осуществляется к серверу LocalDB и его базе данных master (по умолчанию база данных master уже
должна быть на любом MS SQL Servere).
Для начала взаимодействия с базой данных нам надо открыть подключение с помощью методов Open() (синхронный) или
OpenAsync() (асинхронный).
По окончании работы с SqlConnection необходимо закрыть подключение к серверу, вызвав метод или
. В данном случае вначале проверяем, что подключение открыто и, если оно открыто, вызываем
асинхронный метод OpenAsync().
В итоге, если указана валидная строка подключения, то мы должны увидеть на консоли следующие строки:
Подключение открыто Подключение закрыто... Программа завершила работу.
Вместо явного закрытия подключения также можно использовать конструкцию using, которая автоматически закрывает подключение:
using Microsoft.Data.SqlClient;
using System;
using System.Threading.Tasks;
namespace HelloApp
{ class Program { static async Task Main(string[] args) { string connectionString = "Server=(localdb)\\mssqllocaldb;Database=master;Trusted_Connection=True;"; using(SqlConnection connection = new SqlConnection(connectionString)) { await connection.OpenAsync(); Console.WriteLine("Подключение открыто"); } Console.WriteLine("Подключение закрыто..."); Console.WriteLine("Программа завершила работу."); Console.Read(); } }
}Получение информации о подключении
Объект SqlConnection обладает рядом свойств, которые позволяют получить информацию о подключении:
using Microsoft.Data.SqlClient;
using System;
using System.Threading.Tasks;
namespace HelloApp
{ class Program { static async Task Main(string[] args) { string connectionString = "Server=(localdb)\\mssqllocaldb;Database=master;Trusted_Connection=True;"; using(SqlConnection connection = new SqlConnection(connectionString)) { await connection.OpenAsync(); Console.WriteLine("Подключение открыто"); // Вывод информации о подключении Console.WriteLine("Свойства подключения:"); Console.WriteLine($"\tСтрока подключения: {connection.ConnectionString}"); Console.WriteLine($"\tБаза данных: {connection.Database}"); Console.WriteLine($"\tСервер: {connection.DataSource}"); Console.WriteLine($"\tВерсия сервера: {connection.ServerVersion}"); Console.WriteLine($"\tСостояние: {connection.State}"); Console.WriteLine($"\tWorkstationld: {connection.WorkstationId}"); } Console.WriteLine("Подключение закрыто..."); Console.WriteLine("Программа завершила работу."); Console.Read(); } }
}Подключение открыто Свойства подключения: Строка подключения: База данных: master Сервер: (localdb)\mssqllocaldb Версия сервера: 15.00.2000 Состояние: Open WorkstationId: EUGENEPC Подключение закрыто... Программа завершила работу.
Подключение к базе данных
Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core
Последнее обновление: 31.10.2015
Чтобы хранить данные, нам естественным образом нужна база данных. Как правило, в качестве базы данных используется MS SQL Server, на примере которого мы и
посмотрим весь процесс создания БД и подключения к ней.

Мы можем создать базу данных равнозначным образом и на сервере. После этого база данных добавляется в проект, и мы можем увидеть ее в папке App_Data. Теперь в обозревателе баз данных (окно )
мы можем подключиться к ней и создать таблицы, которые будут хранить данные.
Раскроем узел Bookstore.mdf и найдем узел Tables. Нажмем на этот узел правой кнопкой мыши и в появившемся меню выберем пункт Add New Table. И
перед нами появится окно, в котором нам надо определить названия и типы столбцов новой таблицы. По соглашениям о наименованиях таблицы при работе с
Entity Framework должны соответствовать имени модели. То есть, так как наша модель называется Book, то таблица будет называться Books.
А Entity Framework автоматически распознает, что таблица Books соответствует классу Book.
Итак, создадим структуру таблицы:

Не забудьте установить ниже в окне Properties (в Visual Stidio 2010 — окно Column Properties) для столбца Id соответствующие параметры для первичного ключа:

После этого, если мы работаем с Visual Studio 2010, нам будет предложено просто ввести имя таблицы — введем имя Books,
и затем таблица добавляется в БД.
А в Visual Studio Express 2012 for Web нам надо сгенерировать таблицу на основе заданного выше
определения. Для этого нажмем на кнопку Update:

В появившемся диалоговом окне нажмем на кнопку Update Database. После этого в нашу базу данных добавляется
только что сгенерированная таблица. Подобным образом определим таблицу Purchases для модели Purchase:

Добавим в таблицу Books несколько записей:

Теперь, во-первых, чтобы взаимодействовать с БД, нам нужен класс контекста данных, пусть это будет следующий класс BookContext:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace BookStore.Models
{ public class BookContext : DbContext { public DbSet<Book> Books { get; set; } public DbSet<Purchase> Purchases { get; set; } }
}Во-вторых, определим строку подключения к БД. Для этого откроем файл Web.config и добавим в конец секции
определение строки подключения. Однако тут надо сразу заметить,
что для Visual Studio 2010 строка подключения будет отличаться от строки подключения, которая используется в Visual Studio 2012.
Итак, строка подключения для Visual Studio 2010 будет выглядеть так:
<configuration> ......................... <connectionStrings> <add name="BookContext" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename='|DataDirectory|\Bookstore.mdf';Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
Для Visual Studio 2012 будет выглядеть определение строки подключения будет выглядеть следующим образом:
<configuration> ......................... <connectionStrings> <add name="BookContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename='|DataDirectory|\Bookstore.mdf';Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
В Visual Studio 2012 в отличие от 2010-й версии мы можем использовать режим LocalDB, который предназначен прежде всего для разработчиков,
представляя некоторую упрощенную версию. Поэтому в данном случае в качестве источника данных используется (LocalDB)\v11.0.
Обратите внимание, что в обоих случаях свойство name="BookContext" должно содержать название контекста данных.
Теперь мы можем получить содержимое таблицы Books в контроллере Home:
public class HomeController : Controller
{ BookContext db = new BookContext(); public ActionResult Index() { return View(db.Books); }
}И вывести данные в представлении Index.cshtml:
@model IEnumerable<BookStore.Models.Book>
@{ Layout = "~/Views/Shared/_Layout.cshtml";
} <div> <h3>Распродажа книг</h3> <table> <tr class="header"><td><p>Название книги</p></td> <td><p>Автор</p></td> <td><p>Цена</p></td><td></td> </tr> @foreach (BookStore.Models.Book b in Model) { <tr> <td><p>@b.Name</p></td> <td><p>@b.Author</p></td> <td><p>@b.Price</p></td> <td><p><a data-hren="/Home/Buy/@b.Id">Купить</a></p></td> </tr> } </table> </div>Закрытие подключения
Чтобы наверняка быть уверенным, что подключение к базе данных закрыто, следует вызывать метод Dispose у контекста данных:
protected override void Dispose(bool disposing)
{ db.Dispose(); base.Dispose(disposing);
}Это переопределенная версия метода Dispose контроллера, которая вызывается при уничтожении объекта контроллера. В нее
помещается вызов db.Dispose(), который уничтожает все связанные с контекстом данных ресурсы и подключения.
В каждом проекте мы обычно храним все данные либо во внутренней памяти браузера, либо в текстовых файлах на компьютере или на сервере. Это хорошо работает в простых проектах, когда нужно запомнить несколько десятков строк или чисел. Но в полноценных проектах, где обрабатываются сотни и тысячи записей, так почти никто не делает — вместо этого программисты используют базы данных.
Сегодня мы сделаем первый шаг на этом пути — установим на сервер базу данных MySQL и убедимся, что она работает.
Что понадобится
Чтобы всё получилось, нам будут нужны:
Виртуальный сервер можно взять любой, где будет хотя бы 1 гигабайт памяти на диске для хранения данных. У нас не будет настолько большой базы данных, но этого размера точно хватит и для базы, и для установки всех нужных программ.
Мы возьмём сервер из статьи про облачное хранение данных, но то же самое можно сделать и на самом простом хостинге для статичного сайта.
Необходимый минимум для связи с сервером
Чтобы сервером можно было управлять со своего домашнего компьютера, нам понадобится настроить SSH — программу для безопасной связи между компьютерами по сети. Так как почти все серверы в интернете работают на линуксе без графической оболочки, команды для управления будем вводить в терминале (или командной строке, кому какое название больше нравится).
Перед тем как продолжить, проверяем, что у нас работает доступ к серверу по SSH:

Базу данных необязательно устанавливать на сервер — на домашнем компьютере она тоже будет работать. Самый простой способ это сделать — поставить виртуальную машину с 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 про неё знает и может с ней работать.
Что дальше
Сейчас у нас на сервере есть своя база данных, настроенная и готовая к работе. В следующей статье мы попробуем её в деле — возьмём какой-нибудь наш старый проект и переделаем его под хранение данных в базе.
Как присоединить базу
База данных представляет собой совокупность данных, которые организованы в соответствии с определенными правилами и находятся в памяти компьютера. Она характеризует актуальное состояние конкретной предметной области.

- — компьютер;
- — сервер;
- — база данных Sql.
Перейдите в среду SQL Server Management Studio, чтобы подсоединить базу данных, далее войдите в обозреватель объектов и подключитесь к экземпляру MicrosoftSQL Server Database Engine, разверните его. Вызовите контекстное меню на узле «Базы данных». Щелкните по команде «Присоединить».
В диалоговом окне «Присоединение баз данных» щелкните по кнопке «Добавить», выберите в окне «Расположение файлов базы» нужный диск, где располагается база, разверните дерево папок для поиска и выбора файла в формате Mdf. Если вы пытаетесь выбрать уже присоединенную базу, возникнет ошибка. Чтобы изменить ее имя, введите его в столбце «Присоединить как» в окне «Присоединение баз данных».
Измените при необходимости владельца при присоединении базы данных, для этого выберите нужное значение в поле «Владелец». Если все готово для присоединения БД к серверу, щелкните по кнопке «ОК». Только что присоединенная база будет отображаться в узле «Базы данных» в обозревателе только после того, как вы выполните обновление представления. Для этого щелкните по обозревателю объектов, перейдите в меню «Вид», выберите команду «Обновить».
Учтите, что при присоединении базы данных к серверу все файлы данных должны быть доступны. Если у файла данных отличается путь от первоначально созданного либо от последнего присоединения, укажите текущий путь к файлу. При первом присоединении зашифрованной базы данных к серверу, откройте главный ключ базы данных, для этого выполните команду: OPEN MASTER KEY DECRYPTION BY PASSWORD = «Введите пароль».
Включите автоматическую расшифровку ключа. Если база данных доступна как для записи, так и для чтения, присоедините файл журнала в новом расположении. Храните их до тех пор, пока база не присоединится без них. Если у базы существует один файл журнала и вы не укажете для него новое расположения, операция будет использовать старое размещение файла.
Видео по теме
https://youtube.com/watch?v=l-WyVMltaic%3Fwmode%3Dtransparent
Не присоединяйте и не восстанавливайте базы, которые получены из ненадежных или неизвестных источников.
Забыли пароль?
Еще не зарегистрированы?

