首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Filestream数据库备份错误

Filestream数据库备份错误
EN

Database Administration用户
提问于 2013-01-16 19:50:47
回答 1查看 2.6K关注 0票数 3

我们有一个包含文件文件的DatabaseA。然后我们有一个归档过程,它首先删除DatabaseB (不同的服务器)中的文件,然后通过SSIS从DatabaseA插入新的文件到DatabaseB中。

每天晚上,我们尝试备份数据库,并得到以下错误:

操作系统返回错误'1392 (文件或目录已损坏且不可读)。当在\foldername guid上尝试'FindNextFile‘时。SQLSTATE 42000备份数据库正在异常终止。SQLSTATE 42000。这个步骤失败了。

当我查看文件路径和文件夹名时,名称与错误中报告的文件夹名guid不相同。当我们在filestream guid列上重新组织索引时,我们能够备份数据库。我们怎样才能从腐败中恢复过来?DBCC检查数据库?对于启用了filestream的数据库备份,还是使用filestream列删除行的方式,我们应该做些什么呢?

我们使用的是本机Server

备份命令:

将数据库备份到磁盘= '\share\backupshare\databasename\databasename.bak‘,其中包含无格式、init、name=’databasename--完全数据库备份‘、跳过、norewind、nounload、压缩、stats 10、校验和

EN

回答 1

Database Administration用户

发布于 2013-01-17 01:54:57

FindNextFile是Windows调用,所以备份过程是枚举FILESTREAM文件夹中的所有文件并备份它们。错误消息表示操作系统无法读取文件系统;至少对我来说,这表明磁盘上的文件/文件夹结构已损坏。如果根本找不到文件/文件夹,则会返回不同的错误。这可能意味着I/O子系统存在问题。我会在那个卷上运行chkdsk

DBCC CHECKDB文档来看,FILESTREAM检查似乎不只是确保数据库和文件系统之间存在链接。运行chkdsk能够对磁盘内容本身进行低级别的检查,这可能是本场景所需要的。无论如何,在数据库上运行CHECKDB也不会有什么害处(请阅读:定期阅读)。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/33043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档