我想使用参数指定在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
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用.当我尝试在SQL Server Management Studio中运行它时,我收到了错误
'@DataFilePath'附近的语法不正确.
我想知道我打算做什么甚至是可能的?
谢谢
Her*_*nan 17
您将不得不使用动态SQL
SELECT @sql = 'CREATE DATABASE TestDB ON PRIMARY ( NAME = ''TestDB_Data'',
FILENAME = ' + quotename(@DataFilePath) + ') LOG ON ( NAME = ''TestDB_Log'',
FILENAME = ' + quotename(@LogFilePath) + ')'
EXEC (@sql)
Run Code Online (Sandbox Code Playgroud)
Joe*_*lli 12
尝试使用SQLCMD模式.在SSMS中,在"查询"菜单下,选择"SQLCMD模式",然后运行此脚本.
:SETVAR DataFilePath N'C:\ProgramData\Gemcom\TestDB.mdf'
:SETVAR LogFilePath N'C:\ProgramData\Gemcom\TestDB.ldf'
USE master
Go
CREATE DATABASE TestDB
ON
PRIMARY
( NAME = N'TestDB_Data', FILENAME = $(DataFilePath) )
LOG ON
( NAME = N'TestDB_Log', FILENAME = $(LogFilePath) )
GO
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13846 次 |
| 最近记录: |