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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - backup database mssql server

Ответить
Настройки темы
MSFT SQL Server - backup database mssql server

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


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

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


Изменения
Автор: lcnet
Дата: 23-09-2021
Приветствую!
Требуется сделать задание для агента.
Само задание есть, но его нужно немного доработать.
А именно, нужно чтобы в имени файла была полная дата, так как это делает management studio.

Как переделать этот скрипт?
Код: Выделить весь код
declare @pathBackup as varchar(50)
set @pathBackup =  N'X:\BACKUPS\MyDB_' + REPLACE(convert(nvarchar(20),GetDate(),120),':','-') + '.bak'
BACKUP DATABASE [MyDB] TO  DISK = @pathBackup
WITH COMPRESSION, NOFORMAT, INIT, NAME = N'Полная База данных Резервное копирование', SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM
Из синтаксиса понятно, что первая часть с датой идет через тире, а время через двоеточие, которое заменяется на тире.
Как сделать, чтобы были подчеркивания?

Отправлено: 16:02, 23-09-2021

 

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


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

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


Разобрался, почти...
Добился такого результата

MyDB_yyyy_MM_dd_HHmmss.bak

Как к этому добавить еще 7 знаков (миллисекунды, кажется), чтобы получился формат вида MyDB_yyyy_MM_dd_HHmmss_ххххххх.bak?


Код: Выделить весь код
declare @pathBackup as varchar(50)
declare @full_path as varchar(50)
declare @x_path as varchar(50)
set @x_path = N'X:\BACKUPS\'
set @pathBackup =  N'MyDB_' + convert(nvarchar(20),GetDate(),120)
select @pathBackup = REPLACE(@pathBackup,':','')
select @pathBackup = REPLACE(@pathBackup,'-','_')
select @pathBackup = REPLACE(@pathBackup,' ','_')
set @full_path = @x_path + @pathBackup + '.bak'
BACKUP DATABASE [MyDB] TO  DISK = @full_path
WITH COMPRESSION, NOFORMAT, INIT, NAME = N'Полная База данных Резервное копирование', SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM

Может в T-SQL есть аналог команды PowerShell

Get-Date -Format 'yyyy_MM_dd_HHmmss_fffffff'
или

(get-date).tosrting('yyyy_MM_dd_HHmmss_fffffff')

Последний раз редактировалось lcnet, 23-09-2021 в 17:25.


Отправлено: 16:54, 23-09-2021 | #2



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

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


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


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

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


Сделал, может кому пригодиться...

Код: Выделить весь код
EXECUTE master.dbo.xp_create_subdir N'X:\Backups\MyDB'
GO
declare @pathBackup as varchar(100)
declare @full_path as varchar(100)
declare @x_path as varchar(100)
declare @date as varchar(100)
set @date = SYSDATETIME()
set @x_path = N'X:\BACKUPS\MyDB\'
set @pathBackup =  N'MyDB_backup_' + @date
select @pathBackup = REPLACE(@pathBackup,':','')
select @pathBackup = REPLACE(@pathBackup,'-','_')
select @pathBackup = REPLACE(@pathBackup,' ','_')
select @pathBackup = REPLACE(@pathBackup,'.','_')
set @full_path = @x_path + @pathBackup + '.bak'
BACKUP DATABASE [MyDB] TO  DISK = @full_path
WITH COMPRESSION, NOFORMAT, INIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM

Отправлено: 16:57, 24-09-2021 | #3


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


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

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


А вот, от добрых людей, сильно упрощенное ))

Код: Выделить весь код
declare @path varchar(100) = 'X:\BACKUPS\MyDB\MyDB_backup_' + format(getdate(), 'yyyy\_MM\_dd\_HH\_mm\_ss\_fff') + '.bak'
BACKUP DATABASE [MyDB] TO  DISK = @path
WITH COMPRESSION, NOFORMAT, INIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM

Отправлено: 08:49, 28-09-2021 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - backup database mssql server

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MS SQL Server 2012 R2 не устанавливается Database Engine red4ever Другие серверные продукты 1 13-12-2015 23:19
2008 R2 - [решено] Не могу создать Backup задачу через планировщик. Windows Server Backup/ deem73 Windows Server 2008/2008 R2 4 23-12-2014 09:03
2008 R2 - Firebird Database Server версии 1.5? poisonkit Windows Server 2008/2008 R2 5 11-04-2013 18:02
MSFT SQL Server - [решено] Отказ запуска mssql server 2000 sp4. sagepro Программирование и базы данных 10 04-02-2010 08:27




 
Переход