我正在设置一个 SQL 脚本,该脚本从变量名创建数据库,然后获取新创建的数据库并从 .bak 文件中恢复它。我在设置的一个命令中遇到了一些语法问题,想问是否有人可以帮助我发现我的语法错误?我只会粘贴我麻烦的代码片段及其声明,如果我是正确的,问题在于我声明文件名路径的方式。我尝试设置变量的路径,但由于撇号放置,我仍然收到错误。谢谢!!!
declare @DBname varchar(10), @sqlcommand Nvarchar(max)
set @DBname = 'testdb'
创建数据库的代码,并将新数据库设置为单用户模式
--restore database
set @sqlcommand = N'Restore DATAbase ' + @DBname + ' from disk = ''C:/loc_smartz_db0_template.bak'' with move '
+ @DBname + ' to ''C:/ProgramFiles/Microsoft SQL Server/MSSQL/Data/TestDatabase1.mdf'', move ' + @DBname + ' to ''C:/ProgramFiles/Microsoft SQL Server/MSSQL/Data/TestDatabase1.ldf'', Replace'
EXECUTE sp_executesql @sqlcommand
将数据库设置回多用户并打印数据库已成功创建的代码