НЕКОТОРЫЕ КЛЮЧЕВЫЕ СОВЕТЫ, ЧТОБЫ ЗАМЕТИТЬ, ПОПЫТАЯСЬ, ЧТОБЫ ПОЛУЧИТЬ РЕЗЕРВНОЕ КОПИРОВАНИЕ ПОЛЬЗОВАТЕЛЯ
a.) Подключение
Строка подключения должна выглядеть следующим образом:
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True;User Instance=True;Database=MyDatabaseAlias
существенно , чтобы ваша строка подключения давала соединению псевдоним Database=MyDatabaseAlias
- этот псевдоним не может быть дублирован одновременно на той же машине, иначе ваше соединение может прерваться.
b.) Резервное копирование
Как указывалось выше, Transact SQL для резервного копирования базы данных аналогичен SQL MSDE / 2000/2005/2008 / R2 - после подключения базы данных и aliased !
BACKUP DATABASE MyDatabaseAlias TO DISK = 'c:\backups\mydatabase_20101117.backup'
Что действительно удивительно, так это ошибки bull $ h! T, которые вы можете получить, поскольку в строке подключения отсутствует псевдоним Database=MyDatabaseAlias
part.
напримерНевозможно открыть физический файл 'c: \ Code \ MyProject \ App_Data \ MyDatabase.mdf' Ошибка операционной системы 32: «32 (процесс не может получить доступ к файлу, потому что он используется другим процессом.)». BACKUP DATABASE завершаетсяненормально.
в.) Восстановление
USE [master]; RESTORE DATABASE MyDatabaseAlias FROM DISK = 'c:\backups\mydatabase_20101117.backup' WITH REPLACE
Не забудьте все необходимое USE [master];
в начале этого утверждения (и обратите внимание, что все его в одной строке для тех, кто выполняет команду из DataContext
или аналогичного) Если вы это сделаете, она не сможет перезаписать существующую базу данных, потому что вы все равно будете к ней подключены.
Еще раз, ассортимент полностью вводящие в заблуждение ошибки , которые вы можете получить здесь из-за неверной строки подключения, бесконечны.