微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)

原文地址:https://www.jb51.cc/mssql/78339.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐