使用SMO .net通过DeviceType.Pipe进行备份和还原

5

我写了一个使用.net上的SMO库备份SQL数据库的程序,一切都很顺利,只有最后一个问题,我正在改变将.bak文件保存到硬盘的方式,从DeviceType.File改为DeviceType.Pipe,我以前使用过管道,只是不知道如何在这里实现。

2个回答

6
我认为PIPE备份设备在SQL Server 2005及以上版本中不可用。
sys.backup_devices中可以看出,pipe已经过时了。 当然,我可能错了,我从来没有使用过pipe备份(即使是在我的SQL Server 6.5时代)。
编辑,好的找到了...
这里的第一条目录:SQL Server 2005中已停用的数据库引擎功能

已停用的功能 = 命名管道备份设备

带有注释 "由于安全原因,SQL Server不支持对命名管道的备份。"

那么为什么它仍然列在DeviceType枚举中呢?

2
我认为当备份设备实际上被配置为管道时,枚举仍然可以在SMO中读取。许多已过时和禁止使用的语言特性仍然可能出现在元数据中,通常是由于实例或数据库升级的结果,因此SMO必须能够在其对象模型中表示元数据中实际存在的内容。 - Remus Rusanu
那么有没有其他的方法可以将SQL服务器的输出处理为数据流,因为我的意思是在保存到硬盘之前操纵这个数据流,以节省时间并提高安全性。 - Arrabi

1
管道已经停止了,伙计们。百分之百确定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接