这是工作......
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'
这是工作......
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'
文档说:
BACKUP DATABASE { database_name | @database_name_var }
TO <backup_device> [ ,...n ]
所以它需要一个数据库名称 (fe mydb
) 或一个变量 (fe @dbname
.) 但不是字符串文字 (fe 'mydb'
.)
只需省略引号即可将字符串文字更改为数据库名称:
BACKUP DATABASE mydb TO DISK = 'c:\backup\myDb.bak'