View on GitHub

blog

MSSQL backup & restore

Dell EMC Networker

Программы командной строки

Установка EMC Networker

Компоненты установки

Предварительно

Необходимо установить компоненты EMC (Для ОС начаниая с Windows 2008+)

Установка EMC Networker клиента

Установка Расширенного клиента Networker

Все шаги по умолчанию

Установка Модуля Networker для MSSQL (NMM)

Все шаги по умолчанию

В диалоге NMM Installation Options указать

Добавление доменного пользователя SQL_NETWORKER

Для работы необходимо создать/добавить Login в MSSQL, для пользователя DOMAIN\sql_networker с правами sysdba

USE [master]
GO
CREATE LOGIN [URAL\svc_networker] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
EXEC master..sp_addsrvrolemember @loginame = N'URAL\svc_networker', @rolename = N'sysadmin'
GO

Networker server list

Последним этапом инсталяции Networker клиент просит указать NetWorker сервер, данные изменения сохраняются в файле: C:\Program Files\EMC NetWorker\nsr\res\servers

Под Linux - /nsr/res/servers по умолчанию данный файл отсутствует

данный файл влияет на настройки безопастности клиента - принимает задания на РК только с указанных серверов (whitelist), если файл пуст или отсутствует, то разрешено всё всем (при условии resolve DNS IP -> Hostname)

Dell EMC Networker для старых ОС (Windows 2003 / MSSQL 2000+)

Для версии Windows 2003 необходимо использовать старый клиент Networker 8.1

mssql batch

Создать файл nsrsqlsv.bat в каталоге C:\Program Files\EMC NetWorker\nsr\bin

@ECHO OFF
SETLOCAL

SHIFT
SET arg=%0

:loop
SHIFT

:: end arguments
IF %0.==. GOTO save

:: drop arg -a and corresponding value
if %0 ==-a (
 SHIFT
 GOTO loop
)

:: drop arg -o and corresponding value
if %0 ==-o (
 SHIFT
 GOTO loop
)

SET arg=%arg% %0
GOTO loop

:save
::echo catch args >>C:\temp\nsrargs.txt
::echo %arg% >>C:\temp\nsrargs.txt

"C:\Program Files\EMC NetWorker\nsr\bin\nsrsqlsv.exe" %arg%
ENDLOCAL

Во время конфигурации задания РК в консоли networker сервера вместо команды nsrsqlsv.exe использовать nsrsqlsv.bat

Примечания

backup with Networker 8.x / NMM 3

Пример

Administrator@HOSTNAME C:\
> nsrsqlsv.exe -l diff -s "backup-server.com" -c "backup-client.com"  "MSSQL:DBName"
43708:(pid 57140):Start time: Thu Jul 05 13:00:29 2018
43621:(pid 57140):Computer Name: HOSTNAME     User Name: Administrator
87749:(pid 57140):Detected application flag NSR_SKIP_SIMPLE_DB set to TRUE in NW resources for client hostname.
            NSR_BACKUP_LEVEL: 1;
                  NSR_CLIENT: backup-client.com;
           NSR_DIRECT_ACCESS: default;
            NSR_SAVESET_NAME: "MSSQL:DBName";
                  NSR_SERVER: backup-server.com;
37994:(pid 57140):Backing up Energy...
4690:(pid 57140):BACKUP database [DBName] TO virtual_device='Legato#8c878897-b487-41ac-855b-119c1cc32996' WITH name=N'LegatoNWMS
QL', description=N'MSSQL:DBName' ,differential
53085:(pid 57140):Backing up of Energy succeeded.
nsrsqlsv: MSSQL:Energy level=1, 1985 MB 00:04:10      1 file(s)
43709:(pid 57140):Stop time: Thu Jul 05 13:04:40 2018

Параметры командной строки

restore with Networker 8.X / NMM 3

Просмотр резервных копий

Administrator@HOSTNAME C:\
> mminfo -s backup-server.com -c backup-client.com -r "name,ssid,level,fragsize,savetime(25),nsavetime" -q "name=MSSQL:DBName" -o tR

 name                          ssid         lvl   size      date     time        save time
MSSQL:DBName                   1548044976  incr   2 KB     2018-07-11 05:09:20a 1531267760
MSSQL:DBName                   1917143411     1 2943 MB    2018-07-11 05:04:03a 1531267443
MSSQL:DBName                   893705780   incr   2 KB     2018-07-10 09:26:28p 1531239988
MSSQL:DBName                   2336545205     1 2045 MB    2018-07-10 09:07:17p 1531238837
MSSQL:DBName                   1832883200  full  10 GB     2018-07-06 09:08:32p 1530893312
MSSQL:DBName                   1832883200  full 8999 MB    2018-07-06 09:08:32p 1530893312

Востановление базы из FULL с опцией NORECOVERY

Administrator@HOSTNAME D:\soft\procexp
> nsrsqlrc -z -t 1530893312 -S norecovery -s "backup-server.com" -c "backup-client.com" -C "LOGIC_DATA_FILE1=E:\Databases\data01.mdf,LOGIC_LOG_FILE1=F:\Databases\log01.ldf" -d "MSSQL:DBNameFrom" "MSSQL:DBNameTo"
43708:(pid 3544):Start time: Thu Jul 05 12:54:25 2018
43621:(pid 3544):Computer Name: HOSTNAME     User Name: Administrator
                  NSR_CLIENT: backup-client.com;
                  NSR_SERVER: backup-server.com;
37725:(pid 3544):Recovering database 'DBNameFrom' into 'DBNameTo' ...
4690:(pid 3544):RESTORE database [DBNameTo] FROM virtual_device='Legato#f9dd5ce1-24c1-41a6-b737-f8ee0657fd4e'  WITH move 'LOGIC_DATA_FILE1' to 'E:\Databases\data01.mdf', move 'LOGIC_LOG_FILE1' to 'F:\Databases\log01.ldf', norecovery
35866:(pid 3544):The restore of database 'DBNameTo' completed successfully.
29309:(pid 3544):
Received  1968 KB  1 item(s)  from NSR server.
43709:(pid 3544):Stop time: Thu Jul 05 12:54:40 2018

Востановление базы из DIFF

Administrator@HOSTNAME C:\
> nsrsqlrc -z -t 1531267443 -s "backup-server.com" -c "backup-client.com" "MSSQL:DBName"
43708:(pid 5024):Start time: Thu Jul 05 13:07:58 2018
43621:(pid 5024):Computer Name: HOSTNAME     User Name: Administrator
                  NSR_CLIENT: backup-client.com;
                  NSR_SERVER: backup-server.com;
37721:(pid 5024):Recovering database 'DBName' ...
65175:(pid 5024):RESTORE database [DBName] from virtual_device='Legato#a75318f2-27fd-41ff-add6-10d0acb8df5d' (differential)
35866:(pid 5024):The restore of database 'DBName' completed successfully.
29309:(pid 5024):
Received  1985 MB  1 item(s)  from NSR server.
43709:(pid 5024):Stop time: Thu Jul 05 13:09:49 2018

Просмотр содержимого backup-а (Networker 9+)

nsrinfo -vV -s backup-server.com -n all -t 1528329669 backup-client.com

Параметры

Вывод команды

scanning client `backup-client.com' for savetime 1528329669(07.06.2018 5:01:09) on server backup-server.com
XBSA file `MSSQL:/msdb', size=271896844, off=0, app=mssql(14), copyID = 1528329669.1528329670
XBSA file `MSSQL:/msdb%/files.1528329669.1528329670', size=452, off=271896844, app=mssql(14), copyID = 1528329669.1528329671, logical file list:
 name='MSDBData', filename='E:\MSSQL\MSSQL13.MSSQLSERVER\MSSQL\DATA\MSDBData.mdf', filegroup='PRIMARY', size=1852440576
 name='MSDBLog', filename='E:\MSSQL\MSSQL13.MSSQLSERVER\MSSQL\DATA\MSDBLog.ldf', size=20578304

В данном примере

MSSQL flat file recovery

Восстановление резервной копии как самостоятельного файла р.копии MSSQL

Administrator@HOSTNAME C:\

$ nsrsqlrc.exe  -s backup-server.com -c backup-client.com -t "06/06/2018 05:02:04 PM" -S normal -a "SKIP_CLIENT_RESOLUTION=TRUE" -a "FLAT_FILE_RECOVERY=TRUE" -a FLAT_FILE_RECOVERY_DIR=F:\restore MSSQL:DBName

Check the detailed logs that are located at 'C:\Program Files\EMC NetWorker\nsr\applogs\nsrsqlrc.log'.

The 'Skip client resolution' option is set to true. Client name 'backup-client.com' will be used for recovery.

Start time: Thu Jun 07 10:47:16 2018

Computer name: HOSTNAME     User name: Administrator

Version information for C:\Program Files\EMC NetWorker\nsr\bin\nsrsqlrc.exe:    Original file name: nsrsqlrc.exe        Version: 9.2.1 (ntx64)  Comments: Supporting Microsoft Volume Shadow Copy Service

52701:(pid 10832): Command line:
  nsrsqlrc.exe -s backup-server.com -c backup-client.com -t 06/06/2018 05:02:04 PM -S normal -a SKIP_CLIENT_RESOLUTION=TRUE -a FLAT_FILE_RECOVERY=TRUE -a
 FLAT_FILE_RECOVERY_DIR=F:\restore MSSQL:DBName
NSR_SERVER : backup-server.com
.
Recovering database 'DBName' ...

Flat file recovery will be performed to 'F:\restore' directory.

151552:(pid 10832): File '1528286524_DBName_full.bak' in the directory 'F:\restore\backup-client.com\DEFAULT_INSTANCE' has been opened for writing the 
backup '/DBName'.

148972:(pid 10832): 386935808 bytes were written to file '1528286524_DBName_full.bak' in the directory 'F:\restore\backup-client.com\DEFAULT_INSTANCE'.


The restore of database 'DBName' completed successfully.

Stop time: Thu Jun 07 10:47:46 2018