Основы T-SQL

Основы T-SQL Хостинг

logo_sql_2012В ситуации когда необходимо перенести базу данных SQL с одного экземпляра MS SQL Server на другой, или изменить каталог хранения файлов базы данных, помогут операции отсоединения (Detach) и присоединения (Attach) баз данных MS SQL Server. Об этих операциях в MS SQL Server 2012 (справедливо и для более ранних редакций MS SQL Server) и пойдет речь в данной статье.

0. Оглавление

1. Отсоединение базы данных в MS SQL Server 2012

Запускаем программу «SQL Server Management Studio». В Microsoft Windows Server 2012 R2 ее можно найти в списке всех программ.

Ustanovka_SQL_2012_23

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

Ustanovka_SQL_2012_23

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

Основы T-SQL

detach-attach-bd-ms-sql-server-2012_01

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

detach-attach-bd-ms-sql-server-2012_02

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

detach-attach-bd-ms-sql-server-2012_03

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

2. Присоединение базы данных в MS SQL Server 2012

detach-attach-bd-ms-sql-server-2012_04

detach-attach-bd-ms-sql-server-2012_05

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

detach-attach-bd-ms-sql-server-2012_06

Запись опубликована в рубрике Microsoft SQL Server 2012 с метками SQL. Добавьте в закладки постоянную ссылку.

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

Запускаем утилиту «SQL Server Management Studio». В Microsoft Windows Server 2012 R2 ее можно найти в списке всех программ.

Ustanovka_SQL_2012_23

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

Ustanovka_SQL_2012_23

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

Основы T-SQL

dobavlenie_bd_v_ms_sql_2012_02

dobavlenie_bd_v_ms_sql_2012_03

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

dobavlenie_bd_v_ms_sql_2012_04

Здесь можно изменить следующие свойства:

  • Параметры сортировки (Collation)
  • Модель восстановления (Recovery model)
  • Уровень совместимости (Compatibility level)
  • Тип включения (Containment type)

а также прочие параметры создаваемой базы данных. Закончив в настройками жмем «ОК».

dobavlenie_bd_v_ms_sql_2012_05

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

dobavlenie_bd_v_ms_sql_2012_06

dobavlenie_bd_v_ms_sql_2012_07

Запись опубликована в рубрике Microsoft SQL Server 2012 с метками SQL. Добавьте в закладки постоянную ссылку.

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

0. Оглавление

1. Постановка задачи

podkly-k-sql-iz-1s_004

На сервере размещена база данных с именем TestDB. В базе имеется таблица с именем Table_1, в которой 3 столбца:

  • C_DateTime, с типом datetime
  • C_Char, с типом char(50)
  • C_Numeric, с типом numeric(18,0)

podkly-k-sql-iz-1s_001

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

podkly-k-sql-iz-1s_002

podkly-k-sql-iz-1s_003

Требуется научиться записывать в базу данных и читать из базы данных из 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С:Предприятии:

podkly-k-sql-iz-1s_005

Теперь, в общем то, можно выполнять любой запрос SQL через данный COM-объект. Посмотрим как это делать на самых распространенных примерах.

3. Добавление записей в таблицу

Теперь добавим новую строку в нашу пока еще пустую таблицу. Для этого необходимо выполнить код:

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

Смотрим результат и видим, что строка появилась в таблице:

Читайте также:  Скачать Check Host - Check Host - инструмент, предназначенный для мониторинга доступности серверов и...

podkly-k-sql-iz-1s_006

4. Обновление записей в таблице

Теперь попробуем обновить все записи в таблице со значением C_Numeric=123456. Для этого выполняем код:

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

Проверяем, что запись обновилась:

podkly-k-sql-iz-1s_007

5. Просмотр выборки из таблицы

Писать и обновлять записи в таблице мы научились. Теперь посмотрим как просматривать выборку из запроса с SQL-сервера:

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

Результат в предприятии:

podkly-k-sql-iz-1s_008

6. Удаление записей из таблицы

Для удаления всех записей в таблице со значением C_Numeric=123456 выполняем код:

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

Проверяем, что записей в таблице не осталось:

podkly-k-sql-iz-1s_009

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С:Предприятии:

podkly-k-sql-iz-1s_010

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

Последнее обновление: 09.07.2017

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

Для создания базы данных используется команда .

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

Основы T-SQL

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

CREATE DATABASE usersdb

Создание базы данных в MS SQL Server 2016 с помощью T-SQL

Для выполнения команды нажмем на панели инструментов на кнопку 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 пакет :

Microsoft.Data.SqlClient и подключение к MS SQL Server в .NET Core и в NET 6

Для создания подключения к 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

Читайте также:  Упростите виртуализацию с помощью надежных функций Hyper-V: полное руководство

Последнее обновление: 31.10.2015

Чтобы хранить данные, нам естественным образом нужна база данных. Как правило, в качестве базы данных используется MS SQL Server, на примере которого мы и
посмотрим весь процесс создания БД и подключения к ней.

Основы T-SQL

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

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

Итак, создадим структуру таблицы:

Основы T-SQL

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

Основы T-SQL

После этого, если мы работаем с Visual Studio 2010, нам будет предложено просто ввести имя таблицы — введем имя Books,
и затем таблица добавляется в БД.

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

Основы T-SQL

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

Основы T-SQL

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

Основы T-SQL

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

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

Читайте также:  Эффективно организуйте HTML-файлы и получите к ним доступ с помощью нашего файлового менеджера.

Необходимый минимум для связи с сервером

Чтобы сервером можно было управлять со своего домашнего компьютера, нам понадобится настроить 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

Не присоединяйте и не восстанавливайте базы, которые получены из ненадежных или неизвестных источников.

Забыли пароль?
Еще не зарегистрированы?

Оцените статью
Хостинги