Arhn - архитектура программирования

SQL Server: база данных застряла в состоянии «Восстановление» с помощью PHP

Я попытался создать резервную копию своей базы данных, следуя инструкциям из SQL Server: база данных застряла в состоянии восстановления. но моя база данных застряла в состоянии «Восстановление». php-код ниже:

$database = "container";
$uid = "sa";
$pwd = "12345" ; 

try {
      $conn = new PDO( "sqlsrv:Server=localhost\SQLEXPRESS;Database=$database", 
          $uid, 
          $pwd
          //,array(PDO::ATTR_PERSISTENT => true)
          ); 
  $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); }
catch( PDOException $e ) {
  die( "Error connecting to SQL Server" ); }

echo "Connected to SQL Server\n";

$backfile = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\sql server bk' ;
echo "Connected to SQL Server\n";
$backfile = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\sql server bk'  ;

$query = "RESTORE DATABASE child_database FROM DISK = '$backfile' WITH  REPLACE, RECOVERY ";
$conn->exec($query);

После запуска этого кода моя child_database застряла при восстановлении состояния. Однако я копирую команду sql

RESTORE DATABASE child_database FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\sql server bk' WITH  REPLACE, RECOVERY

и запустить в инструменте управления сервером microsoft sql, он работает нормально.

Я пытаюсь запустить добавить php-код

$conn->exec("RESTORE DATABASE child_database WITH RECOVERY");

У меня исключение.

пожалуйста помоги.

29.01.2012

  • Неустранимая ошибка: Неперехваченное исключение «PDOException» с сообщением «SQLSTATE [42000]: [Microsoft] [Собственный клиент SQL Server 10.0] [SQL Server] База данных не может быть восстановлена, потому что журнал не был восстановлен». в C: \ xampp \ htdocs \ mssql \ restore.php: 31 Трассировка стека: # 0 C: \ xampp \ htdocs \ mssql \ restore.php (31): PDO- ›exec ('RESTORE DATABAS ...') # 1 {main} добавлен в C: \ xampp \ htdocs \ mssql \ restore.php в строке 31 30.01.2012
  • Я давно не писал PHP, можете ли вы просто вставить $ backfile в такую ​​строку? 30.01.2012
  • да. код работает идеально. Он восстановил базу данных, но оставил базу данных в состоянии восстановления. 30.01.2012

Ответы:


1

Кажется, есть проблема с драйвером PDO, эта проблема может быть на уровне ODBC / SNAC, на котором построен драйвер. Но это восстановление базы данных хорошо работает с другими драйверами. Я пробовал с sqlsrv и mssql, они работали хорошо. Подробнее см. Восстановление базы данных SQL Server с помощью PHP

31.01.2012
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..