sp_attach_db(Transact-SQL)
업데이트: 2006년 12월 12일
서버에 데이터베이스를 첨부합니다.
중요: |
---|
Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 CREATE DATABASE database_name FOR ATTACH를 사용하는 것이 좋습니다. 자세한 내용은 CREATE DATABASE(Transact-SQL)를 참조하십시오. |
[!참고] 하나 이상의 로그 파일에 새 위치가 있는 경우 여러 로그 파일을 다시 작성하려면 CREATE DATABASE database_name FOR ATTACH_REBUILD_LOG를 사용합니다.
보안 정보: |
---|
알 수 없거나 신뢰할 수 없는 출처의 데이터베이스는 연결 또는 복원하지 않는 것이 좋습니다. 이러한 데이터베이스에 포함된 악성 코드가 의도하지 않은 Transact-SQL 코드를 실행하거나 스키마 또는 물리적 데이터베이스 구조를 수정하여 오류가 발생할 수 있습니다. 알 수 없거나 신뢰할 수 없는 출처의 데이터베이스를 사용하기 전에 프로덕션 서버가 아닌 서버에서 해당 데이터베이스에 대해 DBCC CHECKDB를 실행하고 저장 프로시저 또는 다른 사용자 정의 코드 같은 데이터베이스의 코드도 검사하십시오. |
구문
sp_attach_db [ @dbname= ] 'dbname'
, [ @filename1= ] 'filename_n' [ ,...16 ]
인수
- [ @dbname= ] **'**dbnam '
서버에 첨부될 데이터베이스의 이름입니다. 이 이름은 고유해야 합니다. dbname은 sysname이며 기본값은 NULL입니다.
[ @filename1= ] 'filename_n'
경로를 포함한 데이터베이스 파일의 물리적 이름입니다. filename_n은 **nvarchar(260)**이며 기본값은 NULL입니다. 파일 이름은 16개까지 지정할 수 있습니다. 매개 변수 이름은 @filename1에서 시작하여 @filename16까지 증가합니다. 파일 이름 목록에는 적어도 주 파일이 포함되어야 합니다. 주 파일에는 데이터베이스의 다른 파일을 가리키는 시스템 테이블이 포함됩니다. 또한 목록은 데이터베이스가 분리된 다음 이동된 모든 파일을 포함해야 합니다.[!참고] 이 인수는 CREATE DATABASE 문의 FILENAME 매개 변수에 매핑됩니다. 자세한 내용은 CREATE DATABASE(Transact-SQL)를 참조하십시오.
SQL Server 2005 데이터베이스 엔진에서는 연결 중인 데이터베이스에 속하는 모든 전체 텍스트 파일이 데이테베이스와 함께 연결됩니다. 전체 텍스트 카탈로그의 새 경로를 지정하려면 파일 이름 없이 디렉터리 이름을 제공하여 카탈로그 파일을 지정할 수 있습니다. 자세한 내용은 전체 텍스트 카탈로그 연결 및 분리를 참조하십시오.
[!참고] 전체 텍스트 카탈로그는 루트 디렉터리에 연결할 수 없습니다.
반환 코드 값
0(성공) 또는 1(실패)
결과 집합
없음
주의
sp_attach_db 저장 프로시저는 명시적 sp_detach_db 작업을 사용하여 데이터베이스 서버에서 이전에 분리된 데이터베이스나 복사된 데이터베이스에서만 실행해야 합니다. 16개 이상의 파일을 지정해야 하는 경우에는 CREATE DATABASE database_name FOR ATTACH 또는 CREATE DATABASE database_name FOR_ATTACH_REBUILD_LOG를 사용합니다. 자세한 내용은 CREATE DATABASE(Transact-SQL)를 참조하십시오.
지정되지 않은 모든 파일은 마지막으로 알려진 위치에 있는 것으로 가정합니다. 다른 위치에서 파일을 사용하려면 새 위치를 지정해야 합니다.
최신 버전의 SQL Server에서 만든 데이터베이스를 이전 버전에서 연결할 수 없습니다.
[!참고] 데이터베이스 스냅숏은 분리하거나 연결할 수 없습니다.
분리되지 않고 복사된 복제 데이터베이스를 연결하는 경우에는 다음 사항을 고려합니다.
- 데이터베이스를 원래 데이터베이스와 동일한 서버 인스턴스 및 버전에 연결하는 경우에는 추가 작업이 필요하지 않습니다.
- 데이터베이스를 동일한 서버 인스턴스의 업그레이드된 버전에 연결하는 경우에는 연결 작업이 완료된 다음 sp_vupgrade_replication을 실행하여 복제를 업그레이드해야 합니다.
- 데이터베이스를 버전에 관계없이 다른 서버 인스턴스에 연결하는 경우에는 연결 작업이 완료된 다음 sp_removedbreplication을 실행하여 복제를 제거해야 합니다.
사용 권한
데이터베이스 연결 시 권한 처리 방법은 CREATE DATABASE(Transact-SQL)를 참조하십시오.
예
다음 예에서는 AdventureWorks
의 파일을 현재 서버에 연결합니다.
EXEC sp_attach_db @dbname = N'AdventureWorks',
@filename1 = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf',
@filename2 = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_log.ldf';
참고 항목
참조
sp_detach_db(Transact-SQL)
sp_helpfile(Transact-SQL)
sp_removedbreplication(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)
관련 자료
데이터베이스 분리 및 연결
데이터 및 로그 파일 보안
전체 텍스트 카탈로그 연결 및 분리
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2006년 12월 12일 |
|
2005년 12월 5일 |
|