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 に答える