SQL Server:在CREATE DATABASE中使用参数

我想指定使用参数在sql脚本中创建数据文件和日志文件的路径.这是我写的:
DECLARE @DataFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:\ProgramData\Gemcom\'

DECLARE @LogFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:\ProgramData\Gemcom\'


USE master
Go
CREATE DATABASE TestDB
ON 
PRIMARY 
( NAME = N'TestDB_Data',FILENAME = @DataFilePath )
LOG ON 
( NAME = N'TestDB_Log',FILENAME = @LogFilePath  )

GO

不幸的是,这不起作用.当我尝试在sql Server Management Studio中运行它时,我收到了错误

Incorrect Syntax near
‘@DataFilePath’.

我想知道我打算做什么甚至是可能的?

谢谢

解决方法

您将不得不使用动态sql
SELECT @sql = 'CREATE DATABASE TestDB ON PRIMARY ( NAME = ''TestDB_Data'',FILENAME = ' + quotename(@DataFilePath) + ') LOG ON ( NAME = ''TestDB_Log'',FILENAME = ' + quotename(@LogFilePath) + ')'

EXEC (@sql)

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...