Как скопировать базу данных SQL Server 2008 R2 с одной машины на другую. Копирование данных базы sql


sql - Как скопировать базу данных SQL Server 2008 R2 с одной машины на другую

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

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

  • Щелкните правой кнопкой мыши базу данных, которую вы хотите сделать резервной.
  • Выберите "Задача" → "Назад".
  • В пункте назначения выберите "Добавить".
  • В имени файла нажмите кнопку ... и выберите папку назначения, в которую вы хотите создать резервную копию с именем backupname.bak. Нажмите Ok, Ok и Ok. и дождитесь завершения процесса резервного копирования. Нажмите "ОК" .

Теперь скопируйте этот файл резервной копии в pendrive или любой носитель и вставьте его на другой компьютер и откройте SQL Server 2008 R2

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

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

Скажите, если у вас возникнут какие-либо проблемы.

По коду

Резервное копирование:

USE DATABASE_NAME; GO BACKUP DATABASE DATABASE_NAME TO DISK = 'D:\DATABASE_NAME.Bak' WITH FORMAT, MEDIANAME = 'D_SQLServerBackups', NAME = 'Full Backup of DATABASE_NAME'; GO

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

Восстановить:

Шаг 1. Извлеките логическое имя файла базы данных из резервной копии.

RESTORE FILELISTONLY FROM DISK = 'D:BackUpYourBaackUpFile.bak' GO

Шаг 2: Используйте значения в столбце LogicalName в следующем шаге. ---- Сделать базу данных в режиме одиночного пользователя

ALTER DATABASE YourDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE

---- Восстановить базу данных

RESTORE DATABASE YourDB FROM DISK = 'D:BackUpYourBaackUpFile.bak' WITH MOVE 'YourMDFLogicalName' TO 'D:DataYourMDFFile.mdf', MOVE 'YourLDFLogicalName' TO 'D:DataYourLDFFile.ldf'

/Если в заявлении нет ошибки перед тем, как база данных будет находиться в многопользовательском режиме Режим. Если возникла ошибка, выполните следующую команду, которую он преобразует база данных в нескольких пользователях. /

ALTER DATABASE YourDB SET MULTI_USER GO

qaru.site

Резервное копирование mysql базы данных

Как вы знаете, все важные данные ваших сайтов, их настройки, статьи, комментарии и другая информация хранятся в базе данных. Потеря этой информации может иметь очень тяжелые последствия для проекта. Поэтому важно своевременно делать резервные копии базы данных mysql. Также эти копии могут быть очень полезными при переносе проекта на другой сервер.

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

Содержание статьи:

Резервное копирование базы данных

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

Для экспорта информации из базы данных в формате SQL можно использовать утилиту mysqldump. Вот ее синтаксис:

$ mysqldump опции имя_базы [имя_таблицы] > файл.sql

По умолчанию утилита будет выводить все в стандартный вывод, поэтому нам нужно перенаправить эти данные в файл, что мы и делаем с помощью оператора ">". Опции указывают параметры аутентификации и работы, а имя базы и таблицы - данные которые нужно экспортировать. Теперь рассмотрим кратко опции, которые будем использовать:

  • -A - копировать все таблицы из всех баз данных;
  • -i - записывать дополнительную информацию в комментариях;
  • -c - использовать имена колонок для инструкции INSERT;
  • -a - включать все возможные опции в инструкцию CREATE TABLE;
  • -k - отключает первичные ключи на время копирования;
  • -e - использовать многострочный вариант инструкции INSERT;
  • -f - продолжить даже после ошибки;
  • -h - имя хоста, на котором расположен сервер баз данных, по умолчанию localhost;
  • -n - не писать инструкции для создания базы данных;
  • -t - не писать инструкции для создания таблиц;
  • -d - не записывать данные таблиц, а только их структуру;
  • -p - пароль базы данных;
  • -P - порт сервера баз данных;
  • -Q - брать все имена таблиц, баз данных, полей в кавычки;
  • -X - использовать синтаксис XML вместо SQL;
  • -u - пользователь, от имени которого нужно подключаться к базе данных.

В большинстве случаев нам достаточно задать имя пользоваться, пароль, а также имя базы данных. Дальше рассмотрим примеры работы с утилитой. Например самая простая команда экспорта базы данных:

mysqldump -u имя_пользователя -p имя_базы > data-dump.sql

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

head -n 5 data-dump.sql

Но если во время создания копии возникнут какие-либо ошибки, они будут выведены на экран и вы сразу о них узнаете. Более сложный вариант, это выполнить резервное копирование mysql с другого хоста, если у вас есть к нему доступ:

mysqldump -h хост -P порт -u имя_пользователя -p имя_базы > data-dump.sql

Копирование таблицы mysql может быть выполнено простым добавлением имени таблицы в конец строки:

mysqldump -u имя_пользователя -p имя_базы имя_таблицы > data-dump.sql

Также, чтобы выполнять автоматическое резервное копирование базы mysql может понадобиться сразу задать пароль, для этого указывайте его сразу после опции -p, без пробела:

mysqldump -u имя_пользователя -pпароль имя_базы > data-dump.sql

Мы можем делать бэкап вручную время от времени, но это не совсем удобно, поскольку есть другие важные дела. Поэтому используем планировщик cron, чтобы автоматизировать процесс. Тут есть два способа более простой, и более сложный, но точный. Допустим, нам нужно создавать резервную копию каждый день, тогда просто создайте скрипт в папке /etc/cron.daily/ со следующим содержимым:

sudo vi /etc/cron.daily/mysql-backup

!/bin/bash/usr/bin/mysqldump -u имя_пользователя -pпароль имя_базы > /backups/mysql-dump.sql

Папку /backups/mysql-dump.sql нужно заменить на свою папку для резервных копий. Осталось дать скрипту права на выполнение:

chmod ugo+x /etc/cron.daily/mysql-backup

Дальше планировщик будет запускать его каждый день и делать копирование базы mysql. Но есть еще один, более точный способ, который позволяет указать точное время выполнения. Сначала выполните команду:

sudo crontab -e

Добавьте в открывшейся файл такую строку и сохраните изменения:

30 2 * * * /usr/bin/mysqldump -u имя_пользователя -pпароль имя_базы > /backups/mysql-dump.sql

Команда будет выполняться каждый день, в 2:30, это удобно, поскольку ночью обычно меньше нагрузка на сервер. Как вы поняли, первое число - это минуты, второе - часы, третье день, дальше неделя и месяц. Звездочка значит, что этот параметр не имеет значения.

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

Восстановить резервную копию mysql или mariadb из существующего SQL файла тоже очень просто. Поскольку использовался синтаксис sql мы просто можем выполнить все команды с помощью стандартного клиента mysql.

Сначала нужно создать новую базу данных. Для этого авторизуйтесь на mysql сервере с правами суперпльзователя:

mysql -u root -p

Затем создайте новую базу данных, например, с именем new_database, если база данных уже существует, то этого делать не нужно:

mysql> CREATE DATABASE new_database;

Дальше закройте оболочку, нажав сочетание клавиш Ctrl+Q и импортируйте данные из файла командой:

mysql -u пользователь -p база_данных < data-dump.sql

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

Выводы

Теперь вы знаете как выполняется копирование базы данных mysql, а также как восстановить скопированную информацию. Мы рассмотрели все возможные опции mysqldump чтобы вы могли настроить утилиту так, как вам нужно. Резервное копирование базы данных mysql это очень важный момент и в определенной ситуации может сохранить много времени, поэтому обязательно настройте у себя на сервере!

losst.ru

Копирование базы данных SQL Azure

  • 10/05/2018
  • Время чтения: 10 мин
  • Соавторы

В этой статье

База данных SQL Azure предоставляет несколько методов создания транзакционно согласованной копии имеющейся базы данных SQL Azure на том же или на другом сервере.Azure SQL Database provides several methods for creating a transactionally consistent copy of an existing Azure SQL database on either the same server or a different server. Базу данных SQL можно копировать с помощью портала Azure, PowerShell или T-SQL.You can copy a SQL database by using the Azure portal, PowerShell, or T-SQL.

ОбзорOverview

Копия базы данных представляет собой моментальный снимок исходной базы данных на момент запроса копирования.A database copy is a snapshot of the source database as of the time of the copy request. Вы можете выбрать тот же или другой сервер, его уровень служб и объем вычислительных ресурсов, а также другой объем вычислительных ресурсов в рамках установленного уровня служб (выпуска).You can select the same server or a different server, its service tier and compute size, or a different compute size within the same service tier (edition). После завершения копирования копия становится полностью работоспособной и независимой базой данных.After the copy is complete, it becomes a fully functional, independent database. На этом этапе можно перейти на использование любой более поздней или более ранней версии.At this point, you can upgrade or downgrade it to any edition. Именами входа, пользователями и разрешениями можно управлять независимо.The logins, users, and permissions can be managed independently.

Имена входа в копии базы данныхLogins in the database copy

При копировании базы данных на тот же логический сервер можно использовать для обеих баз данных одинаковые имена входа.When you copy a database to the same logical server, the same logins can be used on both databases. Субъект безопасности, используемый для копирования базы данных, становится владельцем новой базы данных.The security principal you use to copy the database becomes the database owner on the new database. В копируемую базу данных копируются все пользователи, их разрешения и идентификаторы безопасности (SID).All database users, their permissions, and their security identifiers (SIDs) are copied to the database copy.

При копировании базы данных на другой логический сервер субъект безопасности на новом сервере становится владельцем новой базы данных.When you copy a database to a different logical server, the security principal on the new server becomes the database owner on the new database. Если вы используете пользователей автономной базы данных для доступа к данным, это гарантирует, что база данных-источник и база данных-получатель всегда имеют одинаковые учетные данные пользователей, поэтому после завершения копирования к копии можно будет немедленно обратиться, используя прежние учетные данные.If you use contained database users for data access, ensure that both the primary and secondary databases always have the same user credentials, so that after the copy is complete you can immediately access it with the same credentials.

Если вы используете Azure Active Directory, то можно полностью исключить потребность в управлении учетными данными в копии.If you use Azure Active Directory, you can completely eliminate the need for managing credentials in the copy. Тем не менее при копировании базы данных на новый сервер доступ по имени для входа может перестать работать, так на новом сервере отсутствуют имена для входа.However, when you copy the database to a new server, the login-based access might not work, because the logins do not exist on the new server. В разделе Как управлять безопасностью базы данных SQL после аварийного восстановления описывается управление именами для входа при копировании базы данных на другой логический сервер.To learn about managing logins when you copy a database to a different logical server, see How to manage Azure SQL database security after disaster recovery.

С момента успешного завершения копирования и вплоть до сопоставления остальных пользователей войти в новую базу данных может только ее владелец, т. е. пользователь, инициировавший копирование.After the copying succeeds and before other users are remapped, only the login that initiated the copying, the database owner, can log in to the new database. Сведения о разрешении имен для входа после завершения операции копирования см. в разделе Копирование базы данных SQL Azure с помощью Transact-SQL.To resolve logins after the copying operation is complete, see Resolve logins.

Копирование базы данных на портале AzureCopy a database by using the Azure portal

Чтобы скопировать базу данных с помощью портала Azure, откройте страницу базы данных и щелкните Копировать.To copy a database by using the Azure portal, open the page for your database, and then click Copy.

Копирование базы данных с помощью PowerShellCopy a database by using PowerShell

Чтобы скопировать базу данных с помощью PowerShell, используйте командлет New-AzureRmSqlDatabaseCopy.To copy a database by using PowerShell, use the New-AzureRmSqlDatabaseCopy cmdlet.

New-AzureRmSqlDatabaseCopy -ResourceGroupName "myResourceGroup" ` -ServerName $sourceserver ` -DatabaseName "MySampleDatabase" ` -CopyResourceGroupName "myResourceGroup" ` -CopyServerName $targetserver ` -CopyDatabaseName "CopyOfMySampleDatabase"

Полный пример сценария см. в статье Копирование базы данных SQL на новый сервер с помощью PowerShell.For a complete sample script, see Copy a database to a new server.

Копирование базы данных с помощью Transact-SQLCopy a database by using Transact-SQL

Войдите в базу данных master под именем для входа субъекта на уровне сервера или под именем для входа, которое использовалось для создания копируемой базы данных.Log in to the master database with the server-level principal login or the login that created the database you want to copy. Для успешного копирования базы данных имена для входа, не принадлежащие субъектам уровня сервера, должны быть членами роли dbmanager.For database copying to succeed, logins that are not the server-level principal must be members of the dbmanager role. Дополнительные сведения об именах для входа и подключении к серверу см. в статье Проверка подлинности и авторизация в базе данных SQL: предоставление доступа.For more information about logins and connecting to the server, see Manage logins.

Начните копирование исходной базы данных с помощью инструкции CREATE DATABASE .Start copying the source database with the CREATE DATABASE statement. Данный оператор запускает процесс копирования базы данных.Executing this statement initiates the database copying process. Так как копирование базы данных — процесс асинхронный, оператор CREATE DATABASE возвращается до завершения копирования базы данных.Because copying a database is an asynchronous process, the CREATE DATABASE statement returns before the database copying is complete.

Копирование Базы данных SQL на тот же серверCopy a SQL database to the same server

Войдите в базу данных master под именем для входа субъекта на уровне сервера или под именем для входа, которое использовалось для создания копируемой базы данных.Log in to the master database with the server-level principal login or the login that created the database you want to copy. Для успешного копирования базы данных имена для входа, не принадлежащие субъектам уровня сервера, должны быть членами роли dbmanager.For database copying to succeed, logins that are not the server-level principal must be members of the dbmanager role.

Эта команда копирует Database1 в новую базу данных с именем Database2 на том же сервере.This command copies Database1 to a new database named Database2 on the same server. Операция копирования может занять некоторое время в зависимости от размера базы данных.Depending on the size of your database, the copying operation might take some time to complete.

-- Execute on the master database. -- Start copying. CREATE DATABASE Database2 AS COPY OF Database1;

Копирование Базы данных SQL на другой серверCopy a SQL database to a different server

Войдите в базу данных master на целевом сервере, т. е. на сервере Базы данных SQL, на котором должна быть создана база данных.Log in to the master database of the destination server, the SQL database server where the new database is to be created. Для входа укажите имя пользователя и пароль владельца исходной базы данных на исходном сервере базы данных SQL.Use a login that has the same name and password as the database owner of the source database on the source SQL database server. Имя входа на целевом сервере также должно относиться к роли dbmanager или являться основным именем входа на уровне сервера.The login on the destination server must also be a member of the dbmanager role or be the server-level principal login.

Эта команда копирует Database1 на сервере server1 в новую базу данных с именем Database2 на сервере server2.This command copies Database1 on server1 to a new database named Database2 on server2. Операция копирования может занять некоторое время в зависимости от размера базы данных.Depending on the size of your database, the copying operation might take some time to complete.

-- Execute on the master database of the target server (server2) -- Start copying from Server1 to Server2 CREATE DATABASE Database2 AS COPY OF server1.Database1;

Отслеживание хода операции копированияMonitor the progress of the copying operation

Следить за ходом процесса копирования можно в представлениях sys.databases и sys.dm_database_copies.Monitor the copying process by querying the sys.databases and sys.dm_database_copies views. Во время копирования в столбце state_desc представления sys.databases для новой базы данных отображается значение COPYING.While the copying is in progress, the state_desc column of the sys.databases view for the new database is set to COPYING.

  • Если копирование завершается неудачей, в столбце state_desc представления sys.databases для новой базы данных отображается значение SUSPECT.If the copying fails, the state_desc column of the sys.databases view for the new database is set to SUSPECT. Выполните инструкцию DROP для новой базы данных и повторите попытку позднее.Execute the DROP statement on the new database, and try again later.
  • Если копирование завершается успешно, в столбце state_desc представления sys.databases для новой базы данных отображается значение ONLINE.If the copying succeeds, the state_desc column of the sys.databases view for the new database is set to ONLINE. Это означает, что копирование завершено и новая база данных является обычной базой данных, которую можно изменять независимо от исходной.The copying is complete, and the new database is a regular database that can be changed independent of the source database.

Примечание

Чтобы отменить копирование до его завершения, выполните в новой базе данных инструкцию DROP DATABASE.If you decide to cancel the copying while it is in progress, execute the DROP DATABASE statement on the new database. Кроме того, процесс копирования отменяет также выполнение оператора DROP DATABASE в исходной базе данных.Alternatively, executing the DROP DATABASE statement on the source database also cancels the copying process.

Разрешение имен для входаResolve logins

После того как новая база данных на целевом сервере будет в сети, сопоставьте пользователей из новой базы данных с именами входа на целевом сервере с помощью оператора ALTER USER.After the new database is online on the destination server, use the ALTER USER statement to remap the users from the new database to logins on the destination server. Сведения о разрешении потерянных пользователей см. в разделе Диагностика пользователей, утративших связь с учетной записью.To resolve orphaned users, see Troubleshoot Orphaned Users. Ознакомьтесь также со статьей Как управлять безопасностью базы данных SQL после аварийного восстановления.See also How to manage Azure SQL database security after disaster recovery.

Все пользователи в новой базе данных получают такие же разрешения, как и в исходной базе данных.All users in the new database retain the permissions that they had in the source database. Пользователь, инициировавший копирование базы данных, становится владельцем новой базы данных и получает новый идентификатор безопасности (SID).The user who initiated the database copy becomes the database owner of the new database and is assigned a new security identifier (SID). С момента успешного завершения копирования и вплоть до сопоставления остальных пользователей войти в новую базу данных может только ее владелец, т. е. пользователь, инициировавший копирование.After the copying succeeds and before other users are remapped, only the login that initiated the copying, the database owner, can log in to the new database.

Дополнительные сведения об управлении пользователями и именами для входа при копировании базы данных на другой логический сервер см. в статье Настройка безопасности Базы данных SQL Azure и управление ею для геовосстановления или отработки отказа.To learn about managing users and logins when you copy a database to a different logical server, see How to manage Azure SQL database security after disaster recovery.

Дополнительная информацияNext steps

docs.microsoft.com

sql - Копирование базы данных SQL Server в другую базу данных

Я рассматриваю, что вы можете войти в SQL-сервер с пользователем высокого уровня.

-- go for master use master -- backup the old database backup database olddatabasename to disk = 'c:\backup.bak' -- create a new database create database newdatabasename on ( name = newdatabasenamedata, filename = 'c:\newdatabasenamedata.mdf', size = 500mb, maxsize = unlimited, filegrowth = 25mb ) log on ( name = newdatabasenamelog, filename = 'c:\newdatabasenamelog.ldf', size = 5mb, filegrowth = 5mb ) -- put it in single user mode alter database newdatabasename set single_user with rollback immediate -- get the backup logical names and write it down restore filelistonly from disk = 'c:\backup.bak' -- restore the database from the backup using the logical names restore database newdatabasename from disk = 'c:\backup.bak' with move 'olddatabasenamelogicalnamedata' to 'c:\newdatabasenamedata.mdf', move 'olddatabasenamelogicalnamelog' to 'c:\newdatabasenamelog.ldf', replace -- rename the logical names if you want (do it =p) alter database newdatabasename modify file ( name = 'olddatabasenamelogicalnamedata', newname = 'newdatabasenamedata' ) alter database newdatabasename modify file ( name = 'olddatabasenamelogicalnamelog', newname = 'newdatabasenamelog' )

Я уверен, что восстановление базы данных из резервной копии автоматически помещает ее в несколько пользователей, но:

alter database newdatabasename set multi_user

В новой базе данных нет пользователя, добавленного к нему. Так:

use newdatabasename create user someuser from login anexistentloginname sp_addrolemember 'db_owner', 'someuser' sp_addrolemember 'db_datareader', 'someuser' sp_addrolemember 'db_datawriter', 'someuser'

Update1:

Вы должны запускать каждый блок отдельно или добавлять ключевое слово go в каждый блок.

UPDATE2:

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

qaru.site

Как скопировать базу данных SQL Server 2008 R2 с одной машины на другую Безопасный SQL

У меня есть база данных в SQL Server 2008 R2, и я хочу скопировать эту базу данных на другую машину.

Есть, вероятно, больше способов сделать это, но я обычно щелкаю правой кнопкой мыши базу данных и выбираю «Задачи → Резервное копирование …» с типом резервного копирования «Полный». После этого вы можете скопировать созданный файл на ваш целевой компьютер, подключиться к его SQL Server в SQL Server Management Studio, щелкните правой кнопкой мыши папку «Базы данных» и выберите «Восстановить базу данных». Выберите «Устройство» и выберите файл, затем восстановите. Другим подходом было бы создание базы данных в SQL Server Management Studio (щелкните правой кнопкой мыши базу данных, затем «Задачи → Сгенерировать скрипты …»). Во время этого процесса будет выполнен шаг под названием «Установить параметры сценариев», где вам нужно будет нажать кнопку «Дополнительно» и внимательно изучить варианты. Вы обязательно захотите выбрать «Данные и схема» для опции «Типы данных для скрипта». Я иногда предпочитаю этот метод, если я действительно хочу, чтобы структуры данных и данные были переданы.

Обновление: Извините, я забыл упомянуть, как восстановить базу данных для параметра сценариев. Я всегда создаю сценарии, выбрав «Сохранить в новом окне запроса» во время шага «Установить параметры сценариев». После создания сценария просто оставьте его на мгновение. На целевом сервере создайте новую базу данных с тем же именем, что и для созданных сценариев. Или вы можете создать сценарий для этого на исходном сервере (щелкните правой кнопкой мыши базу данных, выберите «База данных сценариев как → CREATE TO … → Clipboard») и выполните этот сценарий, щелкнув правой кнопкой мыши узел сервера в SSMS Object Explorer, выбрав «Новый запрос», вставив скрипт в окно запроса и выполнив его. Этот второй вариант – лучший выбор, если вам действительно нужна полная копия базы данных, а не только сами данные. Как только вы спуститесь по одной из этих двух дорог, вы должны создать новую базу данных. Щелкните правой кнопкой мыши эту базу данных в Проводнике объектов и выберите «Новый запрос», затем скопируйте и вставьте сценарий, содержащий структуру и данные базы данных, в новое окно запроса и выполните запрос. Это должно сделать трюк.

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

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

  1. Щелкните правой кнопкой мыши на базе данных, которую вы хотите сделать резервной.
  2. Выберите «Задача» -> «Назад».
  3. В пункте назначения выберите Добавить.
  4. В поле Имя файла нажмите кнопку ... и выберите папку назначения, в которую вы хотите сделать резервную копию с помощью backupname.bak. Нажмите Ok, Ok и Ok. и дождитесь завершения процесса резервного копирования. Нажмите «ОК».

Теперь скопируйте этот файл резервной копии в pendrive или любой носитель и вставьте его на другой компьютер и откройте SQL Server 2008 R2

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

  1. Щелкните правой кнопкой мыши по базам данных.
  2. Выберите Восстановить базу данных.
  3. Введите имя базы данных, которое вы хотите восстановить в поле «База данных»
  4. Выберите «От устройства» в источнике «Источник» для восстановления. Нажмите ...
  5. Нажмите кнопку «Добавить», выберите файл резервной копии базы данных, который вы вставили. Нажмите «ОК», «ОК».
  6. Установите флажок Восстановить в Выбор наборов beckup для восстановления.
  7. Продолжайте проверку параметров. Замените существующую базу данных и сохраните параметры репликации (эти поля необходимо проверить только при попытке восстановить базу данных, которая уже находится на этом другом устройстве)
  8. Нажмите «ОК». дождитесь завершения восстановления и нажмите «ОК».

Скажите мне, если у вас возникнут какие-либо проблемы.

По коду

Для резервного копирования:

USE DATABASE_NAME; GO BACKUP DATABASE DATABASE_NAME TO DISK = 'D:\DATABASE_NAME.Bak' WITH FORMAT, MEDIANAME = 'D_SQLServerBackups', NAME = 'Full Backup of DATABASE_NAME'; GO

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

Восстановить:

Шаг 1. Извлеките логическое имя файла базы данных из резервной копии.

RESTORE FILELISTONLY FROM DISK = 'D:BackUpYourBaackUpFile.bak' GO

Шаг 2. Используйте значения в столбце LogicalName в следующем шаге. —- Сделать базу данных в режиме одиночного пользователя

ALTER DATABASE YourDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE

—- Восстановление базы данных

RESTORE DATABASE YourDB FROM DISK = 'D:BackUpYourBaackUpFile.bak' WITH MOVE 'YourMDFLogicalName' TO 'D:DataYourMDFFile.mdf', MOVE 'YourLDFLogicalName' TO 'D:DataYourLDFFile.ldf'

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

ALTER DATABASE YourDB SET MULTI_USER GO

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

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

  1. Выберите базу данных в SQL Server Management Studio, щелкните правой кнопкой мыши базу данных и выберите «Свойства». Скопируйте расположение файлов MDF и LDF

2.Щелкните ОК.

3. Щелкните правой кнопкой мыши базу данных еще раз, выберите « Задачи» , «В оффлайне»

4. В проводнике Windows скопируйте файлы MDF и LDF, используя местоположение, указанное на шаге # 1

5. Вставьте их в другое место. 6. В SQL Server Management Studio щелкните правой кнопкой мыши экземпляр SQL Server и выберите « Прикрепить»

7. В следующем диалоговом окне нажмите « Добавить» , найдите скопированные файлы, выберите их и нажмите « ОК» 8. Измените имя по умолчанию, предлагаемое в поле « Присоединить AS» . Укажите здесь новое имя для своей базы данных.

9.Щелкните ОК.

Чтобы вернуть онлайн исходную базу данных, щелкните ее правой кнопкой мыши и выберите « Задачи» , « Принесите онлайн»

если вы копируете его на SQL 2008 R2, тогда вам все равно нужно сделать

  1. открыть студию управления SQL-сервером
  2. выберите свою базу данных
  3. щелкните правой кнопкой мыши, откройте «Задачи» -> BackUp
  4. в окне резервного копирования базы данных нажмите «Добавить», а затем укажите путь к резервной копии и имя файла, нажмите «ОК».

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

  1. Открытая студия управления сервером SQL
  2. создать новую базу данных
  3. щелкните правой кнопкой мыши по вновь созданной базе данных, откройте «Задачи» -> «Восстановить» -> «База данных»
  4. в окне восстановления выберите из опции устройства
  5. добавить путь к файлу резервной копии
  6. нажмите ОК

sql.fliplinux.com

Резервное копирование баз данных SQL

Резервное копирование баз данных SQL

Программа Backup Exec предлагает три способа резервного копирования баз данных: полное резервное копирование, дифференциальное резервное копирование и только полная копия (последний способ применим только в SQL 2005 или более поздней версии), При полном резервном копировании выполняется резервное копирование всей базы данных, включая все таблицы и группы файлов системы. При дифференциальном резервном копировании выполняется резервное копирование только изменений в базе данных с момента последнего полного резервного копирования. Метод копирования аналогичен полному резервному копированию, за исключением того что он не влияет на последующие задания дифференциального резервного копирования.

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

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

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

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

Если необходимо выполнять резервное копирование только базы данных и применяется SQL 7.0, используйте SQL Enterprise Manager для включения опции "Усекать журнал в контрольных точках" для каждой базы данных, резервное копирование которой выполняется. Включение этой опции вызывает автоматическое усечение журнала транзакций в контрольных точках базы данных.

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

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

Примечание:

Нельзя создать резервную копию баз данных на устройствах, подключенных к компьютеру, на котором установлен агент Remote Media Agent for Linux Servers.

Примечание:

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

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

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

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

Как создать резервную копию баз данных SQL

  1. На панели навигации щелкните на стрелке рядом со значком Резервное копирование.

  2. Выберите .

  3. На панели "Свойства" в разделе Источник нажмите и выберите данные, резервное копирование которых необходимо выполнить.

    См. Работа с учетными записями Backup Exec для ресурсов SQL.

  4. Для того чтобы выбрать данные SQL из локальных или удаленных выбранных ресурсов, нажмите значок с именем домена или значки, содержащие экземпляры SQL, а затем нажмите значок системы Windows, содержащей экземпляр SQL. При работе с кластерным сервером выберите ресурсы резервного копирования на виртуальном сервере.

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

    Для выбора всех баз данных SQL нажмите переключатель перед значком SQL; для выбора конкретных баз данных нажмите значок SQL и выберите отдельные базы данных.

    Базы данных SQL можно выбрать с помощью домена Windows, каталога Active Directory, имен DNS или IP-адресов. Один и тот же способ следует использовать при создании всех видов резервных копий базы данных SQL (полных, дифференциальных и инкрементальных копий). Например, нельзя выбрать базы данных SQL для создания полной резервной копии через домен Windows, а затем указать базы данных для инкрементального или дифференциального резервного копирования с помощью IP-адресов.

  5. Для выбора свойств задания резервного копирования SQL на панели "Свойства" найдите раздел "Параметры" и выберите .

  6. Выберите опции для задания резервного копирования.

    См. Настройка параметров резервного копирования для SQL.

  7. Запустите задание резервного копирования либо выберите другие опции резервного копирования на панели "Свойства", а затем запустите задание резервного копирования.

systemmanager.ru