Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да прикача MDF без лог файл?

За вашата първоначална ситуация изглежда, че сте опитали нещо подобно (или каквото GUI подготвя за вас, когато преминете през диалоговите прозорци):

CREATE DATABASE YAFnet ON (FILENAME = N'C:\sql_data\YAFnet.mdf')
FOR ATTACH;

Този метод обаче изисква както mdf файл и ldf файл. В противен случай ще получите съобщение за грешка, подобно на:

Сега има начин да продължите, дори ако имате само mdf файл. Ако приемем, че имате mdf файл, който е правилно отделен от SQL Server, трябва да можете да прикачите mdf файл без лог файл, използвайки следния синтаксис:

CREATE DATABASE YAFnet ON (FILENAME = N'C:\sql_data\YAFnet.mdf')
FOR ATTACH_REBUILD_LOG;

Изглежда обаче, че във вашия случай файлът не е бил правилно отделен от SQL Server:

Има няколко възможни обяснения, включително споменатите в съобщението за грешка. Може би е бил извлечен от някаква невалидна SAN сянка, или е бил отделен, докато е само за четене, или е възстановен след срив на SQL Server или основната система, или е повреден по време на копиране/изтегляне, или кой знае какво още.

Ще трябва да се върнете към поддръжката на Yaf или поддръжката на техния доставчик на услуги, за да видите дали има подходящи резервни копия налични или, ако това не е възможно, алтернативни копия на mdf файл. Също така имайте предвид, че никой от нас наистина не знае какво е Yaf или няма начин да провери за кой Yaf говорите.

В противен случай изглежда, че нямате късмет, тъй като този конкретен mdf файлът е невалиден и следователно няма да ви отведе много далеч.

Точно поради тази причина подходите за отделяне/прикачване и/или копиране на файл на ниво O/S не са много полезни методи за архивиране (или миграция, в този смисъл) за SQL Server. Нуждаете се от подходящ план за архивиране/възстановяване, което означава да направите правилни резервни копия на пълен/диф/дневник, подходящи за вашата толерантност към загуба на данни. И отделянето на база данни е почти винаги по-долна идея - когато нещо се случи с mdf файл по време или след отделянето, сега имате НУЛА копия на вашата база данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP sqlsrv_connect към SQL Server:Възникна грешка, свързана с мрежата или специфична за екземпляр, при установяване на връзка към SQL Server

  2. Форматът на низа за инициализация не отговаря на спецификацията, започваща от индекс 0

  3. Драйверът Go with SQL Server не може да се свърже успешно, неуспешно влизане

  4. SQL Server 2008 Високо натоварване на процесора

  5. Грешка при аритметично препълване при преобразуване на числови в числови тип данни