【发布时间】:2019-02-21 18:33:29
【问题描述】:
我有一个扩展的存储过程,它备份 TDE 加密数据库,用新名称恢复它,解密恢复的数据库,将其设置为简单模式,然后它需要收缩日志文件。
当我到达需要发出USE DATABASE xyz; 的部分时,我已经在变量中拥有临时数据库名称,因此尝试使用以下代码
DECLARE @tempDBName VARCHAR(255)
DECLARE @sqlc NVARCHAR(MAX)
SET @tempDBName = 'xyz_temp'
SET @sqlc = N'USE ' + QUOTENAME(@tempDBName) + ' ;'
EXEC @sqlc
但是我得到了这个错误
名称'USE [xyz_temp];'不是有效的标识符。
非常感谢任何建议。
【问题讨论】:
-
你忘了括号:
exec (@sqlc)
标签: sql-server tsql dynamic-sql