它正在......
declare @dbName varchar(50)
set @dbName='myDb'
BACKUP DATABASE @dbName TO DISK = 'c:\backup\myDb.bak'
但是 为什么不起作用?两者都是类似的查询。
BACKUP DATABASE 'mydb' TO DISK = 'c:\backup\myDb.bak'
答案 0 :(得分:3)
BACKUP DATABASE { database_name | @database_name_var }
TO <backup_device> [ ,...n ]
因此需要数据库名称(f.e. mydb
)或变量(f.e。@dbname
。)但不是字符串文字(f.e。'mydb'
。)
只需省略引号即可将字符串文字更改为数据库名称:
BACKUP DATABASE mydb TO DISK = 'c:\backup\myDb.bak'