正在工作......
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 ]
因此它需要一个数据库名称(例如mydb
)或一个变量(例如@dbname
。),但不是字符串文字(例如'mydb'
。)
只需省略引号即可将字符串文字更改为数据库名称:
BACKUP DATABASE mydb TO DISK = 'c:\backup\myDb.bak'
关于sql - 为什么备份 sql server 查询在没有变量的情况下不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12108548/