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

Откуда:
Сообщений: 85
День добрый

Создаю папку

EXEC xp_cmdshell 'mkdir C:\%date%'
GO
Создается папка 20.01.2000

Теперь нужно поместить бекап в папку ( он будет каждый день создаваться )

Как мне %date% правильно поменять на convert(varchar, getdate(), 104)

DECLARE @pathName NVARCHAR(512)
SET @pathName = 'C:\%date%\BASE_' + '.bak'
BACKUP DATABASE BASE TO DISK = @pathName
WITH NOFORMAT
,NOINIT
,NAME = N'BASE'
,SKIP
,NOREWIND
,NOUNLOAD
,STATS = 10
27 мар 16, 13:47    [18983514]     Ответить | Цитировать Сообщить модератору
 Re: Дата при бекапе  [new]
komrad
Member

Откуда:
Сообщений: 5674
Liksскуль,

а не проще бекапить в одну папку и дату вносить в имя файла?
легче будет и удалять бекапы по истечении срока давности


+ Пример
DECLARE @pathName VARCHAR(512)
SET @pathName = 'C:\BACKUPS\BASE_' +convert(varchar(20),getdate(),112)+ '.bak'
BACKUP DATABASE BASE TO DISK = @pathName
WITH 
,NAME = N'BASE'
,compression
,checksum
,STATS = 10


но если отвечать только на поставленный вопрос, то скрипт такой:

+ правленый оригинал
DECLARE @pathName VARCHAR(512)
SET @pathName = 'C:\'+convert(varchar(10), getdate(), 104)+'\BASE.bak'
BACKUP DATABASE BASE TO DISK = @pathName
WITH NOFORMAT
,NOINIT
,NAME = N'BASE'
,SKIP
,NOREWIND
,NOUNLOAD
,STATS = 10
27 мар 16, 14:12    [18983551]     Ответить | Цитировать Сообщить модератору
 Re: Дата при бекапе  [new]
Liksскуль
Member

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

спасибо
я уже по разному пробовал, мне кажется напрямую так не вставить

Невозможно открыть устройство резервного копирования

путь воспринимает как C:\'+convert(varchar(10), getdate(), 104)+'
27 мар 16, 15:38    [18983698]     Ответить | Цитировать Сообщить модератору
 Re: Дата при бекапе  [new]
Liksскуль
Member

Откуда:
Сообщений: 85
Liksскуль
komrad,

спасибо
я уже по разному пробовал, мне кажется напрямую так не вставить

Невозможно открыть устройство резервного копирования

путь воспринимает как C:\'+convert(varchar(10), getdate(), 104)+'


C:\CONVERT(VARCHAR(19), GETDATE(), 104) поправка
27 мар 16, 15:39    [18983700]     Ответить | Цитировать Сообщить модератору
 Re: Дата при бекапе  [new]
Liksскуль
Member

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

нет) моя ошибка, спасибо заработало
27 мар 16, 15:41    [18983706]     Ответить | Цитировать Сообщить модератору
 Re: Дата при бекапе  [new]
Glory
Member

Откуда:
Сообщений: 104751
А предудущей темы о конкатенации пременных недостаточно было ? https://www.sql.ru/forum/1206982/peremennaya-v-peremennoy
28 мар 16, 08:42    [18984920]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить