C#学习教程:使用Smo.Backup将SQLServer数据库备份到字符串该应用程序将在我的家用PC上运行,因此主要目标是能够连接到外部服务器,备份所选数据库,将备份转储到字符串或其他内容,以便我可以将其写入我的PC磁盘而不是服务器上的磁盘。我做了一个可以写入服务器磁盘的,但我希望能够将备份结果写入我的PC磁盘。privateboolBackupDatabase(){try{//文件名字符串sFileName=string.Format("{0}\{1}.bak",_sWhereToBackup,DatabaseName);//连接字符串sConnectionString=String.Format("DataSource=tcp:{0};InitialCatalog={1};UserID={2};Pwd={3};",DatabaseHost,DatabaseName,DatabaseUsername,DatabasePassword);SqlConnectionoSqlConnection=newSqlConnection(sConnectionString);服务器oServer=newServer(newServerConnection(oSqlConnection));//备份备份backup=newBackup();backup.Action=BackupActionType.Database;backup.Database=数据库名称;备份。增量=假;备份.初始化=真;。截短;//备份设备BackupDeviceItembackupItemDevice=newBackupDeviceItem(sFileName,DeviceType.File);backup.Devices.Add(backupItemDevice);//开始备份backup.SqlBackup(oServer);}catch(Exceptionex){抛出ex;}返回假;}多谢!这有点hacky因为你需要调用sql函数来读取文件并作为二进制数组返回给您,然后将其转换回文件这将需要适当的权限才能作为您运行的帐户访问服务器驱动器上的文件。您可以使用t-sql或更高级的“高级”.net代码t-sql可以在这个很棒的sql注入指南中看到http://www.blackhat.com/presentations/bh-europe-09/Guimaraes/Blackhat-Europe-09-Damele-SQL注入攻击,slides.pdf或.net:http://www.mssqltips.com/sqlservertip/2349/read-and-write-binary-files-with-the-sql-server-clr/通过网络映射文件位置(即访问共享/驱动器/ipc连接)让服务器通过ftp将文件传输到某个位置听起来像您的场景中的东西吗?我认为你没有连接到服务器?理想情况下,您可以使用网络地址将其直接备份到您的计算机,但我猜这就是您的想法。走你正在考虑的路线将需要你拥有你通常不想通过互联网向某人开放的权限,而且编程比设置第二个移动你有权访问的文件的过程要麻烦得多.Adams关于让服务器通过ftp传输文件的建议是一个很好的建议。或者,您可能会发现使用DropBox(http://www.dropbox.com)可能是阻力最小的途径。然后,您可以将数据库备份到使用Dropbox设置的文件夹,它会自动复制到您在计算机上设置的任何文件夹以与之同步。您应该查看DAC,它主要用于Azure中的SQLServer,但也适用于SQLServer2008R2。http://sqldacexamples.codeplex.com/以上就是C#学习教程:使用Smo.Backup备份SQLServer数据库到字符串分享所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关照——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
