데이터베이스 연결

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server 2014에서 데이터베이스를 연결하는 방법을 설명합니다. 이 기능을 사용하여 SQL Server 데이터베이스를 복사, 이동 또는 업그레이드할 수 있습니다.

항목 내용

시작하기 전에

필수 조건

  • 먼저 데이터베이스를 분리해야 합니다. 분리되지 않은 데이터베이스를 연결하려고 하면 오류가 반환됩니다. 자세한 내용은 데이터베이스 분리를 참조하세요.

  • 데이터베이스를 연결할 때 모든 데이터 파일(MDF 및 LDF 파일)을 사용할 수 있어야 합니다. 데이터베이스를 처음 만들거나 마지막으로 연결했을 때와 다른 경로가 있는 데이터 파일의 경우 파일의 현재 경로를 지정해야 합니다.

  • 데이터베이스를 연결할 때 MDF 및 LDF 파일이 다른 디렉터리에 있고 경로 중 하나에 \\?\GlobalRoot가 포함되어 있으면 작업이 실패합니다.

권장 사항

분리 및 연결 대신 계획된 재배치 절차를 사용하여 ALTER DATABASE 데이터베이스를 이동하는 것이 좋습니다. 자세한 내용은 사용자 데이터베이스 이동을 참조하세요.

보안

파일 액세스 권한은 데이터베이스 분리, 연결 등의 여러 데이터베이스 작업 중에 설정됩니다. 데이터베이스를 분리하고 연결할 때마다 설정되는 파일 권한에 대한 자세한 내용은 SQL Server 2008 R2 온라인 설명서의 데이터 및 로그 파일 보안을 참조하세요.

출처를 알 수 없거나 신뢰할 수 없는 데이터베이스는 연결하거나 복원하지 않는 것이 좋습니다. 이러한 데이터베이스에 포함된 악성 코드가 의도하지 않은 Transact-SQL 코드를 실행하거나 스키마 또는 물리적 데이터베이스 구조를 수정하여 오류가 발생할 수 있습니다. 알 수 없거나 신뢰할 수 없는 소스의 데이터베이스를 사용하기 전에 비프로덕션 서버의 데이터베이스에서 DBCC CHECKDB 를 실행하여 데이터베이스에서 코드(예: 저장 프로시저 또는 다른 사용자 정의 코드)를 시험해 보세요. 데이터베이스 연결에 대한 자세한 내용 및 데이터베이스를 연결할 때 메타데이터에 적용된 변경 내용에 대한 자세한 내용은 데이터베이스 분리 및 연결(SQL Server)을 참조하세요.

사용 권한

CREATE DATABASE, CREATE ANY DATABASE 또는 ALTER ANY DATABASE 권한이 필요합니다.

SQL Server Management Studio 사용

데이터베이스를 연결하려면

  1. SQL Server Management Studio 개체 탐색기 SQL Server 데이터베이스 엔진 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.

  2. 데이터베이스를 마우스 오른쪽 단추로 클릭하고 연결을 클릭합니다.

  3. 데이터베이스 연결 대화 상자에서 연결할 데이터베이스를 지정하려면 추가를 클릭하고 데이터베이스 파일 찾기 대화 상자에서 데이터베이스가 있는 디스크 드라이브를 선택하고 디렉터리 트리를 확장하여 데이터베이스의 .mdf 파일을 찾아 선택합니다. 예를 들면 다음과 같습니다.

    C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\AdventureWorks2012_Data.mdf

    Important

    이미 연결된 데이터베이스를 선택하려고 하면 오류가 발생합니다.

    연결할 데이터베이스
    선택된 데이터베이스에 대한 정보를 표시합니다.

    <열 머리글 없음>
    연결 작업의 상태를 나타내는 아이콘이 표시됩니다. 가능한 아이콘은 아래 상태 설명에 설명되어 있습니다.)

    MDF 파일 위치
    선택한 MDF 파일의 경로와 파일 이름을 표시합니다.

    데이터베이스 이름
    데이터베이스의 이름을 표시합니다.

    다른 이름으로 연결
    필요에 따라 연결할 데이터베이스의 이름을 다른 이름으로 지정합니다.

    담당자
    필요에 따라 다른 소유자를 선택할 수 있는 가능한 데이터베이스 소유자의 드롭다운 목록을 제공합니다.

    상태
    다음 표에 설명된 내용과 같이 데이터베이스의 상태를 표시합니다.

    Icon 상태 텍스트 설명
    (아이콘 없음) (텍스트 없음) 연결 작업이 시작되지 않았거나 이 개체에 대해 보류 중입니다. 대화 상자가 열릴 때 기본값입니다.
    녹색, 오른쪽을 향하고 있는 삼각형 진행 중 연결 작업이 시작되었지만 완료되지 않았습니다.
    녹색 확인 표시. Success 개체를 연결했습니다.
    흰색 십자가가 들어 있는 빨간색 원 Error 연결 작업에 오류가 발생하여 성공적으로 완료되지 않았습니다.
    오른쪽과 왼쪽에 두 개의 검정 사분면이 있고 위쪽과 아래쪽에 두 개의 흰색 사분면이 있는 원 Stopped 사용자가 작업을 중지했기 때문에 연결 작업이 성공적으로 완료되지 않았습니다.
    시계 반대 방향을 가리키는 곡선 모양의 화살표가 있는 원 롤백할 연결 작업이 성공했지만 다른 개체를 첨부하는 동안 오류로 인해 롤백되었습니다.

    Message
    빈 메시지 또는 "파일을 찾을 수 없습니다"라는 하이퍼링크를 표시합니다.

    추가
    필요한 주 데이터베이스 파일을 찾습니다. 사용자가 .mdf 파일을 선택하면 연결할 데이터베이스 표의 각 필드에 적절한 정보가 자동으로 입력됩니다.

    제거
    그리드를 첨부할 데이터베이스에서 선택한 파일을 제거합니다.

    "<database_name>" 데이터베이스 세부 정보
    첨부할 파일의 이름을 표시합니다. 파일의 경로 이름을 확인하거나 변경하려면 찾아보기 단추(...)를 클릭합니다.

    참고 항목

    파일이 없으면 메시지 열에 "찾을 수 없음"이 표시됩니다. 로그 파일을 찾을 수 없는 경우 다른 디렉터리에 있거나 삭제되었습니다. 데이터베이스 세부 정보 약식 표의 파일 경로를 업데이트하여 올바른 위치를 가리키거나 그리드에서 로그 파일을 제거해야 합니다. .ndf 데이터 파일을 찾을 수 없는 경우 올바른 위치를 가리키도록 그리드에서 해당 경로를 업데이트해야 합니다.

    원본 파일 이름
    데이터베이스에 속한 첨부 파일의 이름을 표시합니다.

    파일 유형
    파일의 형식( 데이터 또는 로그)을 나타냅니다.

    현재 파일 경로
    선택한 데이터베이스 파일의 경로를 표시합니다. 경로를 수동으로 편집할 수 있습니다.

    Message
    빈 메시지 또는 "파일을 찾을 수 없습니다"라는 하이퍼링크를 표시합니다.

Transact-SQL 사용

데이터베이스를 연결하려면

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. CLOSE와 함께 FOR ATTACH CREATE DATABASE 문을 사용합니다.

    다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 다음은 AdventureWorks2012 데이터베이스의 파일을 첨부하고 데이터베이스 MyAdventureWorks이름을 .로 바꾸는 예제입니다.

    CREATE DATABASE MyAdventureWorks   
        ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'),   
        (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf')   
        FOR ATTACH;  
    

    참고 항목

    또는 sp_attach_db 사용하거나 sp_attach_single_file_db 저장 프로시저를 사용할 수 있습니다. 그러나 이 절차는 Microsoft SQL Server의 향후 버전에서 제거될 예정입니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. CREATE DATABASE를 사용하는 것이 좋습니다. 대신 ATTACH를 사용합니다.

후속 작업: SQL Server 데이터베이스를 업그레이드한 후

연결 방법을 사용하여 데이터베이스를 업그레이드하면 데이터베이스가 즉시 사용 가능해지고 자동으로 업그레이드됩니다. 데이터베이스에 전체 텍스트 인덱스가 있는 경우 업그레이드 프로세스는 전체 텍스트 업그레이드 옵션 서버 속성의 설정에 따라 인덱스를 가져오거나, 다시 설정하거나, 다시 작성합니다. 업그레이드 옵션이 가져오기 또는 다시 작성으로 설정되어 있는 경우 업그레이드하는 동안 전체 텍스트 인덱스를 사용할 수 없습니다. 인덱싱되는 데이터 양에 따라 가져오기 작업은 몇 시간씩 걸릴 수 있으며 다시 작성 작업은 10배 정도 더 걸릴 수 있습니다. 업그레이드 옵션이 가져오기로 설정되어 있으면 전체 텍스트 카탈로그를 사용할 수 없는 경우 관련된 전체 텍스트 인덱스가 다시 작성됩니다.

사용자 데이터베이스의 호환성 수준이 업그레이드 이전에 100 이상이면 업그레이드 후에도 동일하게 유지됩니다. 업그레이드하기 전에 호환성 수준이 90인 경우 업그레이드된 데이터베이스에서 호환성 수준은 SQL Server 2014에서 지원되는 가장 낮은 호환성 수준인 100으로 설정됩니다. 자세한 내용은 ALTER DATABASE 호환성 수준(Transact-SQL)을 참조하세요.

참고 항목

CREATE DATABASE(SQL Server Transact-SQL)
데이터베이스 분리