それは働いています......
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'