我正在尝试创建一个动态 SQL 语句以将数据库设置为单用户模式,以便稍后我可以对其进行还原。我在一个循环中放置了一个执行 SQL 任务,其中一个参数用于提供下一个数据库的名称以设置为单用户模式。但是,我不确定 Execute SQL 是否可以运行 DML 或仅运行 SQL,并且我不确定它是否可以在循环中动态完成。这是我在 SQL Execute 任务中的代码。
DECALRE @SQLString nvarchar(200)
SET @SQLString = 'ALTER DATABASE [' + ? + '] ' + '设置单个用户立即回滚'
执行(@SQLString)
问号是我设置为单用户模式的数据库名称的 OLEDB 占位符。
这是在 SQL2012 上