Difference between revisions of "Database backup and restore/ru"

From Dragon Age Toolset Wiki
Jump to: navigation, search
m (Create russian page: Database_backup_and_restore)
 
m (Присоединение к серверу файлов базы данных: Edit)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{rupage|Создание резервной копии базы данных и её восстановление|Тулсет}}
 
{{rupage|Создание резервной копии базы данных и её восстановление|Тулсет}}
  
Нижеследующие советы помогут вам сделать резервную копию базы данных тулсета и восстановить её. По умолчанию в статье используется дефолтное название базы данных, а именно "bw_dragonage_content"
+
Нижеследующие советы помогут вам сделать резервную копию базы данных тулсета и восстановить её. По умолчанию в статье используется дефолтное название базы данных, а именно "bw_dragonage_content".
  
== Восстановление базы данных с помощью "MyRestore.bat" ==  
+
== Использование bat-ников "Backup" и "Restore" ==
  
Если вы установили тулсет и получили сообщение "Unable to connect to Database", то это решение может помочь.  
+
'''Примечание:''' Использование этих bat-ников подразумевает, что проблем с базой данных у вас нет. Эти файлы позволяют создавать резервные копии и восстанавливать базу данных только на рабочей системе.
Хотя это пакетный файл, и требует пользователей обслуживания.
+
  
'Примечание:'''''Имейте в виду, что это приведет к перезаписи старые базы данных, если она существовала. Оленья кожа применяется, если вы никогда не использовали Toolset раньше.
+
Оба bat-ника включены Bioware'цами в установщик тулсета для обеспечения пользователей доступным и лёгким инструментом для создания резервных копий базы данных и её восстановления. Находятся они по следующему пути: "Папка установки Dragon Age\tools\DatabaseUtilities\Backup_Restore".
  
 +
Оба bat-ника используют настройки, хранимые в файле "config.ini". Если вы используете дефолтное расположение базы данных, то всё, что вам необходимо отредактировать в ini-файле, это название файла, в который будет сохраняться, либо из которого будет восстаналиваться, резервная копия базы данных.
  
'''1.'''Создать файл с именем "MyRestore.bat" где-нибудь в вашей системе, и редактировать его с помощью программ типа "Блокнот"
+
При восстановлении базы данных соблюдайте осторожность, так как эта процедура полномстью перезапишет используемую вами базу данных.
  
'''2'''Скопируйте и вставьте полный следующие строки в него.:
+
Также отметим, что SQL Server очень чувствителен к правам доступа и возможно не сможет работать с папками, которые вы выберете. После процедуры резервного копирования убедитесь в создании файла резервной копии.
 +
Часто для того, чтобы избежать возможных проблем с правами доступа, папку с резервными копиями создают непосредственно в корне диска, ну и, соответственно, если вы работаете в Висте, 7-ке или 8-ке, не забывайте запускать bat-ник с правами администратора.
  
If you installed the Toolset, and receive an Error message "Unable to connect to Database", and have never made a Backup, this Solution helps. Although it is a batch file, and requires the users maintenance.
+
Примерный размер создаваемого файла резервной копии базы данных будет порядка 783 mb.
  
'''Note:''' Be aware that it will overwrite the old Database if it existed. Doesnt apply if you never used the Toolset before.
+
== Использование MSSMSE (Microsoft SQL Server Management Studio Express) ==
  
 +
Для создания резервной копии базы данных и её восстановления можно использовать мэнеджер баз данных SQL [http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8961 Microsoft SQL Server Management Studio Express], далее '''MSSMSE'''.
  
'''1.''' Create a file called "MyRestore.bat" anywhere in your system  and edit it with a program like "Notepad"
+
[[User:Kelamor|kelamor]] 13:12, 4 December 2011 (UTC): По мне так это более удобно, так как позволяет видеть процесс и более точно управлять им.
  
'''2.''' Copy and paste the complete following lines into it:
+
Скачайте и установите мэнеджер, следуйте нижеприведённым инструкциям.
 +
 
 +
=== Создание резервной копии ===
 +
 
 +
* Запустите MSSMSE и на базе данных, бэкап которой нужно сделать в контестном меню выберите "Задачи --> Создать резервную копию".
 +
* В открывшемся окне вы сможете отредактировать имя и описание резервной копии базы данных, выбрать путь и имя для сохранения файла резервной копии базы данных. Не создавайте резервную копию сразу в два файла, так как впоследствии восстановление необходимо будет производить с использованием обоих этих файлов. Лучше потом скопируйте созданный файл резервной копии в другое место.
 +
* Нажмите "ОК" и подождите завершения процесса.
 +
* Убедитесь, что файл резервной копии создан по указанному вами пути.
 +
 
 +
=== Восстановление из резервной копии ===
 +
 
 +
* Запустите MSSMSE и на папке "Базы данных" в контестном меню выберите "Восстановить базу данных".
 +
* В открывшемся окне выберите в выпадающем списке выберите базу данных, в какую вы будете восстанавливать резервную копию ('''эта база будет переписана'''), либо впишите название для новой базы данных.
 +
* Для выбора источника резервной копии базы данных отметьте флажок "С устройства" и выберите файл резервной копии базы данных.
 +
* После этого в списке появятся доступные базы данных, содержащиеся в файле, галочкой выберите нужный (обычно последний).
 +
* Далее перейдите на страницу "Параметры" и, если вы восстанавливаете резервную копию в существующую базу данных, отметьте галочку "Перезаписать существующую базу данных".
 +
* Там же вы можете выбрать путь, по которому будут файлы базы данных востановлены, и наименования для двух файлов, самой базы и лога.
 +
* Нажмите "ОК" и подождите завершения процесса.
 +
* Откройте базу данных и проверьте наличие таблиц.
 +
 
 +
=== Присоединение к серверу файлов базы данных ===
 +
 
 +
* Запустите MSSMSE и на папке "Базы данных" в контестном меню выберите "Присоединить".
 +
* В открывшемся окне нажмите кнопку "Добавить" и выберите MDF-файл, который нужно присоединить. Обратите внимание, что LDF-файл (лог) должен находиться в одной папке с MDF-файлом. В противном случае - Яндекс вам в помощь, там ответ есть :)
 +
* Нажмите "ОК" и подождите завершения процесса.
 +
* Откройте базу данных и проверьте наличие таблиц.
 +
 
 +
== Использование SQLCMD==
 +
 
 +
При восстановлении базы данных соблюдайте осторожность, так как эта процедура полномстью перезапишет используемую вами базу данных.
 +
 
 +
=== Создание резервной копии ===
 +
 
 +
<pre>sqlcmd -S .\BWDATOOLSET -E -Q "BACKUP DATABASE <Database Name> TO DISK = '<Backup Directory><Backup Filename>'"</pre>
 +
'''<Database Name>''' - Имя базы данных, обычно "bw_dragonage_content".
 +
 
 +
'''<Backup Directory>''' - Папка, в которую вы хотите сохранить файл резервной копии (папка должна существовать, так как в процессе исполнения она сама не создастся).
 +
 
 +
'''<Backup Filename>''' - Имя файла резервной копии.
 +
 
 +
Пример:
 +
<pre>sqlcmd -S .\BWDATOOLSET -E -Q "BACKUP DATABASE bw_dragonage_content TO DISK = 'C:\Backup\bw_dragonage_content.bak'"</pre>
 +
 
 +
=== Восстановление ===
 +
 
 +
<pre>sqlcmd -S .\BWDATOOLSET -E -Q "RESTORE DATABASE <Database Name> FROM DISK = '<Backup Directory><Backup Filename>' WITH REPLACE"</pre>
 +
'''<Database Name>''' - Имя базы данных, обычно "bw_dragonage_content".
 +
 
 +
'''<Backup Directory>''' Папка, в которой находится файл резервной копии.
 +
 
 +
'''<Backup Filename>''' - Имя файла резервной копии.
 +
 
 +
Пример:
 +
<pre>sqlcmd -S .\BWDATOOLSET -E -Q "RESTORE DATABASE bw_dragonage_content FROM DISK = 'C:\Backup\bw_dragonage_content.bak' WITH REPLACE"</pre>
 +
 
 +
Если вы восстанавливаете базу данных на другом хранилище, отличном от того, на котором делали резервную копию (например, вы перенесли файл резервной копии с одного компьютера на другой, на котором тулсет установлен в отличном от вашего месте), вы можете добавить следующую команду. Если папки совпадают, то данную команду можно не указывать.
 +
 
 +
Пример:
 +
<pre>WITH MOVE 'bw_da_content_euts_Data' TO 'C:\Program Files\Dragon Age\toolssql\Data\bw_dragonage_content.mdf', MOVE 'bw_da_content_euts_Log' TO 'C:\Program Files\Dragon Age\toolssql\Data\bw_dragonage_content.ldf'</pre>
 +
 
 +
=== Проблемы с SQLCMD===
 +
 
 +
Возможно появление ошибки, при которой SQLCMD не признаётся в качестве команды DOS.
 +
 
 +
Скачайте и установите утилиту [http://www.microsoft.com/downloads/details.aspx?FamilyID=D09C1D60-A13C-4479-9B91-9E8B9D835CDC&displaylang=en Microsoft SQL Server 2005 Command Line Query Utility] (нужно будет немного прокрутить вниз).
 +
 
 +
Перезапустите компьютер и попробуйте снова, теперь всё должно работать нормально.
 +
 
 +
== Восстановление базы данных с помощью "MyRestore.bat" ==
 +
 
 +
Данный способ можно использовать в случае, если вы после установки тулсета получили ошибку "Unable to connect to Database".
 +
 
 +
Имейте в виду, что данный способ приведёт к перезаписи старой базы данных, если она существовала.
 +
 
 +
Итак, что надо сделать:
 +
 
 +
'''1.''' Создайте файл с именем "MyRestore.bat" где-нибудь в вашей системе и откройте его с помощью какого-нибудь редактора, например обычным Блокнотом.
 +
 
 +
'''2.''' Скопируйте и вставьте в новый файл следующие строки:
  
 
<dascript>SET SOURCE=C:\Program Files\Dragon Age\tools\dbbak
 
<dascript>SET SOURCE=C:\Program Files\Dragon Age\tools\dbbak
Line 70: Line 150:
 
PAUSE</dascript>
 
PAUSE</dascript>
  
'''3.''' Change SET SOURCE and SET TARGET to the path of your Dragon Age installation folder as appropriate. Look it up if you dont know. The above example is default for english WindowsXP 32bit.
+
'''3.''' В случае необходимости измените путь установки игры Dragon Age ("C:\Program Files\Dragon Age") в первых двух строках скрипта ("SET SOURCE" и "SET TARGET"). В тексте нашего скрипта приведён дефолтный путь установки для английской Windows XP 32bit.
 
+
:'''3.1''' Common other default paths are ''C:\Program Files(x86)\Dragon Age\...'' for 64Bit Windows XP /Vista
+
:'''3.2''' ''C:\Programme\Dragon Age\...'' for 32bit Windows XP/Vista (german)
+
:'''3.3''' ''Archivos de Programa(x86)\Dragon Age\...'' for 64bit Windows XP/Vista (spanish)
+
 
+
'''4.''' Save and run the new "MyRestore.bat" file by doubleclicking. Make sure you are logged in as "Administrator".
+
 
+
'''5.''' Once finished with a short success message ,you can start the Toolset.
+
 
+
'''6.''' If an load of Errors occur, see Error Handling below. (The error might be somewhat hidden, but look for the first occurance first.)
+
 
+
=== Error Handling ===
+
 
+
'''Note:''' Be sure to try again with Administator rights. Especially on Vista and Windows 7. When you have ran the batch file above, note the first error which occured. Heres a list:
+
 
+
'''1.''' Among other messages, you get: "MSG 5133, Level 16, State1, Server ****\BWDATOOLSET, Line1" (Error, system cant find that file...)
+
:'''1.1''' The path to TARGET was incorrect and cant bee found. The SQL doesnt create paths on its own. Although the BAT file above will do and tell you anyway. Just in case.
+
 
+
'''2.''' Among other messages, you get: "Msg 3634, Level 16, State 1..." "The operating system returned the error (Access denied) while attempting..":
+
:'''2.1.''' SQL being picky about write access here. Workaround: Change the second line into SET TARGET=C:\DB , and rerun it. You may experiment with this.
+
 
+
'''3.''' Among other messages, you get: "Msg 262, Level 14, State 1, Server ****\BWDATOOLSET, Line 1"
+
:'''3.1''' Vista Problem. (Might apply to Windows 7 too, but it was not released in 2005) Please confirm.
+
:'''3.2''' Log in to Windows Vista using your administrative account
+
:'''3.3''' Open SQL Server Surface Area Configuration Application ( Start --> All Programs --> Microsoft SQL Server 2005 --> Configuration Tools -->SQL Server Surface Area Configuration)
+
:'''3.4''' Click on Add New Administrator
+
:'''3.5''' Select the Member of BWDATOOLSET, and click on the Add button to move it to the right. Then click OK, and run the bat file above again.
+
:'''3.6''' Source Link: http://blog.techdreams.org/2007/11/create-database-permission-denied-sql.html
+
 
+
'''4.''' Amonst other messages, you get: "HResult 0x2, Level16, State 1" Named Pipes Provider: Could not open a connection to SQL Server [2].
+
:'''4.1''' Link: http://www.cryer.co.uk/brian/sqlserver/hresult_0x2_npp_error_establishing_connection.htm
+
 
+
'''Search:''' Put the name of the error number into a searchengine. Errors seems to be very common here, and likely can be found.
+
 
+
'''Reinstall:''' If you customized the installation, you may want to reinstall the Toolset and try again. There can be errors if entering something out of the norm.
+
 
+
== Using the Backup and Restore batch files ==
+
 
+
'''Note:''' You may only use the following ,if you have <u>no</u> database problem. This section is meant to do backups from a working system!
+
 
+
A pair of batch files have been included with the toolset install to ease the process of making backups. They can be found at:
+
 
+
C:\Program Files\Dragon Age\tools\DatabaseUtilities\Backup_Restore
+
 
+
Both the "Backup" and "Restore" scripts are controlled by settings stored in the config.ini file. If you're using the default database location the only settings you'll need to change are the filenames that backups will be stored to or read from.
+
 
+
Use caution when restoring your database, as this will overwrite everything in your existing database.
+
 
+
Also note that SQL Server is very picky about directory access permissions, and may not be able to write to the directory of your choosing. Check to make sure that your backup file was actually created after doing a backup. A common way of ensuring that SQL Server will be able to write to the backup directory is to create the backup directory directly off of the root of your drive, such as C:\Backups\.
+
 
+
=== Backup ===
+
 
+
<tt>sqlcmd -S .\BWDATOOLSET -E -Q "BACKUP DATABASE <Database Name> TO DISK = '<Backup Directory><Backup Filename>'"</tt>
+
 
+
Where:
+
 
+
:''<Database Name>'' is the name of your database, typically bw_dragonage_content
+
:''<Backup Directory>'' is the name of the directory where you want to save the backup file (directory must exist, this process will not create it)
+
:''<Backup Filename>'' is what you are naming the backup file
+
 
+
an example:
+
 
+
<tt>sqlcmd -S .\BWDATOOLSET -E -Q "BACKUP DATABASE bw_dragonage_content TO DISK = 'C:\Backup\bw_dragonage_content.bak'"</tt>
+
 
+
=== Restore ===
+
 
+
<tt>sqlcmd -S .\BWDATOOLSET -E -Q "RESTORE DATABASE <Database Name> FROM DISK = '<Backup Directory><Backup Filename>' WITH REPLACE"</tt>
+
 
+
where:
+
 
+
:''<Database Name>'' is the name of your database, typically bw_dragonage_content
+
:''<Backup Directory>'' is the name of the directory where the backup file resides
+
:''<Backup Filename>'' is the name of backup file you wish to restore
+
 
+
an example:
+
 
+
<tt>sqlcmd -S .\BWDATOOLSET -E -Q "RESTORE DATABASE bw_dragonage_content FROM DISK = 'C:\Backup\bw_dragonage_content.bak' WITH REPLACE"</tt>
+
  
 +
'''4.''' Сохраните и запустите ваш новый "MyRestore.bat". Проследите, что вы вошли в систему с правами администратора, также, если вы работаете в Windows 7, полагаю будет нелишним запустить файл от имени администратора.
  
If you're restoring to a data store that's in a location other than the store you made the backup from (for example if you're moving your data from one computer to another and the toolset is installed in a different location on the destination machine) you can add the following to the restore command to restore to the new location. If you're restoring to the same place you made the backup from you can omit this.
+
'''5.''' После окончания работы bat-ника, о чём вас известит сообщение, вы можете запускать тулсет.
  
<tt>WITH MOVE 'bw_da_content_euts_Data' TO 'C:\Program Files\Dragon Age\toolssql\Data\bw_dragonage_content.mdf', MOVE 'bw_da_content_euts_Log' TO 'C:\Program Files\Dragon Age\toolssql\Data\bw_dragonage_content.ldf'</tt>
+
'''6.''' В случае, если во время работы bat-ника произшла ошибка, то ищите первую произошедшую при работе ошибку в нижеприведённом списке:
  
== Troubles with sqlcmd ==
+
=== Возможные ошибки и их обработка ===
  
You may experience a strange occurrence where sqlcmd is not recognized as a dos command. You can try to download Microsoft SQL Server 2005 Command Line Query Utility at
+
'''Примечание:''' Если вы работаете на Висте, 7-ке или даже 8-ке, то убедитесь, что вы запустили bat-ник от имени администратора!
  
http://www.microsoft.com/downloads/details.aspx?FamilyID=D09C1D60-A13C-4479-9B91-9E8B9D835CDC&displaylang=en (scroll down a bit)
+
'''1.''' "MSG 5133, Level 16, State1, Server ****\BWDATOOLSET, Line1" (Ошибка, система не может найти файл...):
  
Reboot your computer and try it again, it should work.
+
Путь, заданый для переменной TARGET, является неверным и не может быть найден. SQL не может сам создавать директории, но наш bat-ник это сделает за него и сообщит вам об этом, так, на всякий случай.
  
== Quick Backup & Restore ==
+
'''2.''' "Msg 3634, Level 16, State 1..." (Операционная система вернула ошибку (Доступ запрещен) при попытке ..):
  
Before doing this tutorial I am going to assume you installed the toolset and sql server at the default settings.
+
SQL требует полных прав для записи на диске. Обработка:
 +
* Измените вторую строку скрипта на "SET TARGET=C:\DB" и перезапустите его.
 +
* Поэспериментируйте с путями.
  
Tutorial
+
'''3.''' "Msg 262, Level 14, State 1, Server ****\BWDATOOLSET, Line 1"
  
1. create a folder called "Backups" in your C Drive.
+
Проблема Висты. Возможно это относится и к 7-ке, если да, то, пожалуйста, подтвердите. Обработка:
 +
* Войдите в систему как администратор.
 +
* Откройте SQL Server Surface Area Configuration Application ( Пуск --> Все программы --> Microsoft SQL Server 2005 --> Configuration Tools --> SQL Server Surface Area Configuration).
 +
* Нажмите "Add New Administrator".
 +
* Выберите пользователя BWDATOOLSET и нажмите кнопку "Add" для перемещения его. Затем нажмите "OK" и снова запустите bat-ник.
 +
* [http://blog.techdreams.org/2007/11/create-database-permission-denied-sql.html Источник способа обработки].
  
2. navigate to the folder and make note of the files there.
+
'''4.''' "HResult 0x2, Level16, State 1"
C:\Program Files (x86)\Dragon Age\tools\DatabaseUtilities\Backup_Restore
+
  
3. go to start --> programs --> accessories --> and "right click" on "command prompt" then choose "Run as administrator"
+
Named Pipes Provider: Не удалось подключиться к SQL серверу [2]. Обработка:
 +
* [http://www.cryer.co.uk/brian/sqlserver/hresult_0x2_npp_error_establishing_connection.htm Статья по обработке данной ошибки].
  
4. A new window will come up and you'll notice in the top left it will say administrator and you should be at the windows\system32 directory
+
Если ничего не помогло:
 +
* {{ulink|Unable to connect to the database|Статья на Вики по обработке ошибки "Unable to connect to the database"}}.
 +
* Введите название ошибки в любой поисковик и, так как ошибки достаточно распространены, вы найдёте их описание и способы решения.
 +
* Если вы устанавливали тулсет с изменением дефолтных настроек, то попробуйте переустановить его, ничего при установке не изменяя.
  
5. change directory to the backup_restore folder above.
+
== Настройка тулсета для использования базы данных ==
  
6. run the backup.bat file and then type Backup to confirm  .... This will backup your entire DA database to the backups folder.  The file was around 783mb for me.
+
В случае необходимости настройте соединение тулсета к базе данных используя соответствующий раздел {{ulink|Manual database installation|статьи по ручной установке базы данных}}.
  
 
{{languages|Database backup and restore}}
 
{{languages|Database backup and restore}}
 
[[Category:Database]]
 
[[Category:Database]]

Latest revision as of 14:14, 4 December 2011

Создание резервной копии базы данных и её восстановление
Начало / Русская DA Builder Wiki / Поделиться ВКонтакте

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

Использование bat-ников "Backup" и "Restore"

Примечание: Использование этих bat-ников подразумевает, что проблем с базой данных у вас нет. Эти файлы позволяют создавать резервные копии и восстанавливать базу данных только на рабочей системе.

Оба bat-ника включены Bioware'цами в установщик тулсета для обеспечения пользователей доступным и лёгким инструментом для создания резервных копий базы данных и её восстановления. Находятся они по следующему пути: "Папка установки Dragon Age\tools\DatabaseUtilities\Backup_Restore".

Оба bat-ника используют настройки, хранимые в файле "config.ini". Если вы используете дефолтное расположение базы данных, то всё, что вам необходимо отредактировать в ini-файле, это название файла, в который будет сохраняться, либо из которого будет восстаналиваться, резервная копия базы данных.

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

Также отметим, что SQL Server очень чувствителен к правам доступа и возможно не сможет работать с папками, которые вы выберете. После процедуры резервного копирования убедитесь в создании файла резервной копии. Часто для того, чтобы избежать возможных проблем с правами доступа, папку с резервными копиями создают непосредственно в корне диска, ну и, соответственно, если вы работаете в Висте, 7-ке или 8-ке, не забывайте запускать bat-ник с правами администратора.

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

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

Для создания резервной копии базы данных и её восстановления можно использовать мэнеджер баз данных SQL Microsoft SQL Server Management Studio Express, далее MSSMSE.

kelamor 13:12, 4 December 2011 (UTC): По мне так это более удобно, так как позволяет видеть процесс и более точно управлять им.

Скачайте и установите мэнеджер, следуйте нижеприведённым инструкциям.

Создание резервной копии

  • Запустите MSSMSE и на базе данных, бэкап которой нужно сделать в контестном меню выберите "Задачи --> Создать резервную копию".
  • В открывшемся окне вы сможете отредактировать имя и описание резервной копии базы данных, выбрать путь и имя для сохранения файла резервной копии базы данных. Не создавайте резервную копию сразу в два файла, так как впоследствии восстановление необходимо будет производить с использованием обоих этих файлов. Лучше потом скопируйте созданный файл резервной копии в другое место.
  • Нажмите "ОК" и подождите завершения процесса.
  • Убедитесь, что файл резервной копии создан по указанному вами пути.

Восстановление из резервной копии

  • Запустите MSSMSE и на папке "Базы данных" в контестном меню выберите "Восстановить базу данных".
  • В открывшемся окне выберите в выпадающем списке выберите базу данных, в какую вы будете восстанавливать резервную копию (эта база будет переписана), либо впишите название для новой базы данных.
  • Для выбора источника резервной копии базы данных отметьте флажок "С устройства" и выберите файл резервной копии базы данных.
  • После этого в списке появятся доступные базы данных, содержащиеся в файле, галочкой выберите нужный (обычно последний).
  • Далее перейдите на страницу "Параметры" и, если вы восстанавливаете резервную копию в существующую базу данных, отметьте галочку "Перезаписать существующую базу данных".
  • Там же вы можете выбрать путь, по которому будут файлы базы данных востановлены, и наименования для двух файлов, самой базы и лога.
  • Нажмите "ОК" и подождите завершения процесса.
  • Откройте базу данных и проверьте наличие таблиц.

Присоединение к серверу файлов базы данных

  • Запустите MSSMSE и на папке "Базы данных" в контестном меню выберите "Присоединить".
  • В открывшемся окне нажмите кнопку "Добавить" и выберите MDF-файл, который нужно присоединить. Обратите внимание, что LDF-файл (лог) должен находиться в одной папке с MDF-файлом. В противном случае - Яндекс вам в помощь, там ответ есть :)
  • Нажмите "ОК" и подождите завершения процесса.
  • Откройте базу данных и проверьте наличие таблиц.

Использование SQLCMD

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

Создание резервной копии

sqlcmd -S .\BWDATOOLSET -E -Q "BACKUP DATABASE <Database Name> TO DISK = '<Backup Directory><Backup Filename>'"

<Database Name> - Имя базы данных, обычно "bw_dragonage_content".

<Backup Directory> - Папка, в которую вы хотите сохранить файл резервной копии (папка должна существовать, так как в процессе исполнения она сама не создастся).

<Backup Filename> - Имя файла резервной копии.

Пример:

sqlcmd -S .\BWDATOOLSET -E -Q "BACKUP DATABASE bw_dragonage_content TO DISK = 'C:\Backup\bw_dragonage_content.bak'"

Восстановление

sqlcmd -S .\BWDATOOLSET -E -Q "RESTORE DATABASE <Database Name> FROM DISK = '<Backup Directory><Backup Filename>' WITH REPLACE"

<Database Name> - Имя базы данных, обычно "bw_dragonage_content".

<Backup Directory> Папка, в которой находится файл резервной копии.

<Backup Filename> - Имя файла резервной копии.

Пример:

sqlcmd -S .\BWDATOOLSET -E -Q "RESTORE DATABASE bw_dragonage_content FROM DISK = 'C:\Backup\bw_dragonage_content.bak' WITH REPLACE"

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

Пример:

WITH MOVE 'bw_da_content_euts_Data' TO 'C:\Program Files\Dragon Age\toolssql\Data\bw_dragonage_content.mdf', MOVE 'bw_da_content_euts_Log' TO 'C:\Program Files\Dragon Age\toolssql\Data\bw_dragonage_content.ldf'

Проблемы с SQLCMD

Возможно появление ошибки, при которой SQLCMD не признаётся в качестве команды DOS.

Скачайте и установите утилиту Microsoft SQL Server 2005 Command Line Query Utility (нужно будет немного прокрутить вниз).

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

Восстановление базы данных с помощью "MyRestore.bat"

Данный способ можно использовать в случае, если вы после установки тулсета получили ошибку "Unable to connect to Database".

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

Итак, что надо сделать:

1. Создайте файл с именем "MyRestore.bat" где-нибудь в вашей системе и откройте его с помощью какого-нибудь редактора, например обычным Блокнотом.

2. Скопируйте и вставьте в новый файл следующие строки:

SET SOURCE=C:\Program Files\Dragon Age\tools\dbbak
SET TARGET=C:\Program Files\Dragon Age\tools\toolssql\Data
 
@Echo off
if not exist "%SOURCE%\bw_dragonage_content.bak" goto Sourcemiss
if not exist "%TARGET%" goto Targetmiss
:returnme
if not exist "%PROGRAMFILES(X86)%\Microsoft SQL Server\90\Tools\Binn\" goto SQLmiss64
SET varprogs=%PROGRAMFILES(X86)%
goto apply
 
:SQLmiss64
if not exist "%ProgramFiles%\Microsoft SQL Server\90\Tools\Binn\" goto SQLmiss32
SET varprogs=%ProgramFiles%
goto apply
 
:apply
Echo Running SQLcmd...
"%varprogs%\Microsoft SQL Server\90\Tools\Binn\"sqlcmd -S .\BWDATOOLSET -E -Q "RESTORE DATABASE bw_dragonage_content FROM DISK = '%SOURCE%\bw_dragonage_content.bak' WITH MOVE 'bw_dragonage_content' TO '%TARGET%\bw_dragonage_content.mdf', MOVE 'bw_dragonage_content_log' TO '%TARGET%\bw_dragonage_content.ldf'"
goto End
 
:Sourcemiss
Echo SOURCE not found. (bw_dragonage_content.bak) Please check.
Echo Edit this File with Notepad and reapply correct location.
goto End
 
:Targetmiss
Echo TARGET directory does not exist and will be created: %Target%
PAUSE
mkdir "%TARGET%"
if not exist "%TARGET%" goto Stillmiss
goto returnme
 
:Stillmiss
Echo TARGET Directory creation failed. Please check.
goto End
 
:SQLmiss32
Echo SQL is missing. Please check location (Windows 32bit): %PROGRAMFILES%\Microsoft SQL Server\90\Tools\Binn\
Echo SQL is missing. Please check location (Windows 64bit): %PROGRAMFILES(X86)%\Microsoft SQL Server\90\Tools\Binn\
Echo Edit this file with Notepad and apply correct location.
goto end
 
:End
PAUSE

3. В случае необходимости измените путь установки игры Dragon Age ("C:\Program Files\Dragon Age") в первых двух строках скрипта ("SET SOURCE" и "SET TARGET"). В тексте нашего скрипта приведён дефолтный путь установки для английской Windows XP 32bit.

4. Сохраните и запустите ваш новый "MyRestore.bat". Проследите, что вы вошли в систему с правами администратора, также, если вы работаете в Windows 7, полагаю будет нелишним запустить файл от имени администратора.

5. После окончания работы bat-ника, о чём вас известит сообщение, вы можете запускать тулсет.

6. В случае, если во время работы bat-ника произшла ошибка, то ищите первую произошедшую при работе ошибку в нижеприведённом списке:

Возможные ошибки и их обработка

Примечание: Если вы работаете на Висте, 7-ке или даже 8-ке, то убедитесь, что вы запустили bat-ник от имени администратора!

1. "MSG 5133, Level 16, State1, Server ****\BWDATOOLSET, Line1" (Ошибка, система не может найти файл...):

Путь, заданый для переменной TARGET, является неверным и не может быть найден. SQL не может сам создавать директории, но наш bat-ник это сделает за него и сообщит вам об этом, так, на всякий случай.

2. "Msg 3634, Level 16, State 1..." (Операционная система вернула ошибку (Доступ запрещен) при попытке ..):

SQL требует полных прав для записи на диске. Обработка:

  • Измените вторую строку скрипта на "SET TARGET=C:\DB" и перезапустите его.
  • Поэспериментируйте с путями.

3. "Msg 262, Level 14, State 1, Server ****\BWDATOOLSET, Line 1"

Проблема Висты. Возможно это относится и к 7-ке, если да, то, пожалуйста, подтвердите. Обработка:

  • Войдите в систему как администратор.
  • Откройте SQL Server Surface Area Configuration Application ( Пуск --> Все программы --> Microsoft SQL Server 2005 --> Configuration Tools --> SQL Server Surface Area Configuration).
  • Нажмите "Add New Administrator".
  • Выберите пользователя BWDATOOLSET и нажмите кнопку "Add" для перемещения его. Затем нажмите "OK" и снова запустите bat-ник.
  • Источник способа обработки.

4. "HResult 0x2, Level16, State 1"

Named Pipes Provider: Не удалось подключиться к SQL серверу [2]. Обработка:

Если ничего не помогло:

  • Статья на Вики по обработке ошибки "Unable to connect to the database".
  • Введите название ошибки в любой поисковик и, так как ошибки достаточно распространены, вы найдёте их описание и способы решения.
  • Если вы устанавливали тулсет с изменением дефолтных настроек, то попробуйте переустановить его, ничего при установке не изменяя.

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

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


Язык: English  • русский