Присоединение базы данных
В этой статье описывается, как подключить базу данных в 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 просмотрите связанные с ней файлы и их текущее расположение на странице Свойства базы данных.
- В обозревателе объектов SQL Server Management Studio подключитесь к экземпляру ядра СУБД SQL Server, а затем разверните экземпляр.
- Раскройте список Базы данныхи выберите имя пользовательской базы данных, которую необходимо отсоединить.
- Щелкните правой кнопкой мыши имя базы данных и выберите Свойства. Выберите страницу Файлы и просмотрите записи в таблице Файлы базы данных.
Убедитесь, что перед отсоединением, перемещением и присоединением базы данных вы проверили все связанные с ней файлы. Затем переходите к этапам отсоединения, копирования файлов и присоединения базы данных, описанным в следующем разделе. Дополнительные сведения см. в разделе Отсоединение базы данных.
Присоединение базы данных
- В обозревателе объектов SQL Server Management Studio подключитесь к экземпляру ядра СУБД SQL Server, а затем выберите, чтобы развернуть это представление экземпляра в SSMS.
- Щелкните правой кнопкой мыши узел Базы данных и выберите Присоединить.
- В диалоговом окне Присоединение базы данных выберите Добавить, чтобы указать присоединяемую базу данных. В диалоговом окне Поиск файлов базы данных выберите расположение базы данных и разверните дерево каталогов, чтобы найти и выбрать ее 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).
- В СРЕДЕ SQL Server Management Studio выберите новый запрос , чтобы открыть редактор запросов.
- Скопируйте следующий скрипт Transact-SQL в редактор запросов и нажмите кнопку «Выполнить«. Этот скрипт показывает расположение физических файлов базы данных. Убедитесь, что при перемещении базы данных путем отсоединения и присоединения вы проверили все файлы.
USE [database_name] GO SELECT type_desc, name, physical_name from sys.database_files;
Убедитесь, что перед отсоединением, перемещением и присоединением базы данных вы проверили все связанные с ней файлы. Затем переходите к этапам отсоединения, копирования файлов и присоединения базы данных, описанным в следующем разделе. Дополнительные сведения см. в разделе Отсоединение базы данных.
Присоединение базы данных
- Соединитесь с ядром СУБД .
- На стандартной панели выберите пункт Создать запрос.
- Выполните инструкцию 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)
- Настройка разрешений файловой системы для доступа к компоненту ядра СУБД
Как открыть созданную БД в ms sql?
Был первый урок по ms sql server. В классе создали БД, поместили в папку
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA
Препод сказал, перенести дома в ту же папку, открывать и работать.
Установлена только Visual Studio 2010, Ms SQL Server, я так понимаю, установился автоматически.
В ту же самую папку перенесла базу.
Что делать дальше — не знаю. Что открывать? Как получить доступ к моей БД?
В меню Пуск — Все программы вот такая картина:
Подскажите, че делать. ну и извините за детсадовский вопрос, естессно.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как открыть созданную программу в отладчике?
Здравствуйте, я пытаюсь открыть программу в отладчике. Код взял из книги. Скомпилировал и собрал с.

Как в Joomla 2.5.14 открыть созданную страницу (материал)?
Как в Joomla 2.5.14 открыть созданную страницу (материал)? Я зашел в Менеджер материалов.
Как открыть базу данных, созданную в Firebird?
помогите, пожалуйста, открыть файл, точнее БД, созданную в Firebird(формат файла .fdb)! пыталась.
как открыть уже созданную ранее прогу на Visual C++ 6.0
подскажите, пожалуйста как открыть уже созданную ранее программу на Visual C++ 6.0, если после.
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
А пусть препод расскажет про BACKUP / RESTORE.
Ато таскать файлики из Program Files это какой-то хак.
Не говоря уже о том, что сами собой они не подхватятся, если там же не быор такой же базы.
Не говоря уже о том, что если работает SQLServer, то он не даст подменить файлы базы данных.
То есть н6ельзя просто взять и подменить файлы базы, с которой работает SQLServer.
Короче или конспект неполный или препод ненастоящий.
Автоматически ставящийся со студией SQLServer это не слишком удобно. Кроме того, есть вероятность, что установлен только Connectivity Tools.
368 / 349 / 193
Регистрация: 31.03.2013
Сообщений: 2,571
Сообщение от Ангелина_ 
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA
Я подозреваю что препод ваш, посоветовал не зря туда положить созданную БД, установленного SQL недостаточно наверное для вас будет, я бы вам посоветовал скачать и установить отдельную версию SQ Server, где потом в Manager этого же SQL вы с легкостью сможете открыть и работать с вашей БД.
Основы работы с MSSQL
MSSQL (Microsoft SQL Server) является системой администрирования баз данных, выпущенной Microsoft в 1989 году. В этой библиотеке используется Transact-SQL, расширенный язык SQL-запросов.

MSSQL Server подойдёт:
- для управления базами масштабных предприятий,
- если ПО проекта требует обращения к MSSQL,
- при нехватке функционала MySQL,
- для использования не только в веб-проектах, но и в desktop-программах.
Система управления баз данных MSSQL представлена в нескольких редакциях (Enterprise, Standard, Express, Developer). О том, чем отличаются данные выпуски, вы можете узнать на официальном сайте Microsoft.
Версии MSSQL на хостинге Рег.ру
Если у вас заказан Windows-хостинг, вам доступна версия Microsoft SQL Server 2017 Web Edition c возможностью работы в режиме совместимости с SQL Server 2008. Изменить версию MSSQL на виртуальном хостинге Рег.ру невозможно.
Как создать базу данных MSSQL

Перейдите в раздел «Базы данных» и нажмите Добавить базу данных:
- Имя базы данных,
- Сервер баз данных — выберите localhost (по умолчанию для MS SQL),
- Соответствующий сайт,
- Имя пользователя базы данных,
- Пароль.
Нажмите ОК:

Готово, вы создали базу данных MSSQL.
Удалённый доступ к MSSQL

Скачайте на локальный компьютер SQL Server Management Studio (SSMS) версии 2017 и выше с официального сайта Microsoft:

Установите скачанный дистрибутив, следуя инструкции в установщике:
- Тип сервера — Ядро СУБД;
- Имя сервера — имя сервера, на котором располагается ваша услуга хостинга. Его можно найти в информационном письме, которое присылается при заказе, или в личном кабинете (страница услуги хостинга — вкладка «Управление» — поле «Сервер хостинга»);
- Проверка подлинности — Проверка подлинности SQL Server;
- Имя для входа — имя пользователя базы данных, к которой вы подключаетесь;
- Пароль — пароль пользователя базы данных.
Нажмите Соединить:

Готово, вы установили MS SQL Management Studio и настроили к базам данных MSSQL удалённый доступ.
Как отфильтровать базы данных в выпадающем списке MS SQL Management Studio
По умолчанию в MS SQL Management Studio в списке «Базы данных» показываются все базы данных, хранящиеся на сервере. Для удобства вы можете отфильтровать базы данных по имени и вывести только свои. Для этого:

В Обозревателе объектов кликните правой кнопкой мыши по папке Базы данных. Нажмите Фильтр — Настройки фильтра:

В открывшемся окне «Параметры фильтра» введите Имя базы данных. Нажмите ОК:
Готово, теперь в папке «Базы данных» будет показываться только ваша база данных.

Что делать, если превышен лимит на размер базы данных
На всех тарифах хостинга Рег.ру максимальный размер базы данных составляет 4 Гб. Если размер базы превысит 3 Гб, вам будут высланы уведомления. При превышении максимального размера (4 Гб) высылается предупреждение с последующей блокировкой до момента устранения проблемы.
Как снять блокировку, если доступ сайтам уже ограничен
При ограничении доступа на все ваши сайты устанавливается форма базовой аутентификации. Для получения доступа к сайту введите Имя пользователя «regru» и Пароль «regru»:

Чтобы снять блокировку, необходимо устранить её причину — уменьшить размер базы данных по инструкции ниже. После этого блокировка будет автоматически снята при следующей проверке. Проверка осуществляется раз в сутки преимущественно в ночное время.
Как уменьшить размер базы данных MSSQL
Чаще всего большое количество дискового пространства занимает лог транзакций базы данных. Для сжатия лога транзакций выполните следующие шаги:

Для этого в Обозревателе объектов перейдите в папку Базы данных, кликните правой кнопкой мыши по нужной базе данных и нажмите Свойства:

В выпадающем списке «Модель восстановления» выберите Простая:

Проверьте, что занимает больше всего места в базе данных. Для этого в открытом окне выберите Файлы. В столбце Размер (МБ) указано количество занимаемого пространства. Если вы видите, что много места занимает журнал, переходите к следующему шагу. Если же большую часть места занимают данные, рекомендуем обратиться к разработчикам сайта для оптимизации/чистки таблиц базы данных. Нажмите OK:

Для сжатия лога транзакций вам необходимо иметь права db_owner. Проверьте наличие этих прав. Для этого в Обозревателе объектов перейдите в папку Безопасность — Имена для входа, кликните правой кнопкой мыши по пользователю базы данных и нажмите Свойства:

В открывшемся окне выберите Сопоставление пользователей. Кликните по имени базы данных и проверьте чекбокс db_owner. Если флаг на db_owner не установлен, запросите права в заявке в техническую поддержку. Нажмите OK:
Перейдите к сжатию базы данных. Нажмите Создать запрос. Скопируйте SQL-запрос в поле:
USE u1234567_name; GO DBCC SHRINKFILE(u1234567_name_log,100,TRUNCATEONLY); GO
Вместо u1234567_name укажите название вашей базы данных, вместоu1234567_name_log — логическое имя лога. Его можно найти в столбце Логическое имя в строке с журналом (шаг 4). Обратите внимание, что физическое имя лога транзакций может отличаться от логического.
Затем нажмите Выполнить:

Готово, вы уменьшили размер базы данных MSSQL.
Вопросы-Ответы-Wiki-SQL Server
Существует два способа сохранить данные, которые были получены с помощью программы Recovery Toolbox for SQL Server:
- Вы можете сохранить SQL скрипты на жесткий диск, они создадут объекты баз данных, например таблицы и поместить данные в эти таблицы.
- Вы также можете запустить скрипты в базах данных, определяемых пользователями, эти скрипты написаны на языке SQL.
Пожалуйста обратите внимание, что SQL скрипты различаются, несмотря на тот факт, что они основываются на тех же самых файлах базы данных. Это происходит из-за особенностей синтаксиса как в запросах, которые выполняются при прямом соединении с сервером с помощью ADO, так и в SQL запросах, выполняемых в среде Query Analyzer’а, которая поставляется вместе с MS SQL Server (использование «:», команды Go и т.д.). Первый способ более надежен, что же касается второго способа, он более удобен.
Конвертация данных в скрипты и сохранение их на диск
1. Отображение сохраненных данных
Если вы выбрали сохранение данных на диск, Recovery Toolbox for SQL Server создаст подкаталог, включающий название исходного MDF файла, этот подкаталог создается в каталоге, указанном пользователем, все скрипты будут помещены туда. Все скрипты создаются в соответствии с правилом, названия состоят из слова и цифры. Слово означает роль скрипта, цифра указывает на его номер. Существует множество типов скриптов, например:
- Types*.sql – это скрипты, которые создают типы данных, определяемые пользователем.
- Tables*.sql – скрипты, которые создают таблицы.
- Indexes*.sql – скрипты, которые создают первичные ключи и индексы.
- ForeignKeys*.sql – скрипты, которые создают вторичные ключи.
- Procedure*.sql – скрипты, которые создают хранимые процедуры.
- Function*.sql – скрипты, которые создают функции, определяемые пользователями.
- View*.sql – скрипты, которые создают просмотры.
- Triggers*.sql – скрипты, которые создают триггеры.
- Data*.sql – скрипты, которые заполняют таблицы данными.
Порядковый номер скрипта не содержит никаких полезных данных, а также не указывает на последовательность выполнения скриптов или какую-либо другую информацию. Эти номера используются только для того, чтобы разделять данные и сохранять их во множество небольших документов, вместо одного большого файла. Пользователи могут определить максимальный размер файла с SQL скриптом. Кроме того, пользователям стоит обратить внимание на нумерацию Data файлов. Необходимо отметить, что каждый файл Data типа может включать данные только одной таблицы. Файлы с последовательными номерами содержат все данные для каждой из таблиц.
Внимание: Если в некоторых файлах отсутствуют номера, это означает, что некоторые таблицы не содержат никаких данных.
2. Последовательность исполнения скриптов
На этом рисунке вы можете видеть рекомендуемую последовательность исполнения:

Последовательность исполнения скриптов зависит от существующих ограничений для существующих данных и структур таблицы. Пожалуйста, обратите особое внимание на эти факторы:
- Пожалуйста, укажите соответствующий первичный ключ, если вы хотите создать вторичный. За счет этого, эти операции сохраняются в различные файлы, которые нужно запустить в этой последовательности.
- Перед созданием индексов и вторичных ключей программа заполняет таблицы. Это необходимо, так как проверка ссылочной целостности выполняется при заполнении таблицы, в которой определен вторичный ключ. Когда таблицы с вторичными ключами заполняются до таблиц с соответствующими первичными ключами, возникает ошибка. Помимо этого, данный способ обладает другой особенностью. Если восстановленная информация конфликтует с первичным ключом, уникальным индексом, и т.д., то в этом случае таблица в любом случае будет заполнена, но тогда ограничения не будут созданы (индекс, первичный ключ и т.д.). Если пользователям необходимо другое поведение, они могут сами выбрать последовательность запуска скриптов.
- Создание в базе данных таких объектов, как Procedures, Functions, Views, Triggers, отличается некоторыми трудностями потому, что эти объекты могут обладать запутанными и сложными зависимостями. Procedure может ссылаться на другие объекты Procedure, View может ссылаться на Function, а Trigger может ссылаться на все объекты. Поэтому программа не может помочь распутать этот клубок. Пользователям нужно вручную найти все зависимости и запустить SQL в нужной последовательности. Другая возможность состоит в запуске всех скриптов этой группы несколько раз, пока сообщения об ошибке не пропадут.
Файл install.bat создается для того, чтобы обеспечить автоматическое выполнение всех скриптов. Этот файл исполняет все скрипты, которые были ранее сохранены с помощью этой программы. Последовательность исполнения скриптов будет такой же, как и при выполнении скриптов на базе данных. Этот пакетный файл требует наличия установленной утилиты isqlw, которая входит в состав клиентской части MS SQL Server. Пожалуйста укажите такие параметры, как Имя сервера, Имя базы данных, Имя пользователя, Пароль в командной строке. Например: install.bat SQLServer SQLDatabase SQLUser SQLUserPassword
- Параметры нужно указывать через пробел. Если какой-либо из параметров сам содержит пробел, вам нужно указать его в двойных кавычках.
- Нельзя менять местами параметры.
- Если же файл install.bat будет запущен без указания параметров, вы увидите небольшую инструкцию, как запускать этот файл.
Если Вы используйте авторизацию в Microsoft SQL Server с помощью учетной записи Windows, то используйте файл InstallTrusted.bat. Файл InstallTrusted.bat имеет два параметра: Server name, Database name.
Как восстановить базу данных, состоящую из нескольких исходных файлов данных?
Восстановление базы данных формата MS SQL Server из нескольких источников
База данных формата MS SQL Server включает один или несколько файлов. Существует несколько типов файлов: основной файл данных (с расширением mdf), дополнительный файл данных (с расширением ndf) и лог транзакций (с расширением ldf). Если Вы хотите восстановить данные с помощью Recovery Toolbox for SQL Server, Вам нужно указать путь ко всем дополнительным файлам данных, равно как и к основному файлу. Это может быть сделано с помощью диалога Open File (открыть файл). Если ваша база данных включает только основной файл данных и лог(и) транзакций, то нужно выбрать только основной файл данных (см рис.1).

Если поврежденная база данных включает основной файл данных, дополнительный (или дополнительные) файлы, данных и лог(и) транзакций, Вам следует выбрать основной файл данных формата .mdf и все дополнительные файлы данных формата .ndf (см рис.2).

При работе программы появляется сообщение о недостатке Физической памяти (Physical Memory)
Для восстановления баз данных MS SQL Server с большим размером требуется значительное кол-во оперативной памяти. Разработчиками программы рекомендуется восстанавливать большие базы данных на компьютерах с достаточным количеством свободной Физической памяти (Physical Memory). Размер физической памяти (Physical Memory), используемой программой, должен быть не меньше размера, восстанавливаемого файла деленного на 500, плюс 20-100 Мб дополнительной памяти для работы программы. Т.е. если Вы пытаетесь восстановить .mdf файл размером 100 Гб, то на компьютере должно как минимум (100 Гб / 500) + 120 Мб = 320Мб свободной Физической памяти (Physical Memory).
При предварительном просмотре в программе Recovery Toolbox for MS SQL Server я вижу восстановленные данные, процедуры, представления (view) и прочее, но после выполнения сохраненных скриптов эти данные не отображаются в базе данных Microsoft SQL Server
Для исправления этой проблемы необходимо:
- Сохранить данные в виде скриптов
- Запустить файл install.bat со всеми необходимыми параметрами в командной строке
- Проверить по ответным файлам ( *. sql.txt), какие из скриптов не были успешно выполнены
- Загрузить скрипты выполненные с ошибками в Query analyzer от Microsoft SQL Server и попытаться выполнить их там. После получения сообщения об ошибке необходимо выявить, какая команда вызывает эту ошибку. Если эта команда записывает данные, не имеющие ни какой ценности, то ее можно просто удалить из файла. В противном случае необходимо выслать разработчикам скрипт, выполняемый с ошибками, и скриншот с ошибкой из Query analyzer. Кроме того возможно впоследствии необходимо будет отправить исходный *.mdf файл разработчикам для исследования проблемы.
При восстановлении данных с помощью программы Recovery Toolbox for SQL Server появляются избыточные или некорректные значения в полях Primary Key
- Если значение поля Primary Key некорректно, например имеет отрицательное значение или на несколько порядков превышает все остальные значения, то следовательно исходные данные были очень сильно повреждены и полное восстановление данных невозможно
- Если в полях, являющихся Primary Key, появляются дублирующие значения, то значить программа восстановила страницы с данными, которые должны были быть помечены в базе данных (файлы mdf, ndf) для удаления. Но реально признака того, что страница с данными должна быть удалена нет. И как следствие программа восстанавливает все данные со всех страниц. Это приводит к избыточности восстановленных данных и разработчики программы Recovery Toolbox for SQL Server не смогли подобрать критерии для отсева лишних записей. Окончательное решение о том, какие из избыточных записей в восстановленной базе данных должны быть удалены в этой ситуации ложится на администраторов баз данных и/или разработчиков приложений.
Программа Recovery Toolbox for SQL Server нуждается в утилите isqlw.exe для импорта сохраненных скриптов в базу данных. Но у меня ее нет, т.к. я пользуюсь SQL Express 2005 (SQL Express 2000). Как мне импортировать восстановленные данные в базу данных?
Утилита isqlw.exe является частью (компонентой) пакета MS SQL Server. Вы всегда можете скачать последнюю версию MS SQL Server с сайта Microsoft и установить необходимые Вам компоненты на компьютер. Демонстрационная версия MS SQL Server, скачанная с сайта Microsoft, позволяет Вам использовать компоненты в течение периода, указанного EULA.
Если Вы не можете найти соответствующие утилиты на сайте Microsoft.com, то Вы можете скачать и установить Query Analyzer с нашего сайта. Ссылка для скачивания: https://recoverytoolbox.com/download/isqlwInstall.exe.
В этот раз я могу сохранить результат, но все таблицы пустые, и я не могу видеть какую-либо информацию в них
Это возможно, если в период между использованием демо-версии программы и покупкой что-то произошло с вашим MDF файлом, например, Вы пытались использовать другое программное обеспечение для восстановления данных.
При импорте скриптов в SQL SERVER 2000 возникла ошибка конверсии данных в формат datetime
Если при выполнении скриптов появилась вот такая ошибка:
Server: Msg 242, Level 16, State 3, Line 1
[Microsoft][ODBC SQL Server Driver][SQL Server] Преобразование типа данных char в тип данных datetime выдало значения времени и даты вне корректного диапазона.
Заявленное действие было прекращено.
Это значит, что необходимо изменить языковые настройки сервера. Для этого необходимо сделать следующее:
- Запускаем Enterprise Manager.
- Выбираем и подключаемся к нужному нам серверу.
- Открываем его свойства нажатием правой кнопки мыши и выбираем пункт Properties.
- Далее выбираем закладку Server settings.
- В графе Default Language for user выбираем English, нажимаем кнопку OK.

- Останавливаем SQL server. Для этого в контекстном меню выбираем Stop, на всплывающий вопрос Are you sure you wish to stop SQL Server service… отвечаем Yes.
- Запускаем SQL Server. Для этого в контекстном меню выбираем Start.
- Теперь можно выполнить скрипт, сохраненный на диске с помощью программы Recovery Toolbox for SQL Server. Или можно запустить саму программу в режиме исполнения скриптов в базе данных.

- Теперь нужно вернуть все настройки назад. Для этого в Enterprise Manager открываем свойства интересующего нас сервера.
- В графе Default Language for user выбираем исходный язык по умолчанию, нажимаем кнопку OK.

- Останавливаем SQL server. Для этого в контекстном меню выбираем Stop, на всплывающий вопрос Are you sure you wish to stop SQL Server service… отвечаем Yes.
- Запускаем SQL Server. Для этого в контекстном меню выбираем Start.
При импорте скриптов в SQL SERVER 2005 возникла ошибка конверсии данных в формат datetime
Если при выполнении скриптов появилась вот такая ошибка:
Server: Msg 242, Level 16, State 3, Line 1
[Microsoft][ODBC SQL Server Driver][SQL Server] Преобразование типа данных char в тип данных datetime выдало значения времени и даты вне корректного диапазона.
Заявленное действие было прекращено.
Это значит, что необходимо изменить языковые настройки сервера. Для этого необходимо сделать следующее:
- Запускаем Management Studio.
- Выбираем нужный нам сервер.
- Заходим Security\Logins.
- Выбираем пользователя, который будет загружать базу данных, открываем его свойства.
- В графе Default Language for user выбираем English, нажимаем кнопку OK.

- Теперь можно выполнить скрипт, сохраненный на диске с помощью программы Recovery Toolbox for SQL Server. Или можно запустить саму программу в режиме исполнения скриптов в базе данных.

- Теперь нужно вернуть все настройки назад. Для этого в Management Studio открываем свойства интересующего нас пользователя.
- В графе Default Language for user выбираем исходный язык, нажимаем кнопку OK.

После восстановления базы данных MSDB на новом сервере DTS Packages не открываются и не запускаются
Простое копирование или восстановление таблиц данных из базы MSDB на новый сервер не позволяет восстановить DTS Packages потому, что они имеют внутренние связи со средой выполнения сервера, на котором они были созданы и на котором они ранее использовались. Для копирования DTS Packages между серверами необходимо использовать VB Scripts. Соответственно программа Recovery Toolbox for SQL Server не предназначена для восстановления DTS Packages.
Что использовать для импорта данных в MS SQL Server: sqlcmd или isqlw?
Программа Recovery Toolbox for SQL Server автоматически определяет версию сервера, на которой использовалась база данных. Соответственно если база данных использовалась на MS SQL Server 2000, то для импорта в новую базу данных программа записывает в сохраненные скрипты утилиту isqlw. Если база данных использовалась на MS SQL Server 2005 и выше, то в скриптах используется утилита sqlcmd. При импорте данных в новую базу данных на сервер с версией, отличной от оригинальной, надо использовать утилиту для соответствующего сервера:
- Isqlw – для MS SQL Server 2000
- Sqlcmd – для MS SQL Server 2005 и выше
Как подключить MDF, LDF файлы к серверу?
- Запустите SQL Server Management Studio
- Кликните Присоединить
- В обозревателе объектов кликните правой кнопкой мыши в области баз данных
- Кликните Присоединить
- Кликните кнопку Добавить
- Выберите MDF файл и нажмите кнопку ОК
- Кликните кнопку ОК
- Подождите пока операция завершится.
Может ли Recovery Toolbox for SQL Server восстановить данные после вирусной атаки шифровальщиком вымогателем?
Программа Recovery Toolbox for SQL Server может частично или полностью восстановить информацию из .MDF/.NDF файлов баз данных Microsoft SQL Server зашифрованных вирусными программами шифровальщиками (ransomware).
Recovery Toolbox for SQL Server не производит дешифрование данных. Вообще, как показала практика, дешифрование данных неприменимо в этих случаях.
Но Recovery Toolbox for SQL Server может быть полезен в случаях, когда MDF файл был зашифрован частично. Обычно вирусы шифруют только заголовок и/или начало файлов по причине их большого размера. В этих случаях, если был зашифрован только заголовок .mdf файла или часть MDF файла, Recovery Toolbox for SQL Server может помочь. Утилита проанализирует все имеющиеся в файле блоки с данными, произведет анализ собранной структуры данных в файле. И далее воссоздаст исходную структуру данных и собственно данные, если это возможно.

Структура MDF файла Microsoft SQL Server
Можно ли восстановить данные из MDF файла после вируса вымогателя (ransomware)?
Нет никакой гарантии, что с помощью утилиты можно восстановить 100% данных или какую-то часть данных. Для точного ответа на этот вопрос необходимо скачать ДЕМО версию Recovery Toolbox for SQL Server, указать программе зашифрованный MDF файл и дождаться окончания анализа файла. По завершению анализа .mdf файла в ДЕМО версии программы доступен полный предпросмотр данных, которые возможно извлечь из файла.
Примечание:
Отдел технической поддержки клиентов компании Recovery Toolbox информирует, что обычно программы вымогатели шифруют только заголовок файла базы данных из-за его большого размера. Как следствие очень часто удается восстановить почти всю структуру данных и почти всю информацию из исходного файла.
Copyright © 2003 — 2022 Recovery Toolbox. Все права зарегистрированы. Microsoft®, Windows® и Outlook® являются зарегистрированными торговыми марками Microsoft® Corporation.
