-2

Possible Duplicate:
SQL Server SMO complains of missing DLL綱領性備份失敗(但適用於早期版本)

我有備份下面的代碼數據庫的已與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,版本= 9.0.242.0, Culture = neutral,PublicKeyToken = 89845dcd8080cc91'或它的一個依賴項。該系統找不到指定的文件。」

的SQL Server 2008 R2安裝在此機器上。我能夠複製在其他贏Server 2008的機器的問題。

任何想法?

+0

根據您的例外情況,您錯過了一個程序集參考...這不是任何版本的「快速」版本è? – Phill

+3

[about the time](http://stackoverflow.com/questions/537613/sql-server-smo-complains-of-missing-dll/551403#551403)是在將錯誤消息粘貼到搜索所需的時間內發現的框。請使用Google。 – GSerg

+0

我曾嘗試安裝SMO對象。它沒有解決這個問題。但是,我是否需要更新我的程序中引用的SQL Server DLL。我目前使用Microsoft.SqlServer.ConnectionInfo,Microsoft.SqlServer.ServiceBrokerEnum和Microsoft.SQLServer.Smo DLL's。 我是否需要一組新的DLL才能使其工作?另外,我是否也需要使用舊的DLL才能使用舊版本的SQL Server?如果是這樣,我在哪裏可以得到這些DLL? –

回答

0

的錯誤你所顯示的不是由於你編寫的代碼,而是由於SqlServer安裝問題,修復你的系統中的SqlServer,然後再試一次,如果它不工作,再次停止SqlServer和Start,分離數據庫並重新啓動 - 附件

+0

昨天在機器上成功安裝了帶有R2的SQL Server 2008。它是否缺少可選組件?您認爲? –

+0

可能是以前在做數據庫備份時發生的錯誤。然後,當我再次修復Sql Server時,錯誤不再發生。 –

+0

雖然我在多臺機器上都遇到了同樣的問題。我需要聯繫負責安裝SQL Server的人員,看看他們是否可以執行修復,或嘗試安裝所有可能的組件。 –

相關問題