Как присоединить базу данных sql
Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core
Последнее обновление: 31.10.2015
Чтобы хранить данные, нам естественным образом нужна база данных. Как правило, в качестве базы данных используется MS SQL Server, на примере которого мы и посмотрим весь процесс создания БД и подключения к ней.
Мы можем создать базу данных прямо в проекте, либо же создать ее на сервере MS SQL. Для хранения баз данных проекте у нас предназначена папка App_Data. Для этого нажмем правой кнопкой мыши на папку App_Data и в появившемся контекстном меню выберем Add-> New Item. . В появившемся окне добавления нового элемента выберем SQL Server Database и назовем новую базу данных Bookstore.mdf:

Мы можем создать базу данных равнозначным образом и на сервере. После этого база данных добавляется в проект, и мы можем увидеть ее в папке App_Data. Теперь в обозревателе баз данных (окно Database Explorer ) мы можем подключиться к ней и создать таблицы, которые будут хранить данные.
Раскроем узел 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 DbSetBooks < get; set; >public DbSet Purchases < get; set; >> >
Во-вторых, определим строку подключения к БД. Для этого откроем файл Web.config и добавим в конец секции configuration определение строки подключения. Однако тут надо сразу заметить, что для Visual Studio 2010 строка подключения будет отличаться от строки подключения, которая используется в Visual Studio 2012.
Итак, строка подключения для Visual Studio 2010 будет выглядеть так:
Для Visual Studio 2012 будет выглядеть определение строки подключения будет выглядеть следующим образом:
В Visual Studio 2012 в отличие от 2010-й версии мы можем использовать режим LocalDB, который предназначен прежде всего для разработчиков, представляя некоторую упрощенную версию. Поэтому в данном случае в качестве источника данных используется (LocalDB)\v11.0.
Обратите внимание, что в обоих случаях свойство name=»BookContext» должно содержать название контекста данных.
Использование подстановки |DataDirectory| позволяет опустить полный физический путь к базе данных, которая хранится в папке App_Data.
Теперь мы можем получить содержимое таблицы Books в контроллере Home:
public class HomeController : Controller < BookContext db = new BookContext(); public ActionResult Index() < return View(db.Books); >>
И вывести данные в представлении Index.cshtml:
@model IEnumerable @ < Layout = "~/Views/Shared/_Layout.cshtml"; >Распродажа книг
@foreach (BookStore.Models.Book b in Model) < Название книги
Автор
Цена
> @b.Name
@b.Author
@b.Price
Купить
Закрытие подключения
Чтобы наверняка быть уверенным, что подключение к базе данных закрыто, следует вызывать метод Dispose у контекста данных:
protected override void Dispose(bool disposing)
Это переопределенная версия метода Dispose контроллера, которая вызывается при уничтожении объекта контроллера. В нее помещается вызов db.Dispose() , который уничтожает все связанные с контекстом данных ресурсы и подключения.
Подключение баз данных SQL Server
В этом разделе описывается процедура подключения базы данных в SQL Server с помощью среды SQL Server Management Studio. Одновременно может быть подключена только одна база данных.
Для подключения базы данных необходимо иметь любое из следующих разрешений: CREATE DATABASE (Создание базы данных), CREATE ANY DATABASE (Создание любой базы данных) или ALTER ANY DATABASE (Изменение любой базы данных). Обычно эти разрешения предоставляются роли sysadmin экземпляра.
Как подключить базу данных
- Запустите среду Microsoft SQL Server Management Studio.
- Подключитесь к требуемому экземпляру SQL Server и разверните его.
- Правой кнопкой мыши щелкните пункт Базы данных и щелкните Подключить .
- Нажмите кнопку Добавить .
- В диалоговом окне Поиск файлов баз данных найдите и выберите MDF-файл базы данных.
- В разделе Сведения о базе данных убедитесь, что остальные файлы базы данных (NDB-файлы и LDF-файлы) также найдены. Подробнее. Файлы базы данных SQL Server могут быть не найдены автоматически, если:
- Они находятся в расположении, отличном от расположения по умолчанию, или они не находятся в одной папке с основным файлом базы данных (MDF). Решение: Укажите путь к требуемым файлам вручную в столбце Путь к текущему файлу .
- Вы восстановили неполный набор файлов, составляющих базу данных. Решение: Восстановите отсутствующие файлы базы данных SQL Server из резервной копии.
- Когда все файлы будут найдены, нажмите кнопку ОК .
Дата последней сборки: 6 марта 2023 г.
Веб-справка по Acronis Cyber Protect 15 Обновление 6 . © Acronis International GmbH, 2003-2023
Подключение БД MS SQL

В MS SQL можно создать базу данных с 0 или подключить существующую (не восстановление из бэкапа). Рассмотрим оба варианта. Для подключения существующей базы будем использовать одну из баз ниже, эти базы применяются для обучения.
Тестовые базы данных MS SQL для скачивания (подойдет любая):
Подключение базы данных
Нам понадобится установленный MS SQL сервер (как установить написано тут). Подключаемся к SQL серверу с помощью SSMS и распаковываем архив. Базы данных всегда состоят минимум из 2 файлов. Один файл, с расширением mdf, является самой базой данных, а ldf — это журнал транзакций. Чаще всего эти файлы кладут на разные диски (за исключение высокопроизводительных RAID массивов или SAN систем).
В открытом окне SQL Server Management Studio нажимаем указанные кнопки:

Затем нажимаем кнопку «Добавить», выбираем папку, где находится база и 2 раза кликаем по файлу с расширением mdf

Затем нажимаем «ОК» и после этого мы можем увидеть подключенную базу данных

Создание базы данных
Базу данных можно создать двумя путями. С помощью интерфейса или SQL запроса.

Для создания запроса нам нужно нажать кнопку «Создать запрос» или «New Querry»
В новом окне пишем:
CREATE DATABASE Magazine
Где «Magazine» — имя вашей базы. Можно использовать кириллические символы и пробел, но это не рекомендуется. Если в названии стоит пробел, то название стоит выделить в кавычки, например:
CREATE DATABASE "Magazine Moscow"
Если мы создаем базу, например, для 1С или для задач, где будут использоваться разные кодировки, то кодировка по умолчанию подойдет (latin1_general_cp1_ci_as). 1С все хранит в юникод формате.
Если же мы создаем базу под конкретную задачу, где будут использоваться только кирилические символы мы можем захотеть создать базу с кодировкой, что немного повысит производительность и сохранит место:
CREATE DATABASE "Magazine Moscow" COLLATE cyrillic_general_ci_as
После написания запроса нажимаем зеленую кнопку «Выполнить»:

Для создание базы через графический интерфейс нужно пройти 2 шага:

Затем заполнить название и нажать «Ок»

Возможно понадобится обновить список нажав кнопку:
SQL localDB
LocalDB – это версия SQL Server, впервые представленная в составе SQL Server 2012 Express и предназначенная специально для разработчиков. Сервер SQL LocalDB инсталлируется совместно с установкой MS Visual Studio. Можно также установить локальный сервер в составе системы SQL Server Express. Sql LocalDB очень прост в установке, для управления данными использует T-SQL, такой же язык, как и полная версия SQL Server.
Sql LocalDB имеет низкие системные требования. Процессы локального сервера запускаются и останавливаются автоматически при необходимости. Через несколько минут после закрытия последнего подключения к локальному серверу процесс завершается. LocalDB может использоваться как встроенная база данных для небольших приложений.
Управление подключениями к серверу LocalDB можно осуществлять непосредственно из интегрированной среды программирования Visual Studio. Для этого используется инструментарий SQL Server Data Tools. Поддерживается создание, изменение, переименование и удаление таблиц, хранимых процедур, типов и функций.
Локальный сервер и инструменты работы с ним устанавливаются вместе со стандартной установкой MS Visual Studio, в ином случае это можно осуществить с помощью дополнительных настроек установщика Visual Studio Installer.
Примечание. Необходимо отметить, что описываемые процедуры создания, отсоединения, присоединения и удаления баз данных при работе с локальным сервером из среды программирования MS Visual Studio можно использовать с другими SQL серверами: SQL Server, SQL Server Express.
Создание базы данных в Обозревателе объектов SQL Server
Создать базу данных можно с помощью вкладки Visual Studio Обозреватель объектов SQL Server. Для этого необходимо открыть вкладку, выбрать объект (localdb)MSSQLLocalDB, в данном объекте выбрать папку Базы данных и щелкнуть по ней правой кнопкой мыши. В появившемся контекстном меню щелкнуть на пункт Добавить новую базу данных.
В диалоговом окне Создание базы данных ввести желаемое логическое имя базы. и подтвердить создание нажатием кнопки Ок. При необходимости можно указать место для сохранения создаваемой базы данных. После этих процедур в указанном месте появятся файлы с расширением *.ldf, *.mdf базы данных – база создана.
Логическое имя базы – это название базы данных в пределах её сервера данных, по которому приложение осуществляет запросы. Логическое имя не хранится внутри файла базы и его можно назначать при следующих подключениях любое другое, должно быть уникальным в пределах сервера. Имя базы присваивается InitialCatalog в строке подключения к серверу SQL LocalDB.
Создание базы данных SQL запросом
Создание базы данных можно осуществить SQL запросом, в окне редактора Transact-SQL. Создание базы скриптом требует некоторых знаний и навыков создания SQL скриптов, но это незначительное препятствие: хорошо изложенной документации по языку запросов SQL в интернете огромное количество.
Кроме того, ошибки поможет исправить интегрированная среда Visual Studio с её развитым отладочным режимом. После создания нескольких скриптов данный способ работы с базами данных покажется более удобным и рациональным.
Выбор сервера, на котором будет создана база данных происходит во вкладке Обозреватель объектов SQL Server: правой кнопкой мыши по названию сервера вызывается контекстное меню и далее нажатие на пункт меню Создать запрос. . Откроется окно редактора T-SQL скриптов, где можно писать скрипты для выбранного сервера.
SQL скрипт создания базы данных на выбранном сервере:
-- Название базы может быть любым, уникальным в пределах сервера SQL. CREATE DATABASE NameDB -- Если написанный ниже код удалить, -- для файлов базы данных будет использоваться путь по умолчанию -- и имена файлов будет определять название базы. ON ( -- Логическое имя файла, -- используется для ссылки на физический файл во всех инструкциях Transact-SQL, -- уникальное в пределах базы данных. NAME = 'LogicalNameFile', FILENAME = 'G:DBLogicalNameFile.mdf' )
Отсоединение базы данных
Для определенных целей во время разработок требуется отсоединение базы данных от сервера LocalDB, например, для подключения к другому SQL серверу или переноса базы данных на другой компьютер. Отсоединение базы данных от сервера не удаляет файлы базы и их можно переносить, отсылать и подключать к любому SQL серверу.
Для отсоединения базы данных от локального сервера необходимо в списке баз правой кнопкой мыши щелкнуть по названию отсоединяемой базы и в контекстном меню выбрать пункт Отсоединить. При отсоединении базы данных она физически не удаляется с жесткого диска.
Отсоединение базы желательно производить без открытия решения или после закрытия решения приложения работы с данной базой данных. Иначе, после запросов записи к базе данных, отсоединить её указанным выше способом будет невозможно и возникнет исключение: «Cannot detach the database ‘DB444’ because it is currently in use». Возможно в таких случаях второе активное подключение блокирует операцию отсоединения, читайте ниже в абзаце Подключение существующей базы данных.
Примечание. Будьте осторожны при случайном выборе вместо Отсоединить – Удалить, база в таком случае удаляется физически с носителя информации компьютера и не перекидывается в корзину. Рекомендуется время от время делать копии рабочей базы данных.
Отсоединение базы данных SQL скриптом
Для отсоединения базы данных рекомендуется использовать готовую функцию SQL, называемую хранимой процедурой. Данные функции упрощает повторное использование ранее созданного SQL скрипта или нескольких объединенных инструкций для сервера баз данных.
Выбор сервера и вызов контекстного меню для создания запроса аналогично описанному и показанному анимацией в Создание базы данных SQL запросом.
Программный код скрипта SQL отсоединения базы данных, данный код вводится в окно редактора Transact-SQL:
-- Хранимая процедура для SQL Server EXEC sp_detach_db 'NameDB';
Подключение существующей базы данных
К локальному SQL серверу можно подключить ранее отсоединённую базу или созданную в другой программе управления MS SQL базами данных.
Чтобы подключить существующую базу данных, находящуюся в какой-либо папке на компьютере необходимо в окне Обозреватель серверов щелкнуть мышью на ярлык Подключиться к базе данных. Либо щелкнуть правой мышью на заголовок Подключение данных. В появившемся контекстном меню щелкнуть на Добавить подключение.
В результате этих действий появится модальное окно ввода информации для подключения выбранного источника данных. Необходимо ввести путь к локальному серверу (localdb)MSSQLLocalDB (путь может быть отличаться от стандартного), выбрать Проверка подлинности Windows (или другой вид проверки, например, имя пользователя с паролем). В области Подключение к базе данных выбрать пункт Прикрепить файл базы данных. Далее указать путь к базе данных и ввести логическое имя базы. Если не указывать логическое имя, то названию базы присвоится строка пути до файла базы данных.
Имя подключаемого SQL локального сервера можно получить на вкладке Обозреватель объектов SQL серверов. При формальной попытке переименовать SQL сервер, в окошечке редактирования названия отобразиться название сервера. Либо правой кнопкой щелкнуть на названии сервера, вызвать его свойства и тогда название можно получить из строки подключения. Например, Data Source=(localdb)MSSQLLocalDB;… , (localdb)MSSQLLocalDB — и есть название сервера.
Подключения из вкладок Обозреватель серверов и Обозреватель объектов SQL Server это два активных подключения и в некоторых случаях они не позволяют выполнять операции с совместной базой данных, например, отсоединение. В таком случае можно закрыть подключение в окне Обозреватель серверов при помощи контекстного меню над именем базы. В случае отсоединения базы данных быстро восстановить подключение можно ярлыком Обновить либо из контекстного меню над именем подключенной базы. Такие активные подключения позволяют вам создавать объекты SQL в базе, читать и записывать данные.
Присоединение базы данных запросом на языке SQL
Существующую базу данных можно подключить к локальному серверу программным кодом на языке SQL. Во вкладке Обозреватель объектов SQL Server щелкнуть правой кнопкой мыши на строку с именем локального сервера и в контекстном меню нажать на команду Создать запрос. . Visual Studio откроет окно редактора Transact-SQL в котором можно создавать и редактировать SQL скрипты для выбранного сервера баз данных. Анимацию выбора сервера и вызова контекстного меню для создания запроса можно посмотреть в Создание базы данных SQL запросом.
Скрипт присоединения базы данных содержит обязательные данные: имя новой базы данных, полные пути к файлам базы данных, параметр FOR ATTACH (указывающий, что происходит присоединение существующей базы данных, но не создание новой).
SQL скрипт подключения существующей базы данных:
-- SQL запрос подключения существующей базы данных. CREATE DATABASE -- Новое базы данных, уникальное в пределах сервера SQL. DBInternetShop -- Настоящие пути к файлам базы данных. ON (FILENAME = 'G:DBDBInternetShop.mdf'), (FILENAME = 'G:DBDBInternetShop_log.ldf') FOR ATTACH
Удаление базы данных
Тестовые базы данных, дубликаты после работы с базами за ненужностью можно удалить с жесткого диска компьютера. Процесс удаления баз данных похож на отсоединение, но с важным отличием — файлы базы данных удаляются физически, без сохранения в корзине компьютера.
Чтобы случайно не удалить экземпляр-беловик базы данных настоятельно рекомендуется делать архивные копии файлов всех рабочих баз.
Для удаления базы данных необходимо вызвать контекстное меню правой кнопкой мыши на имени удаляемой базы. Выбрать пункт удалить, щелкнуть на данный пункт и в появившемся окошке нажать кнопку Ок.
По умолчанию галочка на Закрыть существующие соединения не ставится и если удаляемая база данных открыта в каком-либо подключении удалить её будет невозможно. Такие настройки по умолчанию уменьшают вероятность случайного удаления рабочей базы.
Для надёжного удаления подключенной базы данных предназначен пункт Закрыть существующие соединения. После неудачной попытки удаления необходимо заново вызвать модальное окно и поставить галочку на данный пункт. После этого база данных будет успешно удалена.
SQL скрипт удаления базы данных
Базу данных можно удалить SQL запросом, при этом база удаляется с сервера и физически удаляются файлы, принадлежащие данной базы. Удаление базы ответственная процедура поскольку восстановить её можно будет только из предварительно сделанной резервной копии. Перед удалением баз данных рекомендуется создавать резервные копии. Вызов окна редактора SQL запросов для выбранного сервера подробно описано выше, в Создание базы данных SQL запросом.
Скрипт SQL перед удалением может предварительно проверить существование данной базы на текущем сервере:
-- Скрипт удаляет базу данных, если база данных не существует ошибка не возникает. DROP DATABASE IF EXISTS -- с SQL Server 2016 (13.x) и выше NameDB;
Строка подключения к LocalDB
Строку подключения можно увидеть при вызове окна свойств правой кнопкой на объект SQL Server в окне Обозреватель объектов SQL Server. Например:
Data Source=(localdb)MSSQLLocalDB; Integrated Security=True;Connect Timeout=30; Encrypt=False;TrustServerCertificate=False; ApplicationIntent=ReadWrite; MultiSubnetFailover=False
Из строки подключения можно получить путь подключения к серверу. В окне свойств можно увидеть местонахождение по умолчанию баз данных текущего SQL сервера и другие характеристики.
SQL Server
Серверы VPS/VDS
- Удобная панель управления
- Высокая стабильность
- Гарантируемые выделяемые ресурсы
- Защита от DDoS атак
- Операционные системы Windows, Linux