2015-03-17 3 views
2

Пытался найти это в другом месте, не повезло.Ошибка SSMS для базы данных «Не удалось открыть физический файл»

Я пытаюсь бросить базы данных, которые больше не существуют на диске, но по-прежнему отображаться в обозревателе объектов в SSMS 2014

Так как я могу «убрать их» в обозревателе объектов?

Нужно ли вручную удалить их из sys.master_files?

Исключение составил:

Drop failed for Database 'aspnet-Blawblaw-20141027015559'. (Microsoft.SqlServer.Smo) 

    ------------------------------ 
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=12.0.2000.8+((SQL14_RTM).140220-1752)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Drop+Database&LinkId=20476 

    ------------------------------ 
    Program Location: 

     at Microsoft.SqlServer.Management.Smo.SqlSmoObject.DropImpl() 
     at Microsoft.SqlServer.Management.Smo.Database.Drop() 
     at Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DoDropObject(Int32 objectRowIndex) 
     at Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DropAllObjects(Boolean stopOnError) 

    =================================== 

    An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) 

    ------------------------------ 
    Program Location: 

     at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType) 
     at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType) 
     at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries) 
     at Microsoft.SqlServer.Management.Smo.SqlSmoObject.ExecuteNonQuery(StringCollection queries, Boolean includeDbContext) 
     at Microsoft.SqlServer.Management.Smo.SqlSmoObject.DropImplWorker(Urn& urn) 
     at Microsoft.SqlServer.Management.Smo.SqlSmoObject.DropImpl() 

    =================================== 

    Unable to open the physical file "C:\Projects\BlawBlaw\BlawBlaw\App_Data\aspnet-BlawBlaw-20141027015559.mdf". Operating system error 3: "3(The system cannot find the path specified.)". 
    File activation failure. The physical file name "C:\Projects\BlawBlaw\BlawBlaw\App_Data\aspnet-BlawBlaw-20141027015559_log.ldf" may be incorrect. (.Net SqlClient Data Provider) 

    ------------------------------ 
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=11.00.3000&EvtSrc=MSSQLServer&EvtID=5120&LinkId=20476 

    ------------------------------ 
    Server Name: (LocalDb)\v11.0 
    Error Number: 5120 
    Severity: 16 
    State: 101 
    Line Number: 2 


    ------------------------------ 
    Program Location: 

     at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException) 
     at Microsoft.Sq 

ответ

0

шаги, которые необходимо будет запустить ниже:

  • Откройте командную строку
  • Запустите экземпляр LocalDB, если он еще не запущен: “C:\Program Files\Microsoft SQL Server\120\Tools\Binn\sqllocaldb.exe” start “MSSQLLocalDb″
  • Остановить базу данных localdb, выполнив следующую команду: “C:\Program Files\Microsoft SQL Server\120\Tools\Binn\sqlcmd” -S (localdb)\MSSQLLocalDb -E -d master -Q “DROP DATABASE [myDatabase]”
  • Вы можете остановить службу LocalDB Сейчас: “C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqllocaldb.exe” stop “MSSQLLocalDb″

Источник: http://kazimnami.azurewebsites.net/techblog/2013/02/27/delete-localdb-database-after-physical-files-have-been-deleted/

+0

'Msg 5120, уровень 16, состояние 101, сервер КОМПЬЮТЕР \ LocalDB # SHC670BC, линия 1 Невозможно открыть физический файл«C : \ Users \ User \ Test.mdf». Ошибка операционной системы 2: «2 (система не может найти указанный файл.)». Ошибка активации файла. Физическое имя файла «C: \ Users \ User \ Test_log.ldf» может быть неправильным. « – Eric

1

Это помогает мне.

  1. Открыть новый запрос
  2. Скопировать имя БД (F2)
  3. Выполнить эту команду: DROP DATABASE [C:TEST.MDF]
    - Когда "Тест" это название БД
  4. Execute
  5. После обновление, строка DB не показана в базах данных
+0

' Msg 3701, уровень 11, состояние 1, сервер COMPUTER \ LOCALDB # SHC670BC, строка 1 Не удается удалить базу данных «C: Test .mdf ', потому что он не существует или у вас нет разрешения. ' – Eric

Смежные вопросы