none
Восстановление базы SQL2000 на другом сервере RRS feed

  • Вопрос

  • У меня такой вопрос. У нас на работе имеются два сервера, один используется как рабочий сервер гд пыполняются основные задачи пользователей, а другой используется как тестовый, т.е. для тестирования каких либо функций. Если на тестовой всё впорядке делается потом всё на рабочей. На рабочей базе ежедневно производится полное резервное копирование. А как сделать чтобы чтобы каждый день тестовый сервер восстанавливал свои базы из рабочего сервера? Т.е в определённое время Тестовый сервер проверил наличие новых резервных копий на рабочей базе, если есть новые базы, то тестовый восстанавливал свои базы из рабочего сервера?
    14 октября 2009 г. 8:45

Ответы

  • На тестовом сделать ДЖОБ, который по определённому пути брал последний Бэкап (каждую ночь) и накатывал у себя


    http://www.t-sql.ru
    • Помечено в качестве ответа antondunaev 15 октября 2009 г. 6:21
    14 октября 2009 г. 9:43
    Отвечающий
  • 14 октября 2009 г. 9:45
  • можно, а лучше сделайте папку с архивом бэкапов и папку с последним актуальным и перезаписывайте последний актуальный, тем самым тестовый всегда будет брать нужную копию


    http://www.t-sql.ru
    • Помечено в качестве ответа antondunaev 15 октября 2009 г. 6:21
    14 октября 2009 г. 10:42
    Отвечающий
  • можно, а лучше сделайте папку с архивом бэкапов и папку с последним актуальным и перезаписывайте последний актуальный, тем самым тестовый всегда будет брать нужную копию


    Например:

    declare @filename nvarchar(100)

    select

     

    @filename=N'C:\ArhiveBackups\MyBackup_'+convert(varchar,getdate(), 105)+'.bak'

     

    backup

     

    database [ВашаБаза]

    to

     

    disk=@filename

    mirror

    to

     

    disk='C:\ActiveBackup\Backup.bak'

    with

     

    init


    Таким образом у вас всегда в папке ActiveBackup всегда будет последний актуальный бэкап , а его копия с текущей датой попадёт в архивную папку.


    http://www.t-sql.ru
    • Помечено в качестве ответа antondunaev 15 октября 2009 г. 6:21
    14 октября 2009 г. 11:08
    Отвечающий
  • Путь и имя последнего файла резервной копии можно узнать так:

    SELECT

     

    TOP 1 physical_device_name

     

    FROM msdb..backupset bs,

     

    msdb..backupmediafamily bmf,

     

    msdb..backupmediaset bms

     

    WHERE bs.media_set_id=bms.media_set_id AND

     

    bms.media_set_id=bmf.media_set_id AND

     

    bs.database_name = DB_name() AND bs.type='D'

     

    ORDER BY backup_start_date DESC

    • Помечено в качестве ответа antondunaev 15 октября 2009 г. 6:21
    14 октября 2009 г. 11:16

Все ответы

  • На тестовом сделать ДЖОБ, который по определённому пути брал последний Бэкап (каждую ночь) и накатывал у себя


    http://www.t-sql.ru
    • Помечено в качестве ответа antondunaev 15 октября 2009 г. 6:21
    14 октября 2009 г. 9:43
    Отвечающий
  • 14 октября 2009 г. 9:45
  • а если на рабочем сервере будет два бэкап за вчерашний и сегоднешний день, через ДЖОБ можно поставить чтобы выбирал только свожей бэкап?

    14 октября 2009 г. 10:24
  • можно, а лучше сделайте папку с архивом бэкапов и папку с последним актуальным и перезаписывайте последний актуальный, тем самым тестовый всегда будет брать нужную копию


    http://www.t-sql.ru
    • Помечено в качестве ответа antondunaev 15 октября 2009 г. 6:21
    14 октября 2009 г. 10:42
    Отвечающий
  • можно, а лучше сделайте папку с архивом бэкапов и папку с последним актуальным и перезаписывайте последний актуальный, тем самым тестовый всегда будет брать нужную копию


    Например:

    declare @filename nvarchar(100)

    select

     

    @filename=N'C:\ArhiveBackups\MyBackup_'+convert(varchar,getdate(), 105)+'.bak'

     

    backup

     

    database [ВашаБаза]

    to

     

    disk=@filename

    mirror

    to

     

    disk='C:\ActiveBackup\Backup.bak'

    with

     

    init


    Таким образом у вас всегда в папке ActiveBackup всегда будет последний актуальный бэкап , а его копия с текущей датой попадёт в архивную папку.


    http://www.t-sql.ru
    • Помечено в качестве ответа antondunaev 15 октября 2009 г. 6:21
    14 октября 2009 г. 11:08
    Отвечающий
  • Путь и имя последнего файла резервной копии можно узнать так:

    SELECT

     

    TOP 1 physical_device_name

     

    FROM msdb..backupset bs,

     

    msdb..backupmediafamily bmf,

     

    msdb..backupmediaset bms

     

    WHERE bs.media_set_id=bms.media_set_id AND

     

    bms.media_set_id=bmf.media_set_id AND

     

    bs.database_name = DB_name() AND bs.type='D'

     

    ORDER BY backup_start_date DESC

    • Помечено в качестве ответа antondunaev 15 октября 2009 г. 6:21
    14 октября 2009 г. 11:16