我尝试使用C ++创建backup.bak文件。当我使用此命令
@song_rank
在Microsoft SQL Server管理中,它工作正常
但是当我使用
在c ++中执行相同的命令时BACKUP DATABASE myDB TO DISK = 'D:\folder\MyDatabase.bak'
我得到错误号42000,这意味着-语法错误或访问冲突* StatementText包含无法准备的SQL语句或语法错误。
用户无权执行* StatementText中包含的SQL语句。
尽管命令相同
答案 0 :(得分:2)
用户无权执行SQL语句 包含在...
这是因为备份操作需要可以授予的额外权限:
在服务器级别:
GRANT BACKUP DATABASE TO [loginInUse]
或者,在某些特定数据库级别:
use db
EXEC sp_addrolemember 'db_backupoperator', 'loginInUse'