sp_create_removable(Transact-SQL)
적용 대상: SQL Server
이동식 미디어 데이터베이스를 만듭니다. 세 개 이상의 파일(시스템 카탈로그 테이블용, 트랜잭션 로그용 및 데이터 테이블에 대해 하나 이상)을 만들고 해당 파일에 데이터베이스를 배치합니다.
Important
SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 대신 CREATE DATABASE를 사용하는 것이 좋습니다.
구문
sp_create_removable
[ [ @dbname = ] N'dbname' ]
[ , [ @syslogical = ] N'syslogical' ]
[ , [ @sysphysical = ] N'sysphysical' ]
[ , [ @syssize = ] syssize ]
[ , [ @loglogical = ] N'loglogical' ]
[ , [ @logphysical = ] N'logphysical' ]
[ , [ @logsize = ] logsize ]
[ , [ @datalogical1 = ] N'datalogical1' ]
[ , [ @dataphysical1 = ] N'dataphysical1' ]
[ , [ @datasize1 = ] datasize1 ]
[ , ... ]
[ , [ @datalogical16 = ] N'datalogical16' ]
[ , [ @dataphysical16 = ] N'dataphysical16' ]
[ , [ @datasize16 = ] datasize16 ]
[ ; ]
인수
[ @dbname = ] N'dbname'
이동식 미디어에 사용할 데이터베이스의 이름입니다. @dbname sysname이며 기본값은 .입니다NULL
.
[ @syslogical = ] N'syslogical'
시스템 카탈로그 테이블을 포함하는 파일의 논리적 이름입니다. @syslogical 기본값NULL
인 sysname입니다.
[ @sysphysical = ] N'sysphysical'
실제 이름입니다. @sysphysical 기본값NULL
인 nvarchar(260)입니다. 이 값에는 시스템 카탈로그 테이블을 보유하는 파일의 정규화된 경로가 포함됩니다.
[ @syssize = ] syssize
시스템 카탈로그 테이블을 보유하는 파일의 크기(메가바이트)입니다. @syssize 기본값NULL
인 int입니다.
[ @loglogical = ] N'loglogical'
트랜잭션 로그를 포함하는 파일의 논리적 이름입니다. @loglogical sysname이며 기본값은 .입니다NULL
.
[ @logphysical = ] N'logphysical'
실제 이름입니다. @logphysical 기본값NULL
인 nvarchar(260)입니다. 이 값에는 트랜잭션 로그가 포함된 파일의 정규화된 경로가 포함됩니다.
[ @logsize = ] logsize
트랜잭션 로그를 포함하는 파일의 크기(메가바이트)입니다. @logsize 최소값1
인 int입니다.
[ @datalogical1 = ] N'datalogical1'
데이터 테이블을 포함하는 파일의 논리적 이름입니다. @datalogical1 sysname이며 기본값은 .입니다NULL
.
데이터 파일과 16
데이터 파일 사이에 1
있어야 합니다. 일반적으로 데이터베이스가 클 것으로 예상되는 경우 둘 이상의 데이터 파일이 만들어지고 여러 디스크에 배포되어야 합니다.
[ @dataphysical1 = ] N'dataphysical1'
실제 이름입니다. @dataphysical1 기본값NULL
인 nvarchar(260)입니다. 이 값에는 데이터 테이블이 포함된 파일의 정규화된 경로가 포함됩니다.
[ @datasize1 = ] datasize1
데이터 테이블이 포함된 파일의 크기(메가바이트)입니다. @datasize1 int이며 최소값은 .입니다1
.
반환 코드 값
0
(성공) 또는 1
(실패).
결과 집합
없음.
설명
압축 디스크와 같은 이동식 미디어에서 데이터베이스의 복사본을 만들고 다른 사용자에게 데이터베이스를 배포하려면 이 저장 프로시저를 사용합니다.
사용 권한
CREATE DATABASE
, CREATE ANY DATABASE
또는 ALTER ANY DATABASE
권한이 필요합니다.
SQL Server 인스턴스의 디스크 사용을 제어하기 위해 일반적으로 데이터베이스를 만들 수 있는 사용 권한은 일부 로그인 계정으로 제한됩니다.
데이터 및 로그 파일에 대한 권한
데이터베이스에서 특정 작업을 수행할 때마다 해당 데이터 및 로그 파일에 대해 해당 권한이 설정됩니다. 사용 권한은 파일이 열려 있는 디렉터리에 있는 경우 실수로 변조되는 것을 방지합니다.
데이터베이스에 대한 작업 | 파일에 대한 사용 권한 설정 |
---|---|
새 파일을 추가하도록 수정됨 | 만듦 |
백업 | 연결 |
복원됨 | 분리 |
참고 항목
SQL Server는 데이터 및 로그 파일 권한을 설정하지 않습니다.
예제
다음 예제에서는 데이터베이스를 이동식 데이터베이스 inventory
로 만듭니다.
EXEC sp_create_removable 'inventory',
'invsys',
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invsys.mdf',
2,
'invlog',
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invlog.ldf',
4,
'invdata',
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invdata.ndf',
10;