Поделиться через


SqlCeEngine.Repair Method

Восстанавливает поврежденную базу данных.

Пространство имен: System.Data.SqlServerCe
Сборка: System.Data.SqlServerCe (в system.data.sqlserverce.dll)

Синтаксис

'Декларация
Public Sub Repair ( _
    connectionString As String, _
    options As RepairOption _
)
public void Repair (
    string connectionString,
    RepairOption options
)
public:
void Repair (
    String^ connectionString, 
    RepairOption options
)
public void Repair (
    String connectionString, 
    RepairOption options
)
public function Repair (
    connectionString : String, 
    options : RepairOption
)

Параметры

  • connectionString
    Строка соединения с локальной базой данных.
  • options
    Параметр RepairOption для использования при восстановлении базы данных.

Замечания

Если метод восстановления вызывается со значением DeleteCorruptedRows для параметра RepairOption, то из базы данных будут удалены все поврежденные страницы. Это может привести к значительным потерям данных, однако восстановленные данные не будут содержать повреждений.

Если метод восстановления вызывается со значением RecoverCorruptedRows для параметра RepairOption, то база данных предпримет попытку считать данные из поврежденных страниц. С помощью этого параметра, возможно, удастся восстановить больше данных, но при этом восстановленные данные могут быть повреждены.

h093xwk1.note(ru-ru,VS.90).gifПримечание.
Начиная с версии SQL Server Compact 3.5 с пакетом обновления 1 (SP1), этот метод можно использовать для создания восстановленной базы данных с параметрами сортировки, учитывающими регистр. Если в методе Repair для базы данных с учетом регистра задать для свойства CaseSensitive строки соединения значение false, то в случае наличия в базе данных индекса с учетом регистра потеря данных о регистре может вызвать ошибку индекса в журнале восстановления, хотя программный код будет выполняться успешно. Ошибка случается, когда две уникальные записи считаются равными. Например, пара «aaa» и «aaA». В файл журнала восстановления записывается следующее сообщение. Ошибка создания индекса

Пример

Dim engine As New SqlCeEngine("Data Source = AdventureWorks.sdf")

' Specify null destination connection string for in-place repair
'
engine.Repair(Nothing, RepairOption.DeleteCorruptedRows)
SqlCeEngine engine = new SqlCeEngine("Data Source = AdventureWorks.sdf");

// Specify null destination connection string for in-place repair
//
engine.Repair(null, RepairOption.DeleteCorruptedRows);

Многопоточное использование

Все общие статические члены (Shared в Microsoft Visual Basic) этого типа можно использовать в многопоточных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

Платформы

Платформы разработки

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Сведения о версии
.NET Framework и NET Compact Framework
Поддерживается в версии 3.5
.NET Framework
Поддерживается в версии 3.0
.NET Compact Framework и .Net Framework
Поддерживается в версии 2.0

См. также

Справочник

SqlCeEngine Class
SqlCeEngine Members
System.Data.SqlServerCe Namespace