2

这是工作......

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'
4

1 回答 1

3

文档说:

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'
于 2012-08-24T11:31:26.160 回答