当前位置: 首页 > 面试题库 >

Microsoft.SqlServer.Management.Smo.FailedOperationException:服务器'\\\。\ pipe \ 3F103E6E-3FD4-47 \ tsql \ query'的备份失败

臧曜瑞
2023-03-14
问题内容

我将使用以下方法进行备份:

void BackupDatabase(string sConnect, string dbName, string backUpPath)
{
    using (SqlConnection cnn = new SqlConnection(sConnect))
    {
        cnn.Open();
        dbName = cnn.Database.ToString();

        ServerConnection sc = new ServerConnection(cnn);
        Server sv = new Server(sc);

        // Create backup device item for the backup
        BackupDeviceItem bdi = new BackupDeviceItem(backUpPath, DeviceType.File);

        // Create the backup informaton
        Microsoft.SqlServer.Management.Smo.Backup bk = new Backup();
        bk.PercentComplete += new PercentCompleteEventHandler(percentComplete);
        bk.Devices.Add(bdi);
        bk.Action = BackupActionType.Database;
        bk.PercentCompleteNotification = 1;
        bk.BackupSetDescription = dbName;
        bk.BackupSetName = dbName;
        bk.Database = dbName;
        //bk.ExpirationDate = DateTime.Now.AddDays(30);
        bk.LogTruncation = BackupTruncateLogType.Truncate;
        bk.FormatMedia = false;
        bk.Initialize = true;
        bk.Checksum = true;
        bk.ContinueAfterError = true;
        bk.Incremental = false;

        // Run the backup
        bk.SqlBackup(sv);//Exception
    }
}

但是发生了一个例外:

Microsoft.SqlServer.Management.Smo.FailedOperationException: Backup failed for Server '\\.\pipe\3F103E6E-3FD4-47\tsql\query'

有关异常的其他信息:

{Microsoft.SqlServer.Management.Smo.FailedOperationException: Backup failed for Server '\\.\pipe\3F103E6E-3FD4-47\tsql\query'. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'
at Microsoft.SqlServer.Management.Common.ServerConnection.GetStatements(String query, ExecutionTypes executionType, Int32& statementsToReverse)
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.ExecutionManager.ExecuteNonQueryWithMessage(StringCollection queries, ServerMessageEventHandler dbccMessageHandler, Boolean errorsAsMessages)
at Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql(Server server, StringCollection queries)
at Microsoft.SqlServer.Management.Smo.Backup.SqlBackup(Server srv)

=== Pre-bind state information ===
LOG: User = MDS-PC\MDS
LOG: DisplayName = Microsoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
(Fully-specified)
LOG: Appbase = file:///D:/My Works/C#/Win Form/Reza Restaurant/RezaRestaurant/bin/Release/
LOG: Initial PrivatePath = NULL
Calling assembly : Microsoft.SqlServer.ConnectionInfo, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: D:\My Works\C#\Win Form\Reza Restaurant\RezaRestaurant\bin\Release\RezaRestaurant.vshost.exe.Config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Post-policy reference: Microsoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
LOG: Attempting download of new URL file:///D:/My Works/C#/Win Form/Reza Restaurant/RezaRestaurant/bin/Release/Microsoft.SqlServer.BatchParser.DLL.
LOG: Attempting download of new URL file:///D:/My Works/C#/Win Form/Reza Restaurant/RezaRestaurant/bin/Release/Microsoft.SqlServer.BatchParser/Microsoft.SqlServer.BatchParser.DLL.
LOG: Attempting download of new URL file:///D:/My Works/C#/Win Form/Reza Restaurant/RezaRestaurant/bin/Release/Microsoft.SqlServer.BatchParser.EXE.
LOG: Attempting download of new URL file:///D:/My Works/C#/Win Form/Reza Restaurant/RezaRestaurant/bin/Release/Microsoft.SqlServer.BatchParser/Microsoft.SqlServer.BatchParser.EXE.

--- End of inner exception stack trace ---
at Microsoft.SqlServer.Management.Smo.Backup.SqlBackup(Server srv)
at RezaRestaurant.Form_鬲賳馗蹖賲丕鬲_賳乇賲_丕賮夭丕乇.BackupDatabase(String sConnect, String dbName, String backUpPath) in D:\My Works\C#\Win Form\Reza Restaurant\RezaRestaurant\Forms\鬲賳馗蹖賲丕鬲_賳乇賲_丕賮夭丕乇.cs:line 260
at RezaRestaurant.Form_鬲賳馗蹖賲丕鬲_賳乇賲_丕賮夭丕乇.button_鬲賴蹖賴_賳爻禺賴_倬卮鬲蹖亘丕賳_Click(Object sender, EventArgs e) in D:\My Works\C#\Win Form\Reza Restaurant\RezaRestaurant\Forms\鬲賳馗蹖賲丕鬲_賳乇賲_丕賮夭丕乇.cs:line 177}

你能指导我吗?谢谢。


问题答案:

该错误消息几乎是结论性的:

无法加载文件或程序集“ Microsoft.SqlServer.BatchParser,版本=
9.0.242.0,区域性=中性,PublicKeyToken = 89845dcd8080cc91”或其依赖项之一。该系统找不到指定的文件。

是否正确安装了SMO?

您是否在64位系统上运行?

您是否安装了2008年版本的SMO组件?

您可以从此处下载SMO的64位版本:Microsoft SQL Server
2008功能包,2008年10月



 类似资料:
  • 本文向大家介绍Windows服务器文件备份到本地的方法、Windows服务器数据备份方案,包括了Windows服务器文件备份到本地的方法、Windows服务器数据备份方案的使用技巧和注意事项,需要的朋友参考一下 重要的数据必须备份,并且必须实时备份,否则一旦出现意外情况,将会给服务器文件安全带来巨大灾难。那么,如何备份服务器文件呢?本文以Windows为例说明服务器文件备份的方法 方法一、通过专门

  • 本文向大家介绍一键备份gitolite服务器的Shell脚本,包括了一键备份gitolite服务器的Shell脚本的使用技巧和注意事项,需要的朋友参考一下 运行一次就能够把gitolite服务器上的仓库备份到本地. 第一次运行会创建远程仓库的本地镜像, 以后每次运行会把本地镜像更新. 本程序只支持 ssh方式 其他的git server貌似不会在 ssh git@xxx 的时候返回repo列表,

  • 本文向大家介绍服务器之间文件备份方案、如何把服务器文件自动备份到另外一台服务器?,包括了服务器之间文件备份方案、如何把服务器文件自动备份到另外一台服务器?的使用技巧和注意事项,需要的朋友参考一下 很多单位都有文件服务器备份的需求,并且常常是把一个服务器的文件自动备份到另外一台文件服务器 。如何实现呢? 一、Windows文件服务器自动备份的方法 Windows文件服务器自动备份的最简单方法是安装专

  • 问题内容: 我想使用存储过程将表从测试数据库复制到具有相同ID / Identity的链接服务器,但无法正常工作。.我将其设置为,但它仍然抱怨ID列。 这是我的程序: 但是,当我执行SP时,会出现以下错误: 由于列“ Id”,用于链接服务器....的OLE DB提供程序“ SQLNCLI10”无法插入表“ [LINKEDSERVER]。[ProductManager]。[dbo]。[UIData]

  • 我在连接到HA集群中的后备服务器时遇到了一些问题。我只有一个主要和次要。我正在使用stomp.py和JMS进行测试。 在我们的云服务器上设置HA之前,我使用虚拟盒子和一个模拟的本地网络来试验配置。我可以使用如下所示的IP与主服务器连接: 但是在关闭了主系统之后,我就无法与次系统连接了。我不确定它是否真的激活了。 STOMP-H 192.168.56.106-P 61616-U测试-W密码 这会给出

  • 本文向大家介绍postgreSQL使用pgAdmin备份服务器数据的方法,包括了postgreSQL使用pgAdmin备份服务器数据的方法的使用技巧和注意事项,需要的朋友参考一下 使用postgresql的时候,有时候需要备份数据,但是数据库又比较多,比如我们的数据库如下: 这就很烦了,需要一种一键备份还原的方法来备份还原。 1、备份 备份可以使用pgadmin自带的备份服务器。右键服务器连接,点