sp_add_data_file_recover_suspect_db(Transact-SQL)
파일 그룹의 공간 부족(1105 오류)으로 인해 데이터베이스를 완벽하게 복구하지 못했을 때 파일 그룹에 데이터 파일을 추가합니다. 파일이 추가된 다음에는 이 저장 프로시저가 주의 대상 설정을 해제하고 데이터베이스를 완벽하게 복구합니다. 매개 변수는 ALTER DATABASE database_name ADD FILE의 매개 변수와 동일합니다.
구문
sp_add_data_file_recover_suspect_db [ @dbName= ] 'database'
, [ @filegroup = ] 'filegroup_name'
, [ @name = ] 'logical_file_name'
, [ @filename= ] 'os_file_name'
, [ @size = ] 'size'
, [ @maxsize = ] 'max_size'
, [ @filegrowth = ] 'growth_increment'
인수
[ @dbName= ] **'**database '
데이터베이스의 이름입니다. database는 sysname이며 기본값은 없습니다.[ @filegroup= ] **'**filegroup_name '
파일을 추가할 파일 그룹입니다. filegroup_name은 nvarchar(260)이며 기본값은 주 파일을 나타내는 NULL입니다.[ @name= ] **'**logical_file_name '
파일 참조 시 SQL Server에서 사용하는 이름입니다. 이 이름은 서버에서 고유해야 합니다. logical_file_name은 nvarchar(260)이며 기본값은 없습니다.[ @filename= ] **'**os_file_name '
운영 체제에서 파일에 대해 사용한 경로와 파일 이름입니다. 파일은 반드시 데이터베이스 엔진의 인스턴스에 있어야 합니다. os_file_name은 nvarchar(260)이며 기본값은 없습니다.[ @size= ] **'**size '
파일의 처음 크기입니다. size는 nvarchar(20)이며 기본값은 NULL입니다. 소수점을 포함하지 않은 정수를 지정하십시오. 메가바이트를 지정하려면 MB를, 킬로바이트를 지정하려면 KB를 사용합니다. 기본값은 MB입니다. 최소값은 512KB입니다. size를 지정하지 않으면 기본값은 1MB입니다.[ @maxsize= ] **'**max_size '
파일이 증가할 수 있는 최대 크기입니다. max_size는 nvarchar(20)이며 기본값은 NULL입니다. 소수점이 포함되지 않은 정수를 지정하십시오. 메가바이트를 지정하려면 MB를, 킬로바이트를 지정하려면 KB를 사용합니다. 기본값은 MB입니다.max_size가 지정되지 않은 경우에는 디스크가 꽉 찰 때까지 파일 크기를 늘릴 수 있습니다. 디스크가 꽉 차는 시점이 되면 Microsoft Windows 응용 프로그램 로그에서 관리자에게 경고 메시지를 표시합니다.
[ @filegrowth= ] **'**growth_increment '
공간이 새로 필요할 때마다 파일에 추가되는 공간 크기입니다. growth_increment는 nvarchar(20)이며 기본값은 NULL입니다. 값 0은 증가하지 않음을 나타냅니다. 소수점이 포함되지 않은 정수를 지정하십시오. 값은 MB, KB 또는 %로 지정할 수 있습니다. %가 지정된 경우, 증가분은 공간이 증가될 당시의 파일 크기의 지정된 비율을 의미합니다. MB, KB 또는 % 접미사를 붙이지 않고 숫자를 지정하면 MB가 기본값이 됩니다.growth_increment가 NULL인 경우 기본값은 10%이고 최소 크기 값은 64KB입니다. 지정한 크기는 64KB 단위로 반올림됩니다.
반환 코드 값
0(성공) 또는 1(실패)
결과 집합
없음
사용 권한
실행 권한은 기본적으로 sysadmin 고정 서버 역할의 멤버로 설정됩니다. 이 권한은 이전할 수 없습니다.
예
다음 예에서는 db1 데이터베이스가 fg1 파일 그룹에서 공간 부족(1105 오류)으로 인해 복구하는 동안 주의 대상으로 표시되었습니다.
USE master;
GO
EXEC sp_add_data_file_recover_suspect_db db1, fg1, file2,
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\db1_file2.mdf', '1MB';