none
Automate backup bases SQL 2005 (task) RRS feed

  • Вопрос

  • 1. Подскажите пожалуйста, как организовать по таску автоматическое копирование ежедневное нескольких баз? перешел с SQL2000 там это как то проще реализовать, в 2005 сразу не разобрался.

    2. можно ли также организовать этот бэкап на удаленные машины (сет. диски)?
    2 марта 2007 г. 8:19

Ответы

  • 1. Нужно поставить галочки тем базам, которые нужно копировать. Потом, нужно будет настроить расписание задания агента, что бы пакет запускался в выбраннов Вами контексте и в заданное время.

    2. Да, также, как и на 2000-м.

    http://www.sql.ru/subscribe/2007/mp.gif

     

    2 марта 2007 г. 9:59
  • Бекап идёт от имени пользователя, под которым запущен сервер. У меня, например, это local system. Так что или дать системе права на доменные шары, или запускать сервер от другого имени:

    Резервное копирование в файл, расположенный в общей сетевой папке

    Чтобы SQL Server мог обращаться к удаленному дисковому файлу, учетная запись службы SQL Server должна иметь доступ к общему сетевому ресурсу. Включая наличие разрешений на запись, необходимых для выполнения операций резервного копирования на общий сетевой ресурс, и разрешения на чтение с ресурса для выполнения операций восстановления. Уровень доступности сетевых дисков и разрешения зависят от контекста, в котором выполняется служба SQL Server.

    • Чтобы создать резервную копию на сетевой диск, когда SQL Server выполняется под учетной записью пользователя домена, в сеансе, в котором выполняется SQL Server, общий диск должен быть подключен как сетевой диск. Если файл Sqlservr.exe запускается из командной строки, то SQL Server видит любые сетевые диски, подключенные в ходе сеанса.

    • Если файл Sqlservr.exe запускается как служба, то SQL Server выполняется в отдельном сеансе, который не связан с пользовательским сеансом. Сеанс службы может иметь собственные подключенные сетевые диски, но, как правило, они отсутствуют.

    • Можно подключиться, используя учетную запись сетевой службы, если вместо пользователя домена указать учетную запись компьютера. Чтобы разрешить выполнение резервного копирования с определенных компьютеров на общий диск, нужно предоставить доступ к учетным записям компьютеров. Пока процесс Sqlservr.exe имеет доступ на запись резервных копий, было бы неправильно предоставлять доступ пользователю, посылающему инструкцию BACKUP.

    Важно!
    Резервное копирование данных через сеть может быть причиной сетевых ошибок. Поэтому при использовании удаленного диска рекомендуется проверять операцию резервного копирования после ее завершения. Дополнительные сведения см. в разделе Проверка резервных копий.

    Как указать имя в формате UNC

    Чтобы указать сетевой ресурс в инструкции резервного копирования или восстановления, для файла, расположенного на устройстве резервного копирования, необходимо использовать полностью заданное имя в формате UNC. Имя в формате UNC имеет форму \\<Имя_системы>\<Общая_папка>\<Путь>\<Имя_файла>. Например:

    Копировать код
    BACKUP DATABASE AdventureWorks 
       TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';
    GO

     

    2 марта 2007 г. 12:56

Все ответы

  • 1. Нужно поставить галочки тем базам, которые нужно копировать. Потом, нужно будет настроить расписание задания агента, что бы пакет запускался в выбраннов Вами контексте и в заданное время.

    2. Да, также, как и на 2000-м.

    http://www.sql.ru/subscribe/2007/mp.gif

     

    2 марта 2007 г. 9:59
  • спасибо разобрался уже. но вот второй вопрос еще в силе. 

    проблема заключалась в отказе доступа к сетевому диску. для указанной директории сетевой есть права осущесвлять бэкап по Windows авторизации, я понимаю backup базы осуществляется от имени 'sa'. как принудительно осуществить бэкап от имени пользотваеля домена?
    2 марта 2007 г. 10:40
  • Бекап идёт от имени пользователя, под которым запущен сервер. У меня, например, это local system. Так что или дать системе права на доменные шары, или запускать сервер от другого имени:

    Резервное копирование в файл, расположенный в общей сетевой папке

    Чтобы SQL Server мог обращаться к удаленному дисковому файлу, учетная запись службы SQL Server должна иметь доступ к общему сетевому ресурсу. Включая наличие разрешений на запись, необходимых для выполнения операций резервного копирования на общий сетевой ресурс, и разрешения на чтение с ресурса для выполнения операций восстановления. Уровень доступности сетевых дисков и разрешения зависят от контекста, в котором выполняется служба SQL Server.

    • Чтобы создать резервную копию на сетевой диск, когда SQL Server выполняется под учетной записью пользователя домена, в сеансе, в котором выполняется SQL Server, общий диск должен быть подключен как сетевой диск. Если файл Sqlservr.exe запускается из командной строки, то SQL Server видит любые сетевые диски, подключенные в ходе сеанса.

    • Если файл Sqlservr.exe запускается как служба, то SQL Server выполняется в отдельном сеансе, который не связан с пользовательским сеансом. Сеанс службы может иметь собственные подключенные сетевые диски, но, как правило, они отсутствуют.

    • Можно подключиться, используя учетную запись сетевой службы, если вместо пользователя домена указать учетную запись компьютера. Чтобы разрешить выполнение резервного копирования с определенных компьютеров на общий диск, нужно предоставить доступ к учетным записям компьютеров. Пока процесс Sqlservr.exe имеет доступ на запись резервных копий, было бы неправильно предоставлять доступ пользователю, посылающему инструкцию BACKUP.

    Важно!
    Резервное копирование данных через сеть может быть причиной сетевых ошибок. Поэтому при использовании удаленного диска рекомендуется проверять операцию резервного копирования после ее завершения. Дополнительные сведения см. в разделе Проверка резервных копий.

    Как указать имя в формате UNC

    Чтобы указать сетевой ресурс в инструкции резервного копирования или восстановления, для файла, расположенного на устройстве резервного копирования, необходимо использовать полностью заданное имя в формате UNC. Имя в формате UNC имеет форму \\<Имя_системы>\<Общая_папка>\<Путь>\<Имя_файла>. Например:

    Копировать код
    BACKUP DATABASE AdventureWorks 
       TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';
    GO

     

    2 марта 2007 г. 12:56