我在64位WS2k8上运行64位SQL2k8,并将数据库备份到UNC文件。 备份创build文件,复制数据,并在完成时,崩溃。
使用INIT,STATS = 1 … 98%处理备份数据库Infovest到磁盘='\ riscsrv-dcm04 \ riscsrv-sql01_backups \ dvc_Infovest_Z.bak'。 99%的处理。 处理数据库'Infovest'的3422232页,文件1上的'InfoVest_Data'文件。处理100%。 处理数据库'Infovest'的14383页,文件1上的'InfoVest_Log'文件。消息3634,级别16,状态2,行1操作系统返回了错误'64(无法检索此错误的文本。原因:15105)'同时尝试'\ riscsrv-dcm04 \ riscsrv-sql01_backups \ dvc_Infovest_Z.bak'上的'FlushFileBuffers'。 消息3013,级别16,状态1,行1 BACKUP DATABASEexception终止。
任何人都可以给我一些build议,如何不得到这个错误,仍然能够通过networking备份? 这两台服务器都是64位(src和dst),有足够的空间和共享千兆交换机。 db是27gb,其他的数据库备份很好,虽然比较小。 大小重要吗? 当备份到定义到类似文件的设备时,这种备份也会以相同的方式同样失败。
我卡在这里,并会支持解决此操作系统错误的支持。
亲切的问候Habeeb
logging与Microsoft的支持案例,这可能是一个错误!
这里有一些事情要检查/尝试:
SQL Server服务帐户在\ riscsrv-dcm04 \ riscsrv-sql01_backups \文件夹上是否具有完全共享和NTFS权限?
禁用删除服务器上的任何防病毒软件或其他任何可能干扰将文件保存到磁盘的内容。
尝试将备份分条到多个文件,看看是否仍然发生错误。 为此,请使用multiple to disk =命令,例如:
Backup database Infovest to disk = '\\riscsrv-dcm04\riscsrv-sql01_backups\dvc_Infovest_Z_01.bak' , disk = '\\riscsrv-dcm04\riscsrv-sql01_backups\dvc_Infovest_Z_02.bak' , disk = '\\riscsrv-dcm04\riscsrv-sql01_backups\dvc_Infovest_Z_03.bak'
如果服务器不是生产服务器(或者您有维护窗口),请尝试在执行备份之前将最大并行度更改为1,然后在完成后将其更改回来:
sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO sp_configure 'max degree of parallelism', 1; GO RECONFIGURE WITH OVERRIDE; GO