Пример создания/подключения локальной базы данных Microsoft SQL Server, которая размещается в «*.mdf»-файле
Пример создания/подключения локальной базы данных Microsoft SQL Server , которая размещается в «*.mdf» -файле
Содержание
- Условие задачи
- Выполнение
Поиск на других ресурсах:
Условие задачи
Используя средства Microsoft Visual Studio создать локальную базу данных, которая размещается в «*.mdf» -файле. Имя базы данных – «MyDataBase.mdf» . База данных должна использоваться в системе управления реляционными базами данных Microsoft SQL Server .
Выполнение
1. Запустить MS Visual Studio . Утилита Server Explorer
Система Microsoft Visual Studio имеет в наличии мощные встроенные средства создания и управления базами данных. К таким средствам относится система управления реляционными базами данных Microsoft Visual Studio .
Для работы с базами данных в системе Microsoft Visual Studio используется утилита Server Explorer (рисунок 1).
Чтобы вызвать окно Server Explorer используется команда

Рис. 1. Окно Server Explorer
2. Создание базы данных
2.1. Команда «Connect to Database»
Существует два способа создания новой базы данных, которая размещается в «*.mdf» -файле:
- вызов команды «Connect to Database» из меню Tools (рисунок 2);
- нажатие кнопки «Connect to Database» из меню Server Explorer (рисунок 3).

Рис. 2. Команда «Connect to Database …»
Рис. 3. Команда «Connect to Database» из панели инструментов Server Explorer
2.2. Окно «Add Connection»
После вызова команды «Connect to Database» откроется окно «Add Connection» (рисунок 4).
Рис. 4. Окно « Add Connection «
В окне «Add Connection» есть возможность выполнять следующие операции:
- задавать источник данных ( Data source );
- создать новый или выбрать уже существующий файл базы данных ( Database file name );
- задавать пароль для входа в базу данных (по желанию);
- проверить соединение с базой данных ( Test Connection );
- устанавливать другие параметры.
Изменяем источник данных нажитием на кнопке «Change…» . В результате откроется окно «Change Data Source» (рисунок 5), в котором нужно выбрать источник данных ( Data Source ) и провайдера ( Data provider ). Предлагаются следующие источники данных:
- база данных Microsoft Access , которая размещается в файле “*.mdb” ;
- база данных, поддерживающая доступ с помощью драйвера ODBC ;
- база данных типа Microsoft SQL Server , в том числе и локальный сервер SQLEXPRESS ;
- база данных “Microsoft SQL Server Compact 3.5” , которая размещается в файлах с расширением “*.sdf”;
- база данных “Microsoft SQL Server Database File” , которая размещается в файлах с расширением “*.mdf” ;
- база данных Oracle .
В нашем случае (в соответствии с условием задачи) нужно выбрать «Microsoft SQL Server Database File» .

Рис. 5. Окно изменения источника данных. Выбор Microsoft SQL Server Database File
В поле «Database file name (new of existing)» нужно ввести название новой создаваемой базы данных. В нашем случае вводится имя «MyDataBase.mdf» (рисунок 6). С помощью кнопки «Browse …» можно задать папку, в которой будет размещаться файл базы данных «MyDataBase.mdf» .
На рисунке 6 задано имя новой созданной базы данных, которая размещается по следующему пути:

Рис. 6. Выбор имени создаваемой базы данных «MyDataBase.mdf»
После нажатия на OK система выдаст окно (рисунок 7), в котором нужно подтвердить создание новой базы данных.
Рис. 7. Подтверждение создания новой базы данных
После выполненных действий, будет создана новая база данных с именем «MyDataBase.mdf» . Пока что база данных не содержит ни единой таблицы, представления, диаграммы и т.п. (рисунок 8).
В базе данных программист имеет возможность создавать собственные таблицы, диаграммы, представления, хранимые процедуры, функции, типы и сборки.
Теперь базу данных «MyDataBase.mdf» можно использовать в собственных проектах.
Рис. 8. Отображение базы данных «MyDataBase.mdf» в окне Server Explorer
3. Добавление уже существующей базы данных к перечню баз данных Server Explorer
Окно Add Connection … (рисунок 4) разрешает также добавлять ранее созданную базу данных к перечню баз данных, которые отображаются в окне Server Explorer . В этом случае с помощью кнопки «Browse…» (рисунок 4) нужно выбрать ранее созданный «*.mdf» -файл базы данных.
В результате выбранный файл будет подключен к списку баз данных, которые отображаются в Server Explorer . После этого этот файл можно использовать в проектах на MS Visual Studio .
Присоединение базы данных Attach a Database
- 10/24/2016
- Чтение занимает 6 мин
-
Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions)
В этом разделе описывается присоединение базы данных в SQL Server 2019 (15.x) SQL Server 2019 (15.x) с помощью среды SQL Server Management Studio SQL Server Management Studio или Transact-SQL Transact-SQL . This topic describes how to attach a database in SQL Server 2019 (15.x) SQL Server 2019 (15.x) by using SQL Server Management Studio SQL Server Management Studio or Transact-SQL Transact-SQL . Эту функцию можно использовать для копирования, перемещения или обновления базы данных SQL Server SQL Server . You can use this feature to copy, move, or upgrade a SQL Server SQL Server database.
Предварительные требования Prerequisites
Базу данных сначала необходимо отсоединить. The database must first be detached. Попытка присоединить базу данных, которая не была отсоединена, приведет к возникновению ошибки. Attempting to attach a database that has not been detached will return an error. Дополнительные сведения см. в разделе Отсоединение базы данных. For more information, see Detach a Database.
При присоединении базы данных должны быть доступны все файлы данных (файлы MDF и LDF). When you attach a database, all data files (MDF and LDF files) must be available. Если у какого-либо файла данных путь отличается от того, каким он был при первом создании или последнем присоединении, необходимо указать текущий путь к файлу. If any data file has a different path from when the database was first created or last attached, you must specify the current path of the file.
Если при присоединении базы данных файлы MDF и LDF находятся в разных каталогах, а один из путей содержит \\?\GlobalRoot, операция завершается ошибкой. When you attach a database, if MDF and LDF files are located in different directories and one of the paths includes \\?\GlobalRoot, the operation will fail.
Для чего использовать присоединение? Is Attach the best choice?
В пределах одного экземпляра базы данных рекомендуется перемещать с помощью процедуры планового перемещения ALTER DATABASE , а не с помощью операций отсоединения и присоединения. We recommend that you move databases by using the ALTER DATABASE planned relocation procedure instead of using detach and attach, when moving database files within the same instance. Дополнительные сведения см. в статье Move User Databases. For more information, see Move User Databases.
Мы не рекомендуем использовать отсоединение и присоединение для резервного копирования и восстановления, We don’t recommend using detach and attach for Backup and Recovery. так как резервные копии журналов транзакций отсутствуют, а файлы могут быть случайно удалены. There are no transaction log backups, and it’s possible to accidentally delete files.
безопасность Security
Разрешения на доступ к файлам устанавливаются во время выполнения определенных операций с базами данных, включая отсоединение и присоединение баз данных. File access permissions are set during a number of database operations, including detaching or attaching a database. Дополнительные сведения о разрешениях на доступ к файлам, настраиваемых при отсоединении и присоединении базы данных см. в разделе Защита данных и файлов журналов электронной документации по SQL Server 2008 R2 SQL Server 2008 R2 (документация актуальна). For information about file permissions that are set whenever a database is detached and attached, see Securing Data and Log Files from SQL Server 2008 R2 SQL Server 2008 R2 Books Online (Still a valid read!)
Не рекомендуется подключать или восстанавливать базы данных, полученные из неизвестных или ненадежных источников. We recommend that you do not attach or restore databases from unknown or untrusted sources. В этих базах данных может содержаться вредоносный код, вызывающий выполнение непредусмотренных инструкций Transact-SQL Transact-SQL или появление ошибок из-за изменения схемы или физической структуры базы данных. Such databases could contain malicious code that might execute unintended Transact-SQL Transact-SQL code or cause errors by modifying the schema or the physical database structure. Перед тем как использовать базу данных, полученную из неизвестного или ненадежного источника, выполните на тестовом сервере инструкцию DBCC CHECKDB для этой базы данных, а также изучите исходный код в базе данных, например хранимые процедуры и другой пользовательский код. Before you use a database from an unknown or untrusted source, run DBCC CHECKDB on the database on a nonproduction server and also examine the code, such as stored procedures or other user-defined code, in the database. Дополнительные сведения о присоединении баз данных и сведения об изменениях, вносимых при присоединении баз данных в метаданные, см. в статье Присоединение и отсоединение базы данных (SQL Server). For more information about attaching databases and information about changes that are made to metadata when you attach a database, see Database Detach and Attach (SQL Server).
Permissions Permissions
Требуется разрешение CREATE DATABASE , CREATE ANY DATABASE или ALTER ANY DATABASE . Requires CREATE DATABASE , CREATE ANY DATABASE , or ALTER ANY DATABASE permission.
Использование среды SQL Server Management Studio Using SQL Server Management Studio
Присоединение базы данных To Attach a Database
В SQL Server Management Studio SQL Server Management Studio обозревателе объектов Компонент SQL Server Database Engine SQL Server Database Engine подключитесь к экземпляру компонента и разверните его представление в SSMS. In SQL Server Management Studio SQL Server Management Studio Object Explorer, connect to an instance of the Компонент SQL Server Database Engine SQL Server Database Engine , and then click to expand that instance view in SSMS.
Щелкните правой кнопкой мыши узел Базы данных и выберите команду Присоединить. Right-click Databases and click Attach.
Чтобы указать присоединяемую базу данных, в диалоговом окне Присоединение баз данных нажмите кнопку Добавить, в диалоговом окне Расположение файлов базы данных выберите диск, на котором находится база данных, и разверните дерево каталогов, чтобы найти и выбрать MDF-файл, например: In the Attach Databases dialog box, to specify the database to be attached, click Add; and in the Locate Database Files dialog box, select the disk drive where the database resides and expand the directory tree to find and select the .mdf file of the database; for example:
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\AdventureWorks2012_Data.mdf
При попытке выбора базы данных, которая уже присоединена, возникает ошибка. Trying to select a database that is already attached generates an error.
Базы данных для присоединения Databases to attach
Отобразятся сведения о выбранных базах данных. Displays information about the selected databases.<no column header>
Отображается значок, указывающий на состояние операции присоединения. Displays an icon indicating the status of the attach operation. Возможные значки описываются в приводимом ниже описании Состояние . The possible icons are described in the Status description, below).Расположение файла MDF MDF File Location
Отображается путь и имя выбранного MDF-файла. Displays the path and file name of the selected MDF file.Имя базы данных Database Name
Отображается имя базы данных. Displays the name of the database.Присоединить как Attach As
Необязательный параметр, указывает другое имя, под которым присоединяется база данных. Optionally, specifies a different name for the database to attach as.Владелец Owner
Содержит раскрывающийся список возможных владельцев базы данных, из которого при необходимости можно выбрать другого владельца. Provides a drop-down list of possible database owners from which you can optionally select a different owner.Состояние Status
Отображается состояние базы данных в соответствии со следующей таблицей. Displays the status of the database according to the following table.Значок Icon Текст состояния Status text Описание Description (Нет значка) (No icon) (Нет текста) (No text) Операция присоединения не была запущена или находится в режиме ожидания для этого объекта. Attach operation has not been started or may be pending for this object. Это состояние по умолчанию при открытии диалогового окна. This is the default when the dialog is opened. Зеленый, указывающий направо треугольник Green, right-pointing triangle Выполняется In progress Операция присоединения была запущена, но не завершена. Attach operation has been started but it is not complete. Зеленый флажок Green check mark Успешно Success Объект успешно присоединен. The object has been attached successfully. Красный кружок с белым крестом внутри Red circle containing a white cross Error Error При выполнении операции присоединения возникла ошибка, и операция не была успешно завершена. Attach operation encountered an error and did not complete successfully. Кружок с двумя черными квадратами (слева и справа) и двумя белыми квадратами (сверху и снизу) Circle containing two black quadrants (on left and right) and two white quadrants (on top and bottom) Остановлена Stopped Операция присоединения не была успешно завершена, т.к. пользователь остановил операцию. Attach operation was not completed successfully because the user stopped the operation. Кружок, содержащий изогнутую стрелку, указывающую в направлении против часовой стрелки Circle containing a curved arrow pointing counter-clockwise Выполнен откат Rolled Back Операция присоединения была успешной, но был выполнен ее откат из-за ошибки, возникшей при вложении другого объекта. Attach operation was successful but it has been rolled back due to an error during attachment of another object. Сообщение Message
Отображается пустое сообщение или гиперссылка «Файл не найден». Displays either a blank message or a "File not found" hyperlink.Добавление Add
Найдите необходимые основные файлы базы данных. Find the necessary main database files. Если пользователь выбирает mdf-файл, необходимые сведения автоматически вводятся в соответствующие поля сетки Базы данных для присоединения . When the user selects an .mdf file, applicable information is automatically filled in the respective fields of the Databases to attach grid.Удалить Remove
Удаляет выбранный файл из сетки Базы данных для присоединения . Removes the selected file from the Databases to attach grid.Сведения о базе данных " <имя_базы_данных> " " <database_name> " database details
Отображаются имена файлов, которые необходимо присоединить. Displays the names of the files to be attached. Чтобы проверить или изменить путь к файлу, нажмите кнопку Обзор ( . ). To verify or change the pathname of a file, click the Browse button (. ).Если файл не существует, в столбце Сообщение отображается сообщение «Не найден». If a file does not exist, the Message column displays "Not found." Если файл журнала не найден, то он существует в другом каталоге или был удален. If a log file is not found, it exists in another directory or has been deleted. Необходимо или обновить путь файла в сетке Сведения о базе данных таким образом, чтобы этот путь указывал на правильное расположение, или удалить файл журнала из сетки. You need to either update the file path in the database details grid to point to the correct location or remove the log file from the grid. Если MDF-файл не найден, необходимо обновить путь этого файла в сетке таким образом, чтобы этот путь указывал на правильное расположение. If an .ndf data file is not found, you need to update its path in the grid to point to the correct location.
Имя исходного файла Original File Name
Отображается имя присоединенного файла, принадлежащего базе данных. Displays the name of the attached file belonging to the database.Тип файла File Type
Указывается тип файла: Данные или Журнал. Indicates the type of file, Data or Log.Текущий путь к файлу Current File Path
Отображается путь к выбранному файлу базы данных. Displays the path to the selected database file. Путь может быть изменен вручную. The path can be edited manually.Сообщение Message
Отображается пустое сообщение или гиперссылка "Файл не найден". Displays either a blank message or a "File not found" hyperlink.Использование Transact-SQL Using Transact-SQL
Присоединение базы данных To attach a database
Установите соединение с компонентом Компонент Database Engine Database Engine . Connect to the Компонент Database Engine Database Engine .
На панели «Стандартная» нажмите Создать запрос. From the Standard bar, click New Query.
Выполните инструкцию CREATE DATABASE с предложением FOR ATTACH . Use the CREATE DATABASE statement with the FOR ATTACH clause.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. Copy and paste the following example into the query window and click Execute. В этом примере производится присоединение файлов базы данных AdventureWorks2012 AdventureWorks2012 с ее последующим переименованием в MyAdventureWorks . This example attaches the files of the AdventureWorks2012 AdventureWorks2012 database and renames the database to MyAdventureWorks .
Кроме того, можно вызвать хранимую процедуру sp_attach_db или sp_attach_single_file_db . Alternatively, you can use the sp_attach_db or sp_attach_single_file_db stored procedure. Но эти расширенные хранимые процедуры в будущих версиях SQL Server SQL Server будут удалены. However, these procedures will be removed in a future version of Microsoft SQL Server SQL Server . Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Вместо этого рекомендуется использовать CREATE DATABASE . FOR ATTACH . We recommend that you use CREATE DATABASE . FOR ATTACH instead.
Дальнейшие действия. После обновления базы данных SQL Server Follow Up: After Upgrading a SQL Server Database
После обновления базы данных при помощи описанного метода присоединения, эта база данных сразу становится доступной, после чего обновляется автоматически. After you upgrade a database by using the attach method, the database becomes available immediately and is automatically upgraded. Если база данных содержит полнотекстовые индексы, то в процессе обновления будет произведен их импорт, сброс или перестроение в зависимости от установленного значения свойства сервера Режим обновления полнотекстового каталога . If the database has full-text indexes, the upgrade process either imports, resets, or rebuilds them, depending on the setting of the Full-Text Upgrade Option server property. Если при обновлении выбран режим Импортировать или Перестроить, то полнотекстовые индексы во время обновления будут недоступны. If the upgrade option is set to Import or Rebuild, the full-text indexes will be unavailable during the upgrade. В зависимости от объема индексируемых данных процесс импорта может занять несколько часов, а перестроение — в несколько (до десяти) раз больше. Depending the amount of data being indexed, importing can take several hours, and rebuilding can take up to ten times longer. Обратите внимание, что если при обновлении выбран режим Импортировать, а полнотекстовый каталог недоступен, то связанные с ним полнотекстовые индексы будут перестроены. Note also that when the upgrade option is set to Import, if a full-text catalog is not available, the associated full-text indexes are rebuilt.
Если уровень совместимости пользовательской базы данных до обновления был 100 или выше, после обновления он останется таким же. If the compatibility level of a user database is 100 or higher before upgrade, it remains the same after upgrade. Если уровень совместимости до обновления был 90, в обновленной базе данных он устанавливается в 100, что является минимально поддерживаемым уровнем совместимости в SQL Server 2019 (15.x) SQL Server 2019 (15.x) . If the compatibility level is 90 before upgrade, in the upgraded database, the compatibility level is set to 100, which is the lowest supported compatibility level in SQL Server 2019 (15.x) SQL Server 2019 (15.x) . Дополнительные сведения см. в разделе Уровень совместимости инструкции ALTER DATABASE (Transact-SQL). For more information, see ALTER DATABASE Compatibility Level (Transact-SQL).
Для подключения базы данных из экземпляра под управлением SQL Server 2014 (12.x) SQL Server 2014 (12.x) или более ранней версии, в которой включена система отслеживания измененных данных (CDC), потребуется также выполнить следующую команду, чтобы обновить метаданные системы отслеживания измененных данных (CDC). If you are attaching a database from an instance running SQL Server 2014 (12.x) SQL Server 2014 (12.x) or below which had Change Data Capture (CDC) enabled, you will also need to execute the command below to upgrade the Change Data Capture (CDC) metadata.
Как добавить существующую базу данных в среде SQL Server Enterprise Manager?
Создал новую базу из SQl Query Analizer.
(create database MyEmptyBase)
После этого в окне SQL Server Enterprise Manager появилось MyEmptyBase,
а в папке C:\Program Files\Microsoft SQL Server\MSSQL\Data появились файлы
MyEmptyBase.mdf и MyEmptyBase_log.ldfЕсть чужие файлы базы с аналогичными расширениями (ldf и mdf).
Добавил их в C:\Program Files\Microsoft SQL Server\MSSQL\Data
но в окне Server Enterprise Manager они не появились.
В меню менеджера не нашёл ничего вроде (Add new database. ), как быть подскажите?Как открыть существующую базу данных в sql
Для работы с SQLite разработчики данной СУБД предоставляют консольный клиент sqlite3 . Рассмотрим вкратце, как с ним работать.
Прежде всего нам надо загрузить sqlite3. Для этого перейдем на страницу https://www.sqlite.org/download.html. Название необходимого нам пакета начинается с sqlite-tools . И на странице загрузки мы можем найти версии для Windows, Linux, MacOS:

Загрузим нужную нам версию и распакуем ее.

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

Открытие базы данных
Для открытия базы данных необходимо ввести команду .open , после которой указывается путь к базе данных. Например,
В данном случае будет открыта база данных под названием «test.db’, которая находится в той же папке, что и консольная утилита. Если базы данных не существует, то она создается.

Также можно передать абсолютный путь:
После открытия мы сможем работать с этой бд.
Создание таблицы
Для создания таблицы после открытия базы данных необходимо ввести команды CREATE TABLE , после которой указываются название таблицы и спецификация ее столбцов:
В данном случае создается таблица users , в которой два столбца: столбец name , который имеет тип text , и столбец age , который имеет тип integer
Обратите внимание, что команда завершается точкой с запятой. И все команды SQL должны завершаться точкой с запятой, благодаря чему sqlite может идентифицировать, что выполняется sql-команда.
Операции с данными
Для добавления данных применяется команда INSERT INTO . Например, добавим в таблицу users одну строку:
Теперь получим ранее добавленны данные. Для этого используем команду SELECT :



