Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
НА sql сервере в агенте-задания делаются 2 бекапа. В первом делается бекап всех 7 имеющихся баз на D:\backup1 (пусть базы называются 1 2 3 4 5 6 7) в час ночи.
Во втором задании делается бекап 1 2 3 баз с временными метками(к имени файла приплюсовывается время создания) на D:\backup2 каждые 2 часа 4 раза в день ( с 10 до 16).
На выходе,к концу раб дня, получается в папке backup2 имеем следующие копии баз:
1(10:00)
2(10:00)
3(10:00)
1(12:00)
2(12:00)
3(12:00) и тд.
Потом все эти файлы из папки backup2 копируются на сетевой диск, где хранятся сутки, потом удаляются и заменяются новыми.

Почему такая запутанная схема не спрашивайте)
Вопрос в следующем: Все это надо исполнить средствами самого sql, в котором я не особо разбираюсь.
В том что бы создать простой бекап базы нет ничего сложного, погуглил и настроил:
Код:
backup database mybase
to DISK = 'D:\BACKUP\mybase.bak'
with init

Кстати что значит with init?

Посоветуйте где что почитать или подскажите как написать код в sql, что бы выполнялось:
1) to DISK = 'D:\BACKUP\%date%mybase.bak' - что в место %DATE% надо прописать, что бы к имени файла прибавлялась временная метка?
2)Что бы в конце раб дня все эти файлы с временными метками копировались на сетевой диск, в sql надо выбрать тип не transaction sql,а power shell и там уже прописать команду копирования на сетевой диск средствами повершела?
13 фев 13, 13:27    [13919941]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
bitterlemon
Кстати что значит with init?

http://msdn.microsoft.com/en-us/library/ms186865%28v=sql.105%29.aspx

bitterlemon
1) to DISK = 'D:\BACKUP\%date%mybase.bak' - что в место %DATE% надо прописать, что бы к имени файла прибавлялась временная метка?

http://msdn.microsoft.com/en-us/library/ms186865%28v=sql.105%29.aspx
TO <backup_device> [ ,...n ]

bitterlemon
2)Что бы в конце раб дня

Это значит в 17:00 ? Или 18:00 ? Или в 23:59 ?

bitterlemon
в sql надо выбрать тип не transaction sql,а power shell и там уже прописать команду копирования на сетевой диск средствами повершела?

Вы про что ?

bitterlemon
Вопрос в следующем: Все это надо исполнить средствами самого sql, в котором я не особо разбираюсь.

Для таких случаев придумали MaintenancePlan-ы - графические помощники для слаборазбирающихся в синтаксисе.
13 фев 13, 13:42    [13920082]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Да я sql фактически не знаю.Все равно не понимаю как записать..,так?
backup database mybase
to <DISK = 'D:\BACKUP\mybase.bak'>[ ,...n ]
with init
13 фев 13, 13:56    [13920209]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
каждые 2 часа должен создаваться бекап базы в формате %date%%basename%.bak... как это реализуется..?
13 фев 13, 14:00    [13920249]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
bitterlemon
.Все равно не понимаю как записать..,так?

Читать хелп ?

{ logical_device_name | @logical_device_name_var }

Is the logical name of the backup device to which the database is backed up. The logical name must follow the rules for identifiers. If supplied as a variable (@logical_device_name_var), the backup device name can be specified either as a string constant (@logical_device_name_var= logical backup device name) or as a variable of any character string data type except for the ntext or text data types.
13 фев 13, 14:01    [13920255]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
bitterlemon
каждые 2 часа должен создаваться бекап базы в формате %date%%basename%.bak... как это реализуется..?

Создайте MaintenancePlan. Всем будет лучше.
13 фев 13, 14:02    [13920264]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Да не получается ничего, я не знаю синтаксиса sql. Помогите разобраться мне..как сделать что бы к имени файлы прицеплялось время его создание(непосредственно в имени файла).
13 фев 13, 14:07    [13920309]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
bitterlemon
Помогите разобраться мне..как сделать что бы к имени файлы прицеплялось время его создание(непосредственно в имени файла).

Я вам процитировал, что надо делать
Или вы хотите начать с азов TSQL ?
13 фев 13, 14:08    [13920326]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
bitterlemon
Да не получается ничего, я не знаю синтаксиса sql.

Для использования MaintenancePlan не нужно знание синтаксиса sql.
Нужны базовые навыки владения мышью.
13 фев 13, 14:09    [13920338]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Glory
bitterlemon
Да не получается ничего, я не знаю синтаксиса sql.

Для использования MaintenancePlan не нужно знание синтаксиса sql.
Нужны базовые навыки владения мышью.

-)) Я воспользовался планом обслуживания, спасибо за совет, то что надо для новичка.
13 фев 13, 15:00    [13920860]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Заключительный вопрос: я добился того что бы каждые 2 часа создавались у меня копии в определенной папке.Как мне подключить скрипт копирования следующим шагом после завершения бекапа?
Я делаю так.в задании добавляю следующий шаг-выполнение сценария повер шелл скрипта, где написано
robocopy.exe D:\**\**\** \\**\SQLBackups\%DATE% Тоесть простое копирование файлов на другой сетевой ресурс.
Но оно не выполняется через SQL. Почему..?Что я не так делаю? (если запускть в ручуню скрипт-то работает как часики)
13 фев 13, 15:17    [13920994]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Глори ты где, мне нужен твой совет!Вернись,я все прощу-)
13 фев 13, 15:27    [13921074]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
bitterlemon
Но оно не выполняется через SQL.

Откуда вы это знаете ?
13 фев 13, 15:29    [13921097]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Glory
bitterlemon
Но оно не выполняется через SQL.

Откуда вы это знаете ?

Папка не создается там где должна.Запускаю тот же самый скрип руками через повершел--все создается.Тут яво я что то не так сделал в sql..ща скрин выложу
13 фев 13, 15:33    [13921126]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3274
bitterlemon,

Да не надо никакого скрина. Когда ваш скрипт запускается из плана обслуживания, он делает это совсем не под тем пользователем, под которым вы запускаете его руками. Вот прав и не хватает.
13 фев 13, 15:35    [13921148]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
bitterlemon
Папка не создается там где должна.

Откуда вы знаете, что именно шаг в задании не выполнился ?
13 фев 13, 15:35    [13921149]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Glory
bitterlemon
Папка не создается там где должна.

Откуда вы знаете, что именно шаг в задании не выполнился ?


Я предполагаю,что он не выполнился. 1шаг-созданий бекапа.По успешному завершеню -перейти к шагу 2.Бекап создается.Но не копируется.Посмотрите,все ли тут верно? http://yadi.sk/d/QfjRrI852_d84 Если да буду искать ошибку далее
13 фев 13, 15:39    [13921169]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
bitterlemon
Я предполагаю,что он не выполнился. 1шаг-созданий бекапа.По успешному завершеню -перейти к шагу

А посмотреть историю выполнения задания, чтобы точно знать, что мешает ?
13 фев 13, 15:41    [13921181]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
bitterlemon
Посмотрите,все ли тут верно? http://yadi.sk/d/QfjRrI852_d84

И разве в PowerShell есть команда robocopy.exe ?
13 фев 13, 15:42    [13921190]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Glory
bitterlemon
Посмотрите,все ли тут верно? http://yadi.sk/d/QfjRrI852_d84

И разве в PowerShell есть команда robocopy.exe ?

М..Ну вообще то робокопи запускается из повершела.Простой екперимент:я копирую в повершелл строку robocopy.exe D:\1Cupdate\test\p*** \\remoteserv\SQLBackups\%DATE% и она выполняется.Вот еще раз проверил.все работает..
13 фев 13, 15:50    [13921235]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Гость333
Member

Откуда:
Сообщений: 3683
bitterlemon
Вот еще раз проверил.все работает..

Запустите PowerShell под учёткой, из-под которой работает SQL Server Agent, и проверьте ещё раз. Возможно, у этой учётки нет доступа к сетевому ресурсу.
13 фев 13, 15:53    [13921261]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Гость333
bitterlemon
Вот еще раз проверил.все работает..

Запустите PowerShell под учёткой, из-под которой работает SQL Server Agent, и проверьте ещё раз. Возможно, у этой учётки нет доступа к сетевому ресурсу.

Да,если добавить группе "все" полный доступ то все копируется.Спасибо большое за совет
13 фев 13, 16:26    [13921511]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
Гость333
Member

Откуда:
Сообщений: 3683
bitterlemon
Да,если добавить группе "все" полный доступ то все копируется.

Не боитесь, что кто-нибудь удалит бэкапы с сетевого ресурса (пусть даже случайно)?
13 фев 13, 16:36    [13921607]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Гость333
bitterlemon
Да,если добавить группе "все" полный доступ то все копируется.

Не боитесь, что кто-нибудь удалит бэкапы с сетевого ресурса (пусть даже случайно)?

Я не буду оставлять разрешение всем.создам спец. учетку)
13 фев 13, 16:48    [13921706]     Ответить | Цитировать Сообщить модератору
 Re: Непростой бэкап sql баз на MSSQL  [new]
bitterlemon
Member

Откуда:
Сообщений: 39
Не получается настроить учетку.Создал в домене спец. пользователя. НА SQL в именах входа добавил его.дал все возможные разрешения.В папку общего доступа,куда копируется бекап тоже доабвил.И как в самом начале-задание якобы выполняется,но на самом деле не выполняется.Если папке давать разрешения для "все", то все впорядке...что опять нет так((
13 фев 13, 17:06    [13921837]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить