我有一个存储过程,它为特定数据库执行数据库备份。 问题是,它可以在一台服务器上运行,但不能在另一台服务器上运行(服务器在不同的机器上)。备份驱动器是服务器的本地驱动器。 在第二台服务器上,我收到异常“ BACKUP DATABASE正在异常终止。 ”
在日志文件中有以下信息:
... Error: 18204, Severity: 16, State: 1.
... BackupDiskFile::CreateMedia: Backup device 'D:\XXX.bak' failed to create. Operating system error 5(failed to retrieve text for this error. Reason: 15105).
... Error: 3041, Severity: 16, State: 1.
... BACKUP failed to complete the command BACKUP DATABASE XXX. Check the backup application log for detailed messages.
可能是什么原因以及我在哪里可以找到所提到的备份应用程序日志?
答案 0 :(得分:4)
对我来说同样的问题
解决方案:
→无效
C:\
d:\
......或任何目录
代码:
BACKUP DATABASE [ERP] TO DISK ='C:\ERP.bak'
BACKUP DATABASE [ERP] TO DISK ='D:\ERP.bak'
BACKUP DATABASE [ERP] TO DISK ='E:\ERP.bak'
行不通!
→工作
BUT
代码:
BACKUP DATABASE [ERP] TO DISK ='C:\AtleastOneDir\ERP.bak'
BACKUP DATABASE [ERP] TO DISK ='D:\AtleastOneDir\ERP.bak'
BACKUP DATABASE [ERP] TO DISK ='E:\AtleastOneDir\ERP.bak'
会为我工作!
答案 1 :(得分:2)
听起来像是一个权限问题。
这只是一个开始...
答案 2 :(得分:1)
尝试使用“with execute as caller”再次编译SP并再次运行。
答案 3 :(得分:1)
行。在我的备份中也遇到了同样的错误。创建备份的用户也具有服务器的管理员权限。如果不手动创建子文件夹,请确保该子文件夹存在。运行。对于Ex。 D:\ MsSQL \ Backup \ MyDB \ mydb.bak,确保myDB文件夹存在
答案 4 :(得分:1)
此答案涵盖相同的错误消息,但与机器对机器访问权限无关 - 将其作为参考发布,以防其他人在此处搜索相同的错误代码。
在测试scheduled automated database backups in SQL Server 2008时,遇到相同的常规错误消息(Error: 3041, Severity: 16, State: 1.
)。事实证明我使用的是标准版SQL Server 2008中没有的功能 - 备份压缩。从我的自定义数据库备份维护计划任务(通过“View T-SQL”按钮提供)运行生成的T-SQL,为我提供了更详细的信息。
Ms 1844,Level 16,State 1,Line 1
标准版(64位)不支持带压缩的BACKUP DATABASE。
消息3013,级别16,状态1,行1 BACKUP DATABASE异常终止。
将“设置备份压缩”从“使用默认服务器设置”更改为“压缩备份”会破坏备份脚本。改回来固定它。
答案 5 :(得分:1)
在我的情况下,我重新启动SQL Server服务,现在我可以像previus一样进行备份。
答案 6 :(得分:0)
尝试在sql server上创建Windows登录并将其映射到对D驱动器具有写入权限的Windows用户,并确保该过程在该用户的安全上下文下运行。