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

Откуда:
Сообщений: 2
Добрый день. Требуется написать процедуру для зеркалирования баз данных.
Не до конца понимаю как реализовать проверку серверов (если уже есть зеркало, то разрушить и создать новое, если нет, то просто создать) и попеременное выполнение: создать бэкап на основном, сделать рестор на зеркале, затем указать порт на зеркале на SrcPort и на основном на MirrPort. Как я понял создавать каждый раз заново эндпоинты, сертификаты и указывать логины и пользователей необходимости нет.

CREATE PROCEDURE MirrorProc
@db_name,
@SrcLinkedServer, @SrcBackupPath ='C:\bkups\', @SrcPort = 'TCP://name:port1',
@MirrLinkedServer, @MirrBackupPath ='Z:\bkups\', @MirrPort = 'TCP://name:port2'

AS
BEGIN
DECLARE @sql varchar(max)

SELECT @SrcBackupPath=@SrcBackupPath+'\'+@db_name+'.bak'
SET @sql='exec(''
...
'')'+case when isnull(@SrcLinkedServer,'')='' then '' else ' AT '+@SrcLinkedServer end
print @sql
--exec(@sql)


SELECT @MirrBackupPath=@MirrBackupPath+'\'+@db_name+'.bak'
SET @sql='exec(''
...
'')'+case when isnull(@MirrLinkedServer,'')='' then '' else ' AT '+@MirrLinkedServer end

END

На данный момент представляю себе это как-то так, подскажите, пожалуйста, если у кого то есть идеи.
11 апр 19, 15:14    [21859586]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить