Как восстановить базу данных с MDF в SQL Server 2005?

Если вы уверены, что response содержит как объект с ключом given_name, так и объект с ключом family_name, вы можете написать так:

const newObj = {
    'given_name': response.filter(el => el.Name ==='given_name')[0].Value,
    'family_name': response.filter(el => el.Name ==='family_name')[0].Value,
}

Есть скрипка:

let response =     [
     {
	 "Name": "hobby",
	 "Value": "poker"
    }, 
    {
	 "Name": "privacy_id",
	 "Value": "1112"
    }, {
	 "Name": "given_name",
	 "Value": "Mike"
    }, 
    {
	 "Name": "family_name",
	 "Value": "Brown"
    }, 
    {
	 "Name": "email",
	 "Value": "test@email.com"
    }
 ]
 
 const newObj = {
    'given_name': response.filter(el => el.Name ==='given_name')[0].Value,
    'family_name': response.filter(el => el.Name ==='family_name')[0].Value,
 }
  
 console.log(newObj);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>

15
задан Mihai Limbășan 21 April 2009 в 15:34
поделиться

4 ответа

На Обмен экспертами .

patrikt я нашел следующий документ: У вас будет потеря данных, но это возможно.

1. Detach database and move your mdf to save location.
2. Create new databse of same name, same files, same file location and same file size.
3. Stop SQL server.
4. Swap mdf file of just created DB to your save one.
5. Start SQL. DB will go suspect.
6. ALTER DATABASE yourdb SET EMERGENCY
7. ALTER DATABASE yourdb SET SINGLE_USER
8. DBCC CHECKDB (yourdb, REPAIR_ALLOW_DATA_LOSS)
9. ALTER DATABASE yourdb SET MULTI_USER
10. ALTER DATABASE yourdb SET ONLINE
21
ответ дан 1 December 2019 в 00:21
поделиться

ОТ сообщения на форумах SQL Server Присоединение MDF без LDF :

Если вы хотите подключить MDF без LDF, вы можете выполнить следующие шаги Он протестирован и работает нормально

  1. Создайте новую базу данных с тем же именем и теми же файлами MDF и LDF

  2. Остановите сервер SQL и переименуйте существующий MDF в новый, скопируйте исходный MDF в это местоположение и удалите LDF файлы.

  3. Запустите SQL Server

  4. Теперь ваша база данных будет помечена как подозрительная. 5. Обновите базы данных sysdatabase для обновления в аварийном режиме. Это не будет использовать файлы LOG при запуске

 Sp_configure "allow updates", 1
идти
Переконфигурировать с переопределением
ИДТИ
Обновите системные базы данных, установив статус = 32768, где name = "BadDbName"
идти
Sp_configure "разрешить обновления", 0
идти
Переконфигурировать с переопределением
ИДТИ
  1. Перезагрузите сервер sql. Теперь база данных будет в аварийном режиме.

  2. Теперь выполните недокументированный DBCC, чтобы создать файл журнала.

DBCC REBUILD_LOG (dbname, 'c: \ dbname.ldf') - Недокументированный шаг к создайте новый файл журнала.

(замените имя базы данных и имя файла журнала в соответствии с требованиями ur)

  1. Выполните sp_resetstatus

  2. Перезапустите сервер SQL и посмотрите, что база данных находится в сети.

ОБНОВЛЕНИЕ: DBCC REBUILD_LOG не существует SQL2005 и выше. Это должно работать:

USE [master]
GO
CREATE DATABASE [Test] ON 
    (FILENAME = N'C:\MSSQL\Data\Test.mdf')
    FOR ATTACH_REBUILD_LOG
GO
9
ответ дан 1 December 2019 в 00:21
поделиться

пытались ли вы проигнорировать ldf и просто приложите mdf:

sp_attach_single_file_db [@dbname =] 'dbname', [@physname =] 'Physical_name'

i don ' Я точно не знаю, что произойдет с вашими открытыми транзакциями (возможно, только что потерянными), но он может вернуть ваши данные в оперативный режим.

-don

5
ответ дан 1 December 2019 в 00:21
поделиться
2
ответ дан 1 December 2019 в 00:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: