Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 backup expiredate  [new]
Gorin
Member

Откуда:
Сообщений: 55
Добрый вечер.
Скажите, можно ли средствами T-SQL, делать бэкап так, чтобы через какое-то время старые бэкапы затирали новые, при этом, желательно, в один файл. Сначала я подумал что для этого существует параметр expiredate, однако, как оказалось он просто не дает перезаписать. Есть ли какое-либо решение?
31 янв 13, 22:00    [13859460]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37155
Maintenance Plan
31 янв 13, 22:02    [13859469]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Скажите, можно ли средствами T-SQL, делать бэкап так, чтобы через какое-то время старые бэкапы затирали новые, при этом, желательно, в один файл.


Нет.

автор
Есть ли какое-либо решение?


Бэкапить в отдельные файлы, удаляя старые, например, с помощью Maintenance Tasks
31 янв 13, 22:06    [13859479]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Gorin
Member

Откуда:
Сообщений: 55
[quot pkarklin
автор
Есть ли какое-либо решение?


Бэкапить в отдельные файлы, удаляя старые, например, с помощью Maintenance Tasks[/quot]

Чтобы прояснить ситуацию, программа вносит изменения в БД, перед этим она делает бэкап( средствами Smo). Так как программа работает с разными серверами, то все бэкапы складываются в папку по умолчанию. В принципе, системных прав нету, только db_owner на базу. Поэтому, чтобы после каждого бэкапа не плодились файлы, хотелось бы какое-нибудь более менее приличное решение. Я честно искал, но, пока так и не нашел.
31 янв 13, 22:28    [13859554]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37155
Ну, напишите скрипт, удаляющий старые файлы, и засуньте его в джоб.

Сообщение было отредактировано: 1 фев 13, 00:12
1 фев 13, 00:12    [13859747]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Gorin
Member

Откуда:
Сообщений: 55
Гавриленко Сергей Алексеевич
Ну, напишите скрипт, удаляющий старые файлы, и засуньте его в джоб.

Я как понимаю, здесь public и db_owner на собственную базу не хватит?
1 фев 13, 00:27    [13859777]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Gorin
Я как понимаю, здесь public и db_owner на собственную базу не хватит?


Джоб будет выполнять агент. И у учетной записи, под которой работает служба агента, должно быть достаточно прав на папки\файлы. Роли бд тут абсолютно непричем.

Сообщение было отредактировано: 1 фев 13, 10:41
1 фев 13, 10:41    [13860522]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Gorin
Member

Откуда:
Сообщений: 55
pkarklin
Gorin
Я как понимаю, здесь public и db_owner на собственную базу не хватит?


Джоб будет выполнять агент. И у учетной записи, под которой работает служба агента, должно быть достаточно прав на папки\файлы. Роли бд тут абсолютно непричем.

Однако, если я буду добавлять с помощью sp_add_job права будут нужны? Просто, как иначе создать. Более того, если я правильно понимаю, по умолчанию агент отключен, или я ошибаюсь?
1 фев 13, 10:55    [13860615]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
Gorin,

Если вы делаете бекапы из своего приложения, что мешает:
1. Давать файлам осмысленные имена;
2. Раскладывать файлы по различным папкам;
3. Самостоятельно удалять устаревшие бекапы.
?
1 фев 13, 11:04    [13860639]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Gorin
Однако, если я буду добавлять с помощью sp_add_job права будут нужны? Просто, как иначе создать. Более того, если я правильно понимаю, по умолчанию агент отключен, или я ошибаюсь?


Права будут нужны. Агент не отключен ни по какому умолчанию, но в Express редакции его нет. Заменяется планировщиком винды.
1 фев 13, 11:16    [13860683]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Gorin
Member

Откуда:
Сообщений: 55
invm
Gorin,

Если вы делаете бекапы из своего приложения, что мешает:
1. Давать файлам осмысленные имена;
2. Раскладывать файлы по различным папкам;
3. Самостоятельно удалять устаревшие бекапы.
?

Я не представляю, как я могу взаимодействовать с файловой системой через T-SQL и Smo. Я могу кидать бэкап в папку по-умолчанию, но я не имею представления о том где она находится.Я могу придумать уникальное имя файла, но как я буду удалять?
1 фев 13, 12:00    [13860994]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Gorin
Member

Откуда:
Сообщений: 55
pkarklin
Gorin
Однако, если я буду добавлять с помощью sp_add_job права будут нужны? Просто, как иначе создать. Более того, если я правильно понимаю, по умолчанию агент отключен, или я ошибаюсь?


Права будут нужны. Агент не отключен ни по какому умолчанию, но в Express редакции его нет. Заменяется планировщиком винды.

К сожалению, мне кажется, что создать на сервере задачу планировщику будет проблематично, если не ошибаюсь.
1 фев 13, 12:03    [13861009]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Glory
Member

Откуда:
Сообщений: 104751
Gorin
Я не представляю, как я могу взаимодействовать с файловой системой через T-SQL

На чистом T-SQL никак
Gorin
и Smo.

Никак, потому что SQL Server Management Objects (SMO) предназначен для работы с сервером.

Gorin
Я могу кидать бэкап в папку по-умолчанию, но я не имею представления о том где она находится.Я могу придумать уникальное имя файла, но как я буду удалять?

Используйте предложенные выше http://msdn.microsoft.com/en-us/library/ms140255%28v=sql.105%29.aspx
1 фев 13, 12:06    [13861034]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Glory
Member

Откуда:
Сообщений: 104751
Gorin
К сожалению, мне кажется, что создать на сервере задачу планировщику будет проблематично, если не ошибаюсь.

При отсутствии прав - все сложно.
1 фев 13, 12:07    [13861039]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
гуглить по ключевым словам "osql","sqlcmd" и "xp_cmdshell"
1 фев 13, 12:12    [13861079]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Gorin
Member

Откуда:
Сообщений: 55
stavgreengo
гуглить по ключевым словам "osql","sqlcmd" и "xp_cmdshell"

Простите, но как я всем этим буду пользоваться из ПО, с правами public?
1 фев 13, 12:47    [13861315]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
Gorin
Member

Откуда:
Сообщений: 55
[quot GloryИспользуйте предложенные выше http://msdn.microsoft.com/en-us/library/ms140255%28v=sql.105%29.aspx[/quot]
Да, это вариант, но как я понял, у клиента должна быть редакция не ниже Standard?
1 фев 13, 12:49    [13861341]     Ответить | Цитировать Сообщить модератору
 Re: backup expiredate  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
Gorin
Я могу кидать бэкап в папку по-умолчанию, но я не имею представления о том где она находится
T-SQL:
exec master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', 'BackupDirectory';
Через SMO

Любой способ решения вашей задачи потребует каких-либо дополнительных прав.
1 фев 13, 12:58    [13861415]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить