Перейти к содержимому

Как подключить базу данных

  • автор:

Практическое руководство. Подключение к базе данных и просмотр существующих объектов

Очень часто администраторам баз данных и разработчикам приходится подключаться к действующей базе данных, проектировать или просматривать ее схему, а также выполнять запросы к ее объектам. Теперь обозреватель объектов SQL Server в Visual Studio содержит специальный узел SQL Server, в котором все подключенные экземпляры SQL Server и их базы данных сгруппированы так, как это делается в SSMS. Подключенные экземпляры SQL Server могут быть локальными, например SQL Server 2022 (16.x) или локальными в Azure SQL.

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

Подключение к экземпляру базы данных

  1. Проверьте, открыт ли в Visual Studio обозреватель объектов SQL Server. Если нет, в меню Вид выберите Обозреватель объектов.
  2. Щелкните правой кнопкой мыши узел SQL Server в обозревателе объектов SQL Server и выберите Добавить SQL Server.
  3. В диалоговом окне Соединение с сервером введите в поле Имя сервера имя экземпляра, к которому нужно подключиться, учетные данные и нажмите кнопку Подключить.
  4. В обозревателе объектов SQL Server разверните узел Базы данных под экземпляром сервера. Все базы данных, размещаемые на этом экземпляре сервера, появятся в узле Базы данных .
  5. Разверните узел AdventureWorks (или другую базу данных). Обратите внимание, что сущности базы данных организованы иерархически, как это делается в среде SQL Server Management Studio.

Обратная связь

Были ли сведения на этой странице полезными?

Присоединение базы данных

В этой статье описывается, как подключить базу данных в SQL Server с SQL Server Management Studio или Transact-SQL. Эту функцию можно использовать для копирования, перемещения или обновления базы данных SQL Server.

ограничения

Предварительные условия

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

  • Если вы перемещаете базу данных из одного экземпляра в другой, ее необходимо сначала отсоединить от любого существующего экземпляра SQL. Попытка присоединить неотсоединенную базу данных приведет к возникновению ошибки. Дополнительные сведения см. в разделе Отсоединение базы данных.
  • При присоединении базы данных должны быть доступны все ее файлы данных. Они часто имеют расширения .MDF или .NDF (файлы данных), а также .LDF (файлы журнала транзакций). Кроме того, должны присутствовать и быть доступными все файловые группы для данных FILESTREAM. Дополнительные сведения о присоединении базы данных с поддержкой FILESTREAM см. в статье Перемещение базы данных с поддержкой FILESTREAM.
  • Если у какого-либо файла данных путь отличается от того, каким он был при первом создании или последнем присоединении, необходимо указать текущий путь к файлу.
  • Учетная запись службы ядра СУБД должна обладать разрешениями на чтение файлов в их новом расположении.
  • Если MDF-файлы и LDF-файлы находятся в разных каталогах и один из путей содержит \\?\GlobalRoot , при присоединении базы данных произойдет сбой.

Для чего использовать присоединение?

При перемещении файлов базы данных в пределах одного экземпляра рекомендуется использовать запланированное перемещение ALTER DATABASE вместо отсоединения и присоединения. Дополнительные сведения см. в статье Move User Databases.

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

Безопасность

Разрешения на доступ к файлам устанавливаются во время ряда операций с базами данных, включая их отсоединение и присоединение. При присоединении и отсоединении базы данных ядро СУБД пытается олицетворить учетную запись Windows работающего подключения, чтобы предоставить учетной записи разрешения для доступа к файлам базы данных и журналов. Для учетных записей со смешанным режимом безопасности, использующих учетные данные SQL Server, олицетворение может завершиться сбоем.

В следующей таблице перечислены разрешения файлов базы данных и журналов после завершения присоединения или отсоединения, а также указано, может ли ядро СУБД олицетворить подключающуюся учетную запись.

Операция Подключение учетной записи можно олицетворить Разрешения на файлы предоставляются
Detach Да Только учетная запись, выполняющая операцию. Администратор операционной системы может добавить дополнительные учетные записи, если они понадобятся после отсоединения базы данных.
Detach No Учетной записи службы SQL Server (MSSQLSERVER) и членам локальной группы администраторов Windows.
Attach Да Учетной записи службы SQL Server (MSSQLSERVER) и членам локальной группы администраторов Windows.
Attach No Учетной записи службы SQL Server (MSSQLSERVER).

Дополнительные сведения о разрешениях файловой системы, предоставляемых идентификаторам безопасности служб для SQL Server, см. в статье Настройка разрешений файловой системы для доступа к ядру СУБД.

Не рекомендуется подключать или восстанавливать базы данных, полученные из неизвестных или ненадежных источников. В этих базах данных может содержаться вредоносный код, вызывающий выполнение непредусмотренных инструкций Transact-SQL или появление ошибок из-за изменения схемы или физической структуры базы данных. Перед тем как использовать базу данных, полученную из неизвестного или ненадежного источника, выполните на тестовом сервере инструкцию DBCC CHECKDB для этой базы данных, а также изучите исходный код в базе данных, например хранимые процедуры и другой пользовательский код. Дополнительные сведения о присоединении баз данных и сведения об изменениях, вносимых при присоединении баз данных в метаданные, см. в статье Присоединение и отсоединение базы данных (SQL Server).

Разрешения

Требуется разрешение CREATE DATABASE , CREATE ANY DATABASE или ALTER ANY DATABASE .

Использование SQL Server Management Studio (SSMS)

Перед перемещением базы данных

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

  1. В обозревателе объектов SQL Server Management Studio подключитесь к экземпляру ядра СУБД SQL Server, а затем разверните экземпляр.
  2. Раскройте список Базы данныхи выберите имя пользовательской базы данных, которую необходимо отсоединить.
  3. Щелкните правой кнопкой мыши имя базы данных и выберите Свойства. Выберите страницу Файлы и просмотрите записи в таблице Файлы базы данных.

Убедитесь, что перед отсоединением, перемещением и присоединением базы данных вы проверили все связанные с ней файлы. Затем переходите к этапам отсоединения, копирования файлов и присоединения базы данных, описанным в следующем разделе. Дополнительные сведения см. в разделе Отсоединение базы данных.

Присоединение базы данных

  1. В обозревателе объектов SQL Server Management Studio подключитесь к экземпляру ядра СУБД SQL Server, а затем выберите, чтобы развернуть это представление экземпляра в SSMS.
  2. Щелкните правой кнопкой мыши узел Базы данных и выберите Присоединить.
  3. В диалоговом окне Присоединение базы данных выберите Добавить, чтобы указать присоединяемую базу данных. В диалоговом окне Поиск файлов базы данных выберите расположение базы данных и разверните дерево каталогов, чтобы найти и выбрать ее MDF-файл, например: C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\AdventureWorks2022_Data.mdf

Внимание При попытке выбора базы данных, которая уже присоединена, возникает ошибка.

Базы данных для присоединения
Отобразятся сведения о выбранных базах данных.
Отображается значок, указывающий на состояние операции присоединения. Возможные варианты значков перечислены в описании Состояние ниже. Расположение файла MDF
Отображается путь и имя выбранного MDF-файла. Имя базы данных
Отображается имя базы данных. Присоединить как
Необязательный параметр, указывает другое имя, под которым присоединяется база данных. Ответственное лицо
Содержит раскрывающийся список возможных владельцев базы данных, из которого при необходимости можно выбрать другого владельца. Состояние
Отображает состояние базы данных в соответствии со следующей таблицей:

Значок Текст состояния Description
(Нет значка) (Нет текста) Присоединение не начато или находится в режиме ожидания для этого объекта. Это состояние по умолчанию при открытии диалогового окна.
Зеленый, указывающий направо треугольник В процессе Операция присоединения была запущена, но не завершена.
Зеленый флажок Удачное завершение Объект успешно присоединен.
Красный кружок с белым крестом внутри Ошибка При выполнении операции присоединения возникла ошибка, и операция не была успешно завершена.
Кружок с двумя черными квадратами (слева и справа) и двумя белыми квадратами (сверху и снизу) Остановлено Присоединение не было завершено, поскольку вы остановили его выполнение.
Кружок, содержащий изогнутую стрелку, указывающую в направлении против часовой стрелки Выполнен откат Операция присоединения была успешной, но был выполнен ее откат из-за ошибки, возникшей при вложении другого объекта.

Сообщение
Отображается пустое сообщение или гиперссылка «Файл не найден». Прибавить
Найдите необходимые основные файлы базы данных. Когда вы выбираете MDF-файл, необходимые сведения автоматически вводятся в соответствующие поля сетки Базы данных для присоединения. Удалить
Удаляет выбранный файл из сетки Базы данных для присоединения . Сведения о базе данных «
Отображаются имена файлов, которые необходимо присоединить. Чтобы проверить или изменить путь к файлу, нажмите кнопку Обзор ().

Заметка Если файл не существует, в столбце сообщения отображается сообщение «Не найдено». Если файл журнала не найден, он существует в другом каталоге или удален. Необходимо или обновить путь файла в сетке Сведения о базе данных таким образом, чтобы этот путь указывал на правильное расположение, или удалить файл журнала из сетки. Если MDF-файл не найден, необходимо обновить путь этого файла в сетке таким образом, чтобы этот путь указывал на правильное расположение.

Использование Transact-SQL

Перед перемещением базы данных

Если вы перемещаете базу данных, перед ее отсоединением от существующего экземпляра SQL Server просмотрите связанные с ней файлы и их текущее расположение в представлении системного каталога sys.database_files . Для получения дополнительной информации см. sys.database_files (Transact-SQL).

  1. В СРЕДЕ SQL Server Management Studio выберите новый запрос , чтобы открыть редактор запросов.
  2. Скопируйте следующий скрипт Transact-SQL в редактор запросов и нажмите кнопку «Выполнить«. Этот скрипт показывает расположение физических файлов базы данных. Убедитесь, что при перемещении базы данных путем отсоединения и присоединения вы проверили все файлы.

USE [database_name] GO SELECT type_desc, name, physical_name from sys.database_files; 

Убедитесь, что перед отсоединением, перемещением и присоединением базы данных вы проверили все связанные с ней файлы. Затем переходите к этапам отсоединения, копирования файлов и присоединения базы данных, описанным в следующем разделе. Дополнительные сведения см. в разделе Отсоединение базы данных.

Присоединение базы данных

  1. Соединитесь с ядром СУБД .
  2. На стандартной панели выберите пункт Создать запрос.
  3. Выполните инструкцию CREATE DATABASE с предложением FOR ATTACH . Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. Этот пример присоединяет все файлы базы данных AdventureWorks2022 и переименовывает базу данных MyAdventureWorks в .
CREATE DATABASE MyAdventureWorks ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'), (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf') FOR ATTACH; 

Если в вашей базе данных содержатся дополнительные файлы данных (чаще всего .MDF или .NDF), их необходимо включить в инструкцию CREATE DATABASE . FOR ATTACH . Кроме того, в инструкцию также следует включить все файловые группы для данных FILESTREAM. Дополнительные сведения о присоединении базы данных с поддержкой FILESTREAM см. в статье Перемещение базы данных с поддержкой FILESTREAM.

Заметка Кроме того, можно вызвать хранимую процедуру sp_attach_db или sp_attach_single_file_db . Однако эти процедуры будут удалены в будущей версии Microsoft SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого рекомендуется использовать CREATE DATABASE . FOR ATTACH .

После обновления базы данных SQL Server

Уровень совместимости базы данных

После обновления базы данных с помощью присоединения она становится доступной. База данных автоматически обновится до уровня внутренней версии нового экземпляра. Если база данных содержит полнотекстовые индексы, то в процессе обновления будет произведен их импорт, сброс или перестроение в зависимости от установленного значения свойства сервера Режим обновления полнотекстового каталога . Если выбран режим обновления Импортировать или Перестроить, полнотекстовые индексы будут недоступны во время обновления. В зависимости от объема индексируемых данных импорт может занять несколько часов, а перестроение — в несколько (до 10) раз больше. Обратите внимание, что если при обновлении выбран режим Импортировать, а полнотекстовый каталог недоступен, то связанные с ним полнотекстовые индексы будут перестроены.

После обновления уровень совместимости базы данных останется неизменным, если только он не является в новой версии неподдерживаемым. В последнем случае обновленный уровень совместимости базы данных устанавливается как самый низкий из поддерживаемых. Например, если вы подключаете базу данных, которая была уровнем совместимости 90 перед присоединением к экземпляру SQL Server 2019 (15.x), после обновления уровня совместимости установлено значение 100, что является самым низким поддерживаемым уровнем совместимости в SQL Server 2019 (15.x). Дополнительные сведения см. в разделе Уровень совместимости ALTER DATABASE (Transact-SQL).

Система отслеживания измененных данных (CDC)

Если вы подключаете базу данных из экземпляра SQL Server 2014 (12.x) или более ранней версии, включив запись измененных данных (CDC), необходимо выполнить следующую команду, чтобы обновить метаданные отслеживания измененных данных (CDC):

USE EXEC sys.sp_cdc_vupgrade 

См. также

  • Отсоединение базы данных и подключение (SQL Server)
  • Отсоединение базы данных
  • CREATE DATABASE (SQL Server Transact-SQL)
  • Настройка разрешений файловой системы для доступа к компоненту ядра СУБД

Как подключить базу данных

После того, как описатель базы данных создан или добавлен в список слоев, необходимо указать какие объекты ее будут использовать.

Базу данных можно подключить к двум видам объектов: к примитивам и к типовым объектам. Примитивы слоя могут использовать только одну общую базу. Каждый же типовой объект может использовать свою базу данных. При выделении элемента слоя с помощью инструмента « Информация » (кнопка ) ZuluGIS произведет запрос к используемой базе данных через созданный описатель. Если выделенный элемент является нетипизированным объектом слоя (примитивом), то будет использоваться общая база данных, а если элемент является объектом некоторого типа, то база данных будет взята из информации о типе объекта. Выполняя запрос к базе данных, ZuluGIS будет использовать идентификатор выбранного элемента как значение ключевого поля, которое выбрано как поле связи с картой при создании описателя базы данных. Результаты запроса будут отображаться в панели окна семантической информации.

Подключение базы данных к примитивам слоя

Для того чтобы указать, какая база данных будет использоваться примитивами слоя надо:

  1. Открыть окно Структура слоя — кнопка (слой при этом должен быть не редактируемым).
  2. Слева в дереве выбрать пункт Примитивы .
  3. В открывающемся списке База данных выбрать необходимую базу данных.
  4. Сохранить произведенные изменения с помощью кнопки Сохранить .

Подключение базы к примитивам

Рисунок 584. Подключение базы к примитивам

Подключение базы данных к типовым объектам слоя

Для подключения базы данных к определенному типу объектов слоя надо:

  1. Открыть окно Структура слоя — кнопка (слой при этом должен быть не редактируемым).
  2. Слева в дереве типов и режимов выбрать нужный тип.
  3. Справа в открывшейся вкладке, относящейся к типу, в разделе База данных из открывающегося списка выбрать базу данных.
  4. Сохранить произведенные изменения с помощью кнопки Сохранить .

Подключение базы к типовому объекту

Рисунок 585. Подключение базы к типовому объекту

При создании слоя типовой тепловой (водопроводной, газовой, паровой) сети через меню Задачи нет необходимости создавать и подключать базы данных для типовых объектов слоя. Создание и подключение баз данных происходит автоматически .

Подключение баз данных SQL Server

В этом разделе описывается процедура подключения базы данных в SQL Server с помощью среды SQL Server Management Studio. Одновременно может быть подключена только одна база данных.

Для подключения базы данных необходимо иметь любое из следующих разрешений: CREATE DATABASE (Создание базы данных), CREATE ANY DATABASE (Создание любой базы данных) или ALTER ANY DATABASE (Изменение любой базы данных). Обычно эти разрешения предоставляются роли sysadmin экземпляра.

Как подключить базу данных

  1. Запустите среду Microsoft SQL Server Management Studio.
  2. Подключитесь к требуемому экземпляру SQL Server и разверните его.
  3. Правой кнопкой мыши щелкните пункт Базы данных и щелкните Подключить .
  4. Нажмите кнопку Добавить .
  5. В диалоговом окне Поиск файлов баз данных найдите и выберите MDF-файл базы данных.
  6. В разделе Сведения о базе данных убедитесь, что остальные файлы базы данных (NDB-файлы и LDF-файлы) также найдены. Подробнее. Файлы базы данных SQL Server могут быть не найдены автоматически, если:
    • Они находятся в расположении, отличном от расположения по умолчанию, или они не находятся в одной папке с основным файлом базы данных (MDF). Решение: Укажите путь к требуемым файлам вручную в столбце Путь к текущему файлу .
    • Вы восстановили неполный набор файлов, составляющих базу данных. Решение: Восстановите отсутствующие файлы базы данных SQL Server из резервной копии.
  7. Когда все файлы будут найдены, нажмите кнопку ОК .

Дата последней сборки: 6 марта 2023 г.

Веб-справка по Acronis Cyber Protect 15 Обновление 6 . © Acronis International GmbH, 2003-2023

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *