2015-06-20 15 views
0

У моего компьютера разработки есть SQL Server 2008. У меня есть база данных, которая создана и работает на SQL Server 2008. Имя экземпляра SQL Server 2008: SQLEXPRESS, которое по умолчанию равно , Моя строка подключения примерно такая:База данных SQL Server не работает из-за проблемы с версией сервера на тестовой машине

<add name="DB1Entities" 
    connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\DB1.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework&quot;" 
    providerName="System.Data.EntityClient" /> 

Хорошо работает на моем компьютере разработки. Но когда я пытался работать на другом ПК, он не работал, но вместо этого показывал эту ошибку:

System.Data.EntityException: Исходный провайдер не смог открыть Open. ---> System.Data.SqlClient.SqlException: База данных «.. ​​\ DB1.MDF» не может быть открыта, потому что это версия 655. Этот сервер поддерживает версию 612 и ранее. Путь вниз не поддерживается.

Первый мой тестовый компьютер имеет только SQL Server 2005 (имя экземпляра: SQLEXPRESS). Из-за этой ошибки я установил SQL Server 2008 (имя экземпляра: MSSQLSERVER). Я пробовал много решений из Интернета. Я также попытался изменить экземпляр мама в строке подключения. Но такая же ошибка есть. Я думаю, что мне может понадобиться прокрутить имя экземпляра SQL Server 2005 и 2008. Но не знаю, как это сделать.

Любое решение пожалуйста?

+2

Какой ** выпуск ** SQL Server ** 2008 ** вы установили на свой тестовый компьютер? Параметр 'AttachDbFileName =' в вашей строке соединения поддерживается ** только ** ** ** ** - никакая другая версия не поддерживает это. –

+0

Как указано в marc, я думаю, что строка подключения действительна только для Express и существует более одной версии 2008 года. Попробуйте восстановить резервную копию - вряд ли сработает, но попробуйте. Подключитесь через связанный сервер и скопируйте. – Paparazzi

+0

Я установил EXPRESS версию SQL Server 2008 (от: microsoft.com/en-in/download/details.aspx?id=1695). В программном меню он отображается как «SQL Server 2008 R2». – ayc

ответ

1

В соответствии с вашим сообщением об ошибке и this chart у вас есть файл MDF, который версия 655 (SqlServer 2008) и вы пытаетесь использовать его в машине, где установлен SQL Server 2005, которая поддерживает до версии 612.

Теперь плохие новости. Вы не можете использовать эту версию файла в этой системе. Нет никакого инструмента, который мог бы выполнить «преобразование» двух файлов, а Sql Server не знает до not support this scenario

Ваши варианты ограничены. Вы можете обновить систему назначения до последней версии Sql Server Express и попытаться загрузить файл в этой обновленной системе. Обычно нет проблем, когда новая версия Sql Server пытается прочитать предыдущую версию (не раньше Sql Server 2005). Другая возможность заключается в том, чтобы списать вашу текущую базу данных Sql Server, а затем запустить сценарий на конечном компьютере.

+0

Привет, я уже установил SQL Server 2008 на моем целевом компьютере. но все та же ошибка. – ayc

+0

@ayc: да - вы уже упоминали, что вы установили SQL Server 2008 - но *** какое издание *** из этого? См. Мой комментарий к вашему вопросу, и, пожалуйста, ответьте на него .... –