/ / Копіювати файл MDF SQL - sql, sql-сервер, база даних, sql-сервер-2005, резервні копії бази даних

Скопіюйте файл SQL MDF - sql, sql-server, database, sql-server-2005, резервне копіювання бази даних

Я намагаюся отримати копію файлу MDF, аленатрапляючи на стандартне повідомлення "файл використовується", яке, на мою думку, є службою SQL, яка тримає на собі замок. Чи можна зробити копію mdf-файлу, не зупиняючи службу чи не впливаючи на користувачів / програми?

Якщо ні, чи можливо створити одноразовий повний резервний файл mdf в іншому місці, ніж існуюче, щоб його не заблокувала служба SQL?

(Варіанти цього запитували на цьому сайтівже, але я не думаю, що це дублікат. Я не намагаюся перенести базу даних, просто намагаюся зробити копію mdf - не перериваючи операції в реальному часі - щоб я міг розмістити її на своїй машині розробника вдома і грати навколо з базою даних)

Відповіді:

1 для відповіді № 1

це дозволить вам зробити резервну копію:

BACKUP DATABASE MyDatabase TO DISK = "W:DBsMyDatabase.bak" WITH INIT;

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

ALTER DATABASE MyDatabase SET RECOVERY FULL;

Тоді, якщо ви хочете відновити базу даних із файлу резервної копії, спробуйте виконати цю команду:

USE [master]
ALTER DATABASE MyDatabase
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
-- The previous command will used to close all connections to the database
-- until you recover it

Restore Database MyDatabase From Disk = "W:DBsMyDatabase.bak" WITH REPLACE;

ALTER DATABASE MyDatabase SET MULTI_USER
-- This will reopen the database for users connections