база данных в процессе восстановления sql что делать

SQL Server отображает базу данных в процессе восстановления

Сегодня, после сбоя питания, одна база данных (с восстановлением: полная) показывает «In Recovery» в SSMS. Итак:

myDatabase (В режиме восстановления) (состояние базы данных: восстановление, завершение работы)

После завершения процесса восстановления в базе данных отображается имя myDatabase без «(В процессе восстановления)». Я думал, что проблема решена, но это не так.

Когда я запустил приложение, использующее эту базу данных, дополнительный текст «(В процессе восстановления)» снова появляется рядом с именем моей базы данных.

Я дождался завершения процесса восстановления, а затем я перевел базу данных в автономном режиме и вернул ее в сеть.

Я перезапустил сервер, перезапустил компьютер, и когда мое приложение запустило дополнительный текст, появится снова. В журналах SQL Server сообщение «Запуск базы данных« myDatabase »появляется несколько раз. Кажется, что база данных работает, потому что я могу вставлять данные, но состояние показывает, что что-то происходит.

Журнал сервера не показывает ничего интересного. Единственное ненормальное в том, что у меня есть 30 записей «Запуск базы данных« myDatabase ».

Я знаю, что при запуске сервера каждая база данных проходит восстановление, прежде чем она будет готова к использованию. Но в моем случае база данных поступает в сеть, а затем показывает «myDatabase (In recovery)». Если я закрою приложение, база данных переходит к Status: Normal. Это сводит меня с ума.

Я даже установил новый экземпляр SQL Server и поместил на нем старую базу данных «myDatabase». Проблема все еще происходит.

Когда я запускаю этот запрос:

Он показывает восстановление, онлайн, подозреваемый и обратно в онлайн, а затем восстановление и т. д.

Источник

Восстановление базы данных в новое место (SQL Server)

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

Перед началом работы

Ограничения

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

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

Чтобы восстановить зашифрованную базу данных, требуется доступ к сертификату или асимметричному ключу, использовавшемуся для шифрования этой базы данных. Без сертификата или асимметричного ключа восстановить базу данных невозможно. Необходимо сохранять сертификат, используемый для шифрования ключа шифрования базы данных, пока существует потребность в резервной копии. Дополнительные сведения см. в статье SQL Server Certificates and Asymmetric Keys.

Рекомендации

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

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

Permissions

Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.

Восстановление базы данных в новую папку и при необходимости ее переименование с помощью SSMS

После подключения к соответствующему экземпляру компонента Компонент SQL Server Database Engineв обозревателе объектов разверните дерево сервера, щелкнув имя сервера.

База данных

Устройство

В списке Источник: Устройство: База данных выберите имя базы данных, из которой нужно восстановить резервные копии.

В сетке Резервные наборы данных для восстановления выберите нужные резервные наборы. В этой сетке отображаются резервные копии, доступные в указанном месте. По умолчанию предлагается план восстановления. Чтобы переопределить предложенный план восстановления, можно изменить выбранные элементы в сетке. Выбор всех резервных копий, которые зависят от восстановления более ранних копий, отменяется автоматически, как только отменяется выбор более ранних копий.

Дополнительные сведения о столбцах сетки Резервные наборы данных для восстановления см. в статье Восстановление базы данных (страница «Общие»).

На странице Параметры настройте параметры, если в этом есть необходимость. Дополнительные сведения об этих параметрах см. в статье Восстановление базы данных (страница «Параметры»).

Восстановление базы данных в новую папку и при необходимости ее переименование с помощью T-SQL

При необходимости определите логическое и физическое имена файлов в резервном наборе, содержащем полную резервную копию базы данных, которую нужно восстановить. Эта инструкция возвращает список файлов базы данных и журнала, содержащихся в резервном наборе данных. Базовый синтаксис:

RESTORE FILELISTONLY FROM WITH FILE = номер_файла_резервного_набора

Эта инструкция также поддерживает некоторые параметры WITH. Дополнительные сведения см. в разделе Инструкция RESTORE FILELISTONLY (Transact-SQL).

Используйте инструкцию RESTORE DATABASE для восстановления полной резервной копии базы данных. По умолчанию файлы данных и журналов восстанавливаются в исходных местоположениях. При перемещении базы данных используйте параметр MOVE, чтобы переместить каждый файл базы данных и избежать конфликтов с существующими файлами.

Базовый синтаксис Transact-SQL для восстановления базы данных в новом месте и с новым именем:

В следующей таблице аргументы инструкции RESTORE описаны применительно к восстановлению базы данных в новом месте. Дополнительные сведения об этих аргументах см. в разделе RESTORE (Transact-SQL).

новое_имя_базы_данных
Новое имя базы данных.

При восстановлении базы данных на другом экземпляре сервера можно указать исходное имя базы данных вместо нового.

< DISK | TAPE >= имя_физического_устройства_резервного_копирования

< RECOVERY | NORECOVERY >
Если в базе данных используется модель полного восстановления, может возникнуть необходимость применить резервные копии журналов транзакций после восстановления базы данных. В этом случае укажите параметр NORECOVERY.

В противном случае используйте параметр RECOVERY, который применяется по умолчанию.

Если этот параметр не указан, по умолчанию используется первый резервный набор на устройстве резервного копирования.

Дополнительные сведения см. в подразделе «Указание резервного набора данных» раздела Аргументы инструкции RESTORE (Transact-SQL).

ПараметрОписание
логическое_имя_файла_в_резервной_копииУказывает логическое имя файла данных или журнала в резервном наборе данных. Логическое имя файла данных или журнала в резервном наборе данных соответствует его логическому имени в базе данных на момент создания резервного набора данных.

Примечание. Для получения списка логических файлов из набора резервных данных следует использовать инструкцию RESTORE FILELISTONLY.

имя_файла_в_операционной_системеЗадает новое место для файла, указанного параметром логическое_имя_файла_в_резервной_копии. Файл будет восстановлен в этом месте.

Параметр имя_файла_в_операционной_системе может также указать новое имя для восстановленного файла. Это необходимо, если создается копия существующей базы данных на том же экземпляре сервера.

nЗаполнитель, который показывает, что можно указать дополнительные инструкции MOVE.

Примеры (Transact-SQL)

Пример создания полной резервной копии базы данных AdventureWorks2012 см. в разделе Создание полной резервной копии базы данных (SQL Server).

Источник

Восстановление базы данных (страница «Параметры»)

Страница Параметры диалогового окна Восстановление базы данных используется для изменения поведения и результата операции восстановления.

Восстановление резервной копии базы данных с помощью среды SQL Server Management Studio

Параметры

Параметры восстановления

Данный параметр рекомендуется использовать только после тщательного анализа последствий. Дополнительные сведения см. в разделе Аргументы инструкции RESTORE (Transact-SQL).

Сохранить параметры репликации [WITH KEEP_REPLICATION]
Сохраняет настройки репликации при восстановлении опубликованной базы данных на сервере, отличном от сервера, на котором была создана база данных. Этот параметр имеет значение, только если во время создания резервной копии проводилась репликация базы данных.

Этот параметр доступен только с параметром Оставить базу данных готовой к использованию, выполнив откат незавершенных транзакций (описанным ниже в данной таблице), который эквивалентен восстановлению резервной копии с помощью параметра RECOVERY.

Ограничить доступ к восстановленной базе данных [WITH RESTRICTED_USER]
Доступ к восстановленной базе данных будет только у пользователей db_owner, dbcreator или sysadmin.

Выбор этой функции равнозначен использованию параметра RESTRICTED_USER инструкции RESTORE.

Состояние восстановления

RESTORE WITH RECOVERY
Восстанавливает базу данных после восстановления последней резервной копии, отмеченной в сетке Восстанавливаемые резервные наборы данных на странице Общие. Этот параметр применяется по умолчанию и равнозначен указанию предложения WITH RECOVERY в инструкции RESTORE (Transact-SQL).

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

RESTORE WITH NORECOVERY
Оставляет базу данных в состоянии восстановления. Это позволяет восстановить дополнительные резервные копии в текущем пути восстановления. Чтобы восстановить базу данных, необходимо выполнить операцию восстановления с параметром RESTORE WITH RECOVERY (см. предыдущий параметр).

Этот параметр равнозначен указанию предложения WITH NORECOVERY в инструкции RESTORE.

Если выбран этот параметр, то параметр Сохранить настройки репликации недоступен.

RESTORE WITH STANDBY
Оставляет базу данных в состоянии резерва, в котором база данных доступна в ограниченном режиме только для чтения. Этот параметр равнозначен указанию предложения WITH STANDBY в инструкции RESTORE.

Резервный файл
Указывает резервный файл. Резервный файл можно выбрать или ввести полный путь к нему непосредственно в текстовое поле.

Резервная копия заключительного фрагмента журнала

Позволяет задать создание резервной копии заключительного фрагмента журнала вместе с восстановлением базы данных.

Создание резервной копии заключительного фрагмента журнала перед восстановлением
Установите этот флажок, чтобы задать создание резервной копии заключительного фрагмента журнала.

Если для точки во времени, выбранной в диалоговом окне Временная шкала резервного копирования требуется резервная копия заключительного фрагмента журнала, этот флажок будет установлен и снять его будет нельзя.

Файл резервной копии
Указывает файл резервной копии для заключительного фрагмента журнала. Файл резервной копии можно выбрать, либо ввести его имя непосредственно в текстовое поле.

Подключения к серверу

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

Закрыть существующие соединения
Если имеются активные соединения с базой данных, то операция восстановления может завершиться ошибкой. Проверьте окно Закрыть существующие соединения и убедитесь, что все активные соединения между Среда Management Studio и базой данных закрыты. Этот параметр переводит базу данных в однопользовательский режим перед началом выполнения процедуры восстановления, а затем возвращает в многопользовательский режим после ее завершения.

prompt

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

Этот параметр позволяет приостанавливать последовательность восстановления после восстановления каждой резервной копии. Он особенно полезен, когда нужно поменять ленты в устройстве, например если на сервере имеется только одно ленточное устройство. Если все готово для продолжения, нажмите кнопку ОК.

Если очередная резервная копия является резервной копией файлов, используйте задачу Восстановление файлов и файловых групп. Дополнительные сведения см. в статье Восстановление файлов и файловых групп (SQL Server).

Источник

Восстановление резервной копии базы данных в простой модели восстановления (Transact-SQL)

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

При восстановлении базы данных из полной резервной копии системный администратор должен быть единственным пользователем, работающим с базой данных.

Предварительные требования и рекомендации

Чтобы восстановить зашифрованную базу данных, необходимо иметь доступ к сертификату или асимметричному ключу, который использовался для шифрования базы данных. Без сертификата или асимметричного ключа восстановить базу данных нельзя. Поэтому сертификат, используемый для шифрования ключа шифрования базы данных, должен храниться в течение всего времени, пока есть необходимость в резервной копии. Дополнительные сведения см. в статье SQL Server Certificates and Asymmetric Keys.

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

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

Если уровень совместимости пользовательской базы данных до обновления был 100 или выше, после обновления он останется таким же. Если уровень совместимости до обновления был 90, в обновленной базе данных он устанавливается в значение 100, что является минимально поддерживаемым уровнем совместимости в SQL Server 2019 (15.x).

Процедуры

Восстановление полной резервной копии базы данных

Для восстановления полной резервной копии базы данных выполните инструкцию RESTORE DATABASE, указав:

Имя базы данных для восстановления.

устройство резервного копирования, с которого происходит восстановление полной резервной копии базы данных;

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

Чтобы восстановить зашифрованную базу данных, необходимо иметь доступ к сертификату или асимметричному ключу, который использовался для шифрования базы данных. Без сертификата или асимметричного ключа восстановить базу данных нельзя. Поэтому сертификат, используемый для шифрования ключа шифрования базы данных, должен храниться в течение всего времени, пока есть необходимость в резервной копии. Дополнительные сведения см. в статье SQL Server Certificates and Asymmetric Keys.

Дополнительно можно указать следующее.

Пример

Описание

В следующем примере восстанавливается полная резервная копия базы AdventureWorks2012 с магнитной ленты.

Источник

Восстановление резервной копии базы данных с помощью среды SSMS

Этот раздел содержит сведения о восстановлении полной резервной копии базы данных с использованием среды SQL Server Management Studio.

Важно!

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

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

Чтобы восстановить зашифрованную базу данных, потребуется доступ к сертификату или асимметричному ключу, использовавшемуся для шифрования этой базы данных. Без сертификата или асимметричного ключа вы не сможете восстановить базу данных. Сохраняйте сертификат, который использовали для шифрования ключа шифрования базы данных, в течение всего периода хранения резервной копии. Дополнительные сведения см. в статье SQL Server Certificates and Asymmetric Keys.

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

Если выбран режим обновления Импорт, а полнотекстовый каталог недоступен, то связанные с ним полнотекстовые индексы будут перестроены. Сведения о просмотре и изменении параметра Режим обновления полнотекстового поиска см. в статье Наблюдение за полнотекстовым поиском для экземпляра сервера и управление им.

Сведения о восстановлении SQL Server из службы хранилища BLOB-объектов Microsoft Azure см. в разделе Резервное копирование и восстановление SQL Server с помощью службы хранилища BLOB-объектов Microsoft Azure.

Примеры

A. Восстановление полной резервной копии базы данных

В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.

Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.

База данных

Устройство

Тип носителя данных.Описание
ФайлЛокальный файл резервной копииВ данном диалоговом окне можно выбрать локальный файл из дерева или указать удаленный файл, используя его полное имя в формате UNC. Дополнительные сведения см. в разделе Устройства резервного копирования (SQL Server).
УстройствоВыбор устройства резервного копированияВ данном диалоговом окне из списка можно выбрать логические устройства резервного копирования, определенные на экземпляре сервера.
ЛентаВыбор ленты с резервной копиейВ данном диалоговом окне из списка можно выбрать ленточные накопители, физически подключенные к компьютеру, на котором запущен экземпляр SQL Server.
URL-адресВыберите расположение файла резервной копииВ этом диалоговом окне можно выбрать существующие учетные данные SQL Server или контейнер хранилища Azure, добавить новый контейнер хранилища Azure с подписанным URL-адресом или сформировать подписанный URL-адрес и учетные данные SQL Server для уже существующего контейнера хранилища. См. также статью Соединение с подпиской Microsoft Azure

Удалить
Удаляет один или несколько выбранных файлов, лент или устройств резервного копирования.

Содержание
Отображает содержимое носителя выбранного файла, ленты или устройства резервного копирования. Эта кнопка может не работать, если тип носителя — URL-адрес.

Тип носителя резервной копии
Перечисляет выбранные носители.

В списке Источник > Устройство > База данных выберите имя базы данных, которую нужно восстановить.

В сетке Резервные наборы данных для восстановления выберите нужные резервные наборы. В этой сетке отображаются резервные копии, доступные в указанном месте. По умолчанию предлагается план восстановления. Чтобы переопределить предложенный план восстановления, можно изменить выбранные элементы в сетке. Выбор всех резервных копий, которые зависят от восстановления более ранних копий, отменяется автоматически, как только отменяется выбор более ранних копий. Дополнительные сведения о столбцах сетки Резервные наборы данных для восстановления см. в статье Восстановление базы данных (страница «Общие»).

Чтобы просмотреть или выбрать дополнительные параметры, на странице Параметры на панели Параметры восстановления вберите любой из следующих параметров, если он подходит к данной ситуации.

Перезаписать существующую базу данных (WITH REPLACE)

Сохранить параметры репликации (WITH KEEP_REPLICATION)

Ограничить доступ к восстановленной базе данных (WITH RESTRICTED_USER)

По умолчанию используется схема RESTORE WITH RECOVERY, которая выполняет откат незафиксированных транзакций и после завершения оставляет базу данных работоспособной. Дополнительные журналы транзакций восстановить невозможно. Выберите этот вариант, если выполняется восстановление сразу всех необходимых резервных копий.

Схема RESTORE WITH NORECOVERY оставляет базу данных в нерабочем состоянии и не выполняет откат незафиксированных транзакций. Можно восстановить дополнительные журналы транзакций. Вы не сможете использовать эту базу данных, пока она не будет восстановлена.

Схема RESTORE WITH STANDBY оставляет базу данных в режиме только для чтения. С помощью данного параметра можно отменить незафиксированные транзакции и сохранить отмененные действия в резервном файле, чтобы результаты восстановления можно было отменить.

Создайте резервную копию заключительного фрагмента журнала до восстановления Не для всех сценариев восстановления требуется резервная копия заключительного фрагмента журнала. Дополнительные сведения см. в разделе Сценарии, в которых требуется резервная копия заключительного фрагмента журнала статьи Резервные копии заключительного фрагмента журнала (SQL Server).

Если имеются активные соединения с базой данных, то операция восстановления может завершиться ошибкой. Проверьте окно Закрыть существующие соединения и убедитесь, что все активные соединения между Среда Management Studio и базой данных закрыты. Эта настройка переводит базу данных в однопользовательский режим перед началом процедуры восстановления, а затем возвращает в многопользовательский режим после ее завершения.

Дополнительные сведения об этих параметрах восстановления см. в разделе Восстановление базы данных (страница «Параметры»).

Б. Восстановление более ранней резервной копии диска поверх существующей базы данных

В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.

Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.

В разделе Резервная копия заключительного фрагмента журнала снимите флажок Делать резервную копию заключительного фрагмента журнала перед восстановлением.

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

Этот параметр недоступен для баз данных при использовании ПРОСТОЙ модели восстановления.

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

Если вы не выберете этот параметр, может отобразиться следующее сообщение об ошибке: «System.Data.SqlClient.SqlError: Не удалось получить монопольный доступ, так как база данных используется. (Microsoft.SqlServer.SmoExtended)»

Нажмите кнопку ОК.

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

В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.

Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.

В разделе Резервная копия заключительного фрагмента журнала снимите флажок Делать резервную копию заключительного фрагмента журнала перед восстановлением.

Если оставить этот флажок установленным, существующая база данных Sales сменит состояние на состояние восстановления.

Нажмите кнопку ОК.

Г. Восстановление до точки во времени

В следующем примере база данных восстанавливается в состояние на 1:23:17 PM«May 30, 2016 и демонстрируется операция восстановления, использующая несколько резервных копий журналов. Указанная база данных не существует на сервере.

Д. Восстановление резервной копии с помощью службы хранилища Microsoft Azure

Общие шаги

E1. Восстановление чередующейся резервной копии поверх существующей базы данных при наличии подписанного URL-адреса.

E2. Подписанный URL-адрес не существует.

В нашем примере база данных Sales не существует на сервере.

Источник

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

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