Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Серверные продукты Microsoft » Другие серверные продукты » Разное - Бэкап базы данных SQL

Ответить
Настройки темы
Разное - Бэкап базы данных SQL

Пользователь


Сообщения: 131
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: mcmurphy
Дата: 13-05-2015
Добрый день!

Есть БД, котораяет работает на SQL-express.
Точнее - Microsoft SQL Server 2008 R2 (SP3) - 10.50.6000.34 (X64)
Aug 19 2014 12:21:34
Copyright (c) Microsoft Corporation
Express Edition with Advanced Services (64-bit) on Windows NT 6.3 <X64>
(Build 9600: ).
Экземпляр по умолчанию, единственный на сервере.

Модель восстановления - полная, размер журнала транзакций ограничен.
База создана не мной, и сейчас возникла необходимость ее бэкапить + усекать журнал (бэкапы тоже не делались).

Если у кого-нибудь есть готовый скриптик по бэкапу и шринку журнала - поделитесь, плиз.
Можно самый простой - чтобы делать полный бэкап БД, полный бэкап журнала и обрезать журнал.

Планируется выполнять через виндовый планировщик, и sqlcmd, и стандартные команды
типа "SQLCMD -S (local) -E -Q "BACKUP DATABASE My_BD TO DISK... BACKUP LOG... DBCC SHRINKFILE"
В принципе, менеджмент студио показывает, как будут выглядеть эти команды в виде кода, но как их увязать, чтобы они запускались через sqlcmd?

Заранее благодарен.

Отправлено: 17:04, 13-05-2015

 

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

DECLARE @pathName NVARCHAR(512)
SET @pathName = 'D:\Backup\db_backup_' + Convert(varchar(8), GETDATE(), 112) + '.bak'
BACKUP DATABASE [MyDataBase] TO DISK = @pathName WITH NOFORMAT, NOINIT, NAME = N'db_backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

Этот скрипт создает бекап с именем файла db_backup_YYYYDDMM.bak где YYYYDDMM – это текущая дата. Дата в имени файла позволит нам создавать каждый день бекап в новом файле. Запустите и проверьте что бекап действительно создается такой какой вам и нужен. Этот скрипт сохраняем в какой-нибудь папке под именем schedule.sql, предположим c:\sheduled tasks\. В этой же папке создадим исполняемый файл backup.bat, следующего содержания:

sqlcmd -S SEVERNAME -U UserName -P Password -i schedule.sql
7z a -tzip D:\Backup \db_backup_%date%.zip -i! D:\Backup\db_backup_*.bak
del d:\Backup\db_backup_*.bak

Где меняем SERVERNAME – имя сервера, UserName – имя пользователя, Password – пароль пользователя, schedule.sql – имя сохраненного скрипта. Вторая и третья строка батника архивирует бекап в zip файл и удаляет сам файл бекапа. Для того чтобы работала архивация необходимо установить архиватор 7z и прописать полные пути до исполняемого файла 7z.exe либо положить 7z.exe и 7z.dll в ту же папку, где располагаются скрипты. Теперь можем запустить исполняемый файл backup.bat и проверить проработает ли он так как нужно. Последний шаг это записать schedule в задачи windows. Запускаем Task Scheduler из меню Пуск, либо набираем в командной строке taskschd.msc. В разных версиях Windows это выглядит по разному, да и информацию о том как сделать задачу можно прочитать в помощи Windows. Основное – это запускать задачу от имени пользователя с достаточными правами на используемые папки. При помощи таких действий можно так же запрограммировать и любые другие задачи. В скрипте schedule.sql можно перед бекапом вызвать какие-либо необходимые процедуры, может переиндексирование или сжатие базы данных.

--
admin@uservers.info

Отправлено: 21:02, 29-06-2015 | #2



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

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



Компьютерный форум OSzone.net » Серверные продукты Microsoft » Другие серверные продукты » Разное - Бэкап базы данных SQL

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Бэкап базы данных dhcp wolland Microsoft Windows NT/2000/2003 2 28-01-2008 05:15
MSFT SQL Server - Бэкап данных с sql 2005 Lamorte Программирование и базы данных 7 18-09-2007 14:47
SQL и базы данных Ivian Программирование и базы данных 3 18-03-2005 12:50
как сделать бэкап базы mysql через SQL интерфейс? screetch Вебмастеру 2 05-11-2003 20:43
SQL, базы данных и ASP anridir Вебмастеру 2 23-09-2002 07:07




 
Переход