-2

Possible Duplicate:
SQL Server SMO complains of missing DLLProgrammatic резервное копирование БД на SQL Server 2008 не удается (но работает на более ранних версиях)

У меня есть следующий код для резервного копирования БД, который работал с Windows Server 2003 на SQL Server 2005:

  ServerConnection ServerConn = new ServerConnection(); 
     try 
     { 
      ServerConn.ServerInstance = "(local)"; 
      ServerConn.LoginSecure = true; 
      ServerConn.Connect(); 

      if (ServerConn.SqlConnectionObject.State == ConnectionState.Open) 
      { 
       Server svr = new Server(ServerConn); 
       string[] DatabaseNames = GetDatabaseNames(); 
       foreach (string Database in DatabaseNames) 
       { 
        Backup bkp = new Backup(); 
        bkp.Devices.AddDevice(SanityConstants.DBBackupFolder + Database + ".bak", DeviceType.File); 
        bkp.Database = Database; 
        bkp.Action = BackupActionType.Database; 
        bkp.Initialize = true; 
        bkp.SqlBackup(svr); 
       } 
      } 
     } 

Когда этот код выполняется на Windows Server 2008 32-разрядная машина, я получаю следующее сообщение об ошибке:.

«сбой резервного копирования для сервера» [DT-COMP] - не удалось загрузить файл или сборку ' Microsoft.SqlServer.SqlEnum, Version = 9.0.242.0, Культура = нейтральная, PublicKeyToken = 89845dcd8080cc91 'или одна из ее зависимостей. Система не может найти указанный файл.»

SQL Server 2008 R2 установлен на этой машине. Я могу повторить вопрос на другой сервер 2008 машин Win.

Любые идеи?

+0

Основываясь на вашем исключении, вам не хватает ссылки на сборку ... Это не «Экспресс» издание любым chanc е? – Phill

+3

[Ответ] (http://stackoverflow.com/questions/537613/sql-server-smo-complains-of-missing-dll/551403#551403) был найден примерно через некоторое время, требуемое для вставки сообщения об ошибке в поиск коробка. Пожалуйста, используйте Google. – GSerg

+0

Я пытался установить объекты SMO раньше. Это не решило проблему. Однако мне нужно иметь обновленную DLL SQL Server, указанную в моей программе. В настоящее время я использую библиотеки Microsoft.SqlServer.ConnectionInfo, Microsoft.SqlServer.ServiceBrokerEnum и Microsoft.SQLServer.Smo DLL. Нужен ли мне новый набор DLL, чтобы он мог работать? Кроме того, мне также нужны старые DLL для работы со старыми версиями SQL Server? Если да, где я могу получить эти DLL? –

ответ

0

Ошибка вы указали, что это не из-за кода, который вы написали, а из-за проблемы установки SqlServer, восстановления SqlServer в вашей системе и повторите попытку. И если он также не работает, остановите SqlServer и запустите снова, отсоедините базу данных и повторно -attach it.

+0

SQL Server 2008 с R2 был успешно установлен вчера на машине. Как вы думаете, отсутствует ли этот компонент? –

+0

Может быть, такая же ошибка, которую я получил ранее при выполнении резервного копирования базы данных. Затем, когда я снова отремонтировал сервер Sql, ошибка не наступила позже. –

+0

У меня такая же проблема на нескольких машинах. Мне нужно связаться с теми, кто отвечает за установку SQL Server, и посмотреть, могут ли они выполнить ремонт, или попробуйте установить все возможные компоненты. –