使用C ++ sql.h备份SQL数据库

时间:2019-03-12 13:53:56

标签: c++ mysql sql sql-server

我尝试使用C ++创建backup.bak文件。当我使用此命令

@song_rank

在Microsoft SQL Server管理中,它工作正常

但是当我使用

在c ++中执行相同的命令时
BACKUP DATABASE myDB TO DISK = 'D:\folder\MyDatabase.bak'

我得到错误号42000,这意味着-语法错误或访问冲突* StatementText包含无法准备的SQL语句或语法错误。

用户无权执行* StatementText中包含的SQL语句。

https://docs.microsoft.com/de-de/sql/odbc/reference/syntax/sqlexecdirect-function?view=sql-server-2017

尽管命令相同

1 个答案:

答案 0 :(得分:2)

  

用户无权执行SQL语句   包含在...

这是因为备份操作需要可以授予的额外权限:

在服务器级别:

GRANT BACKUP DATABASE TO [loginInUse]

或者,在某些特定数据库级别:

use db
EXEC sp_addrolemember 'db_backupoperator', 'loginInUse'