[SQL] SQL 서버 : DATABASE를 생성에 사용되는 매개 변수
SQLSQL 서버 : 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 관리 Studio에서 그것을 실행하려고하면, 나는 오류가 발생했습니다
내가 무엇을 목적으로하는 경우에도 가능하면 궁금?
감사
해결법
-
==============================
1.당신은 동적 SQL을 사용해야합니다
당신은 동적 SQL을 사용해야합니다
SELECT @sql = 'CREATE DATABASE TestDB ON PRIMARY ( NAME = ''TestDB_Data'', FILENAME = ' + quotename(@DataFilePath) + ') LOG ON ( NAME = ''TestDB_Log'', FILENAME = ' + quotename(@LogFilePath) + ')' EXEC (@sql)
-
==============================
2.SQLCMD 모드를 사용해보십시오. SSMS에서 쿼리 메뉴에서, 다음, SQLCMD 모드 선택이 스크립트를 실행합니다.
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
from https://stackoverflow.com/questions/5626850/sql-server-use-parameter-in-create-database by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 자바에서 선택 쿼리를 위해 준비된 문을 사용 하는가? (0) | 2020.05.27 |
---|---|
[SQL] SQL 갱신 TOP1 행 쿼리 (0) | 2020.05.27 |
[SQL] SQL 서버 ID 열 값은 0에서 시작하는 대신 1 (0) | 2020.05.27 |
[SQL] dbms_utility.comma_to_table에 " 'XX.YY'무효 근처의 쉼표로 구분 된 목록"점점 (0) | 2020.05.27 |
[SQL] 다수의 열 값으로 나누어 하나의 열 값 (0) | 2020.05.27 |