none
База не хочет восстанавливаться в режиме WITH STANDBY MS SQL 2008 R2 RRS feed

  • Вопрос

  • Версия SQL сервера

    Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86)   Jun 17 2011 00:57:23   Copyright (c) Microsoft Corporation Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2) 

    1. Сделал бекап базы вместе с логами (чтобы сделать Log Shiping).
    2. Начал разворачивать бекап базы,он начал делаться показывал проценты 

    10-20 процентов,все было как бы хорошо.

    3 В конце выдал такое сообщение 

    System.Data.SqlClient.SqlError: 
    This backup cannot be restored using WITH STANDBY because a database upgrade is needed. Reissue the RESTORE without WITH STANDBY. 
    (Microsoft.SqlServer.Smo)

    Сама база восстановилась только в режиме восстановления.
    Режима только чтения нету.

    ---------------------------------------------------------------------------------------------------------------------------------

    Перевел базу в нормальный режим таким скриптом чтобы проверить

    восстановилась ли она

    USE [master]
    GO

    RESTORE DATABASE test
    WITH RECOVERY
    GO

    Все прошло хорошо.

    Как задать параметры восстановления так,чтобы база была в режиме Read/Only.

    Мне нужно сделать Log Shiping. 

    • Перемещено Yatajga 4 февраля 2014 г. 6:06
    4 февраля 2014 г. 3:11

Ответы

  • Добрый день

    Причина данной ошибки в том, что одна версия SQL сервера  пытается прочитать данные, версия которых отличаются от версии SQL сервера.  Каждая база данных имеет внутреннюю версию, которая называется Database Internal Version (DBI_Version). Каждая страница имеет номер SQL, которая называется основной версией в заголовке страницы. Например номер версии для SQL Server 2008 является DBI 655, а для для SQL Server 2008 R2 - 661.

    Чтобы узнать DBI_Version вашей базы воспользуйтесь командой: 

    use YourDatabaseName;
    go
    DBCC TRACEON (3604);  
    GO 
    DBCC DBINFO 
    GO 
    DBCC TRACEOFF (3604);
    go

    Чтобы сделать апгрейт вашей базы вы можете восстановить базу с режимом with no recovery. 

    Удачи

    4 февраля 2014 г. 8:36

Все ответы

  • Добрый день.

    Этот форум посвящен разработке ПО. Ваш вопрос лучше задать на форуме посвященном администрированию - TechNet. Либо закройте топик здесь и задайте вопрос там, либо подождите, пока администратор перенесет ваш вопрос.

    4 февраля 2014 г. 5:47
  • Добрый день

    Причина данной ошибки в том, что одна версия SQL сервера  пытается прочитать данные, версия которых отличаются от версии SQL сервера.  Каждая база данных имеет внутреннюю версию, которая называется Database Internal Version (DBI_Version). Каждая страница имеет номер SQL, которая называется основной версией в заголовке страницы. Например номер версии для SQL Server 2008 является DBI 655, а для для SQL Server 2008 R2 - 661.

    Чтобы узнать DBI_Version вашей базы воспользуйтесь командой: 

    use YourDatabaseName;
    go
    DBCC TRACEON (3604);  
    GO 
    DBCC DBINFO 
    GO 
    DBCC TRACEOFF (3604);
    go

    Чтобы сделать апгрейт вашей базы вы можете восстановить базу с режимом with no recovery. 

    Удачи

    4 февраля 2014 г. 8:36