Восстановление базы данных SQL Server — данные имеют значение null, этот метод или свойство нельзя вызывать для нулевых значений

Я пытаюсь скопировать 2 базы данных с SQL Server 2012 на новую виртуальную машину SQL Server 2017.

Одна из баз данных была успешно восстановлена, но другая вызывает следующие проблемы.

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

Цените любую помощь.


person user3430861    schedule 31.07.2019    source источник
comment
Вам нужно будет предоставить здесь некоторый контекст. Мы не работали над этим проектом и понятия не имеем, что вы пытаетесь сделать.   -  person Sean Lange    schedule 31.07.2019
comment
@SeanLange У меня есть 2 базы данных на SQL 2012, которые мне нужно восстановить на SQL 2017. 1 База данных успешно восстановлена, и все таблицы доступны. Другая база данных, когда я пытаюсь получить доступ к папке таблиц, я получаю эту ошибку.   -  person user3430861    schedule 31.07.2019
comment
Вы имеете в виду в ССМС?   -  person Sean Lange    schedule 31.07.2019
comment
@SeanLange да.   -  person user3430861    schedule 31.07.2019
comment
Как выглядят ваши файлы mdf и ldf? Можете ли вы проверить оба этих значения для двух восстановленных баз данных? Возможно, проверьте правильность физического размера этих файлов и местоположений.   -  person Jacob H    schedule 31.07.2019
comment
Вы обновили свою SSMS?   -  person PeterHe    schedule 31.07.2019


Ответы (1)


SQL Server 2017 имеет множество функций, которых нет в SQL Server 2012, и, вероятно, ваша версия SSMS не поддерживает более новую версию SQL Server.

Вероятно, когда вы открываете базу данных в SSMS, она пытается загрузить диаграммы базы данных (теперь они устарели).

Умеете ли вы запускать:

USE [databasename]
GO

SELECT * FROM sys.objects

и посмотрите, есть ли там ваши ожидаемые таблицы?

person MysticHeroes    schedule 31.07.2019