다음을 통해 공유


데이터베이스 개체 작업 개요

업데이트: 2007년 11월

데이터베이스 개체는 데이터베이스 내용의 구조를 정의합니다. 데이터베이스 개체는 데이터 생성 계획과 스크립트도 포함할 수 있는 데이터베이스 프로젝트 내에 있습니다. 솔루션 탐색기에서 데이터베이스 개체는 파일로 정의되고 데이터베이스 프로젝트 내의 스키마 개체 하위 폴더에서 형식별로 그룹화됩니다. 데이터베이스 개체 작업을 수행할 때 스키마 뷰라는 데이터베이스 개체의 뷰를 사용하는 것이 더욱 편하다는 것을 알게 됩니다. 스키마 뷰에서 범주별로 데이터베이스 개체가 표시됩니다. 데이터베이스 프로젝트의 파일은 Build Type이 빌드로 표시되는 경우 데이터베이스 개체 정의에 대해 구문 분석됩니다. 다른 Build Type의 데이터베이스 프로젝트에 있는 파일은 데이터베이스 개체를 포함하는 것처럼 처리되지 않으며 스키마 뷰에 표시되지 않습니다.

솔루션 탐색기

솔루션 탐색기에서 프로젝트 내에 포함된 파일에서 작업합니다. 솔루션 탐색기의 스키마 개체 하위 폴더 내에서 하위 폴더에 대해 다음 작업을 수행할 수 있습니다.

  • 추가 - 지정하는 형식의 항목을 데이터베이스 프로젝트 계층의 적절한 위치에 추가합니다.

솔루션 탐색기의 하위 폴더 내에서 모든 파일에 대해 다음 작업을 수행할 수 있습니다.

  • 열기 - T-SQL(Transact-SQL) 편집기에서 파일을 엽니다.

  • 잘라내기 - 파일을 클립보드에 복사하고 데이터베이스 프로젝트에서 제거합니다.

  • 복사 - 파일을 클립보드에 복사합니다.

  • 삭제 - 데이터베이스 프로젝트에서 파일을 영구적으로 제거합니다.

  • 이름 바꾸기 - 선택한 파일의 이름을 바꿉니다.

  • 스키마 뷰에서 개체 보기 - 선택한 파일에 있는 스키마 뷰의 개체를 선택합니다. 스키마 뷰가 아직 표시되지 않은 경우 표시됩니다.

  • 속성 - 파일의 속성이 나열된 속성 창을 표시합니다.

개체 형식에 따라 일부 개체 형식에서 추가 작업을 수행할 수 있습니다.

스키마 뷰

스키마 뷰에서 데이터베이스 개체 작업을 수행합니다. 스키마 뷰의 스키마 개체 하위 폴더 내에서 하위 폴더에 대해 다음 작업을 수행할 수 있습니다.

  • 추가 - 지정하는 형식의 개체를 데이터베이스 프로젝트 계층의 적절한 위치에 추가합니다.

하위 폴더 내의 모든 데이터베이스 개체에 대해 다음 작업을 수행할 수 있습니다.

  • 열기 - T-SQL 편집기에서 해당 개체의 정의를 엽니다.

  • 잘라내기 - 개체를 클립보드에 복사하고 데이터베이스 프로젝트에서 제거합니다.

  • 복사 - 개체를 클립보드에 복사합니다.

  • 삭제 - 데이터베이스 프로젝트에서 항목을 제거합니다.

  • 리팩터링: 이름 바꾸기 - 데이터베이스 리팩터링의 원칙을 기반으로 선택한 항목과 해당 종속성의 이름을 바꿉니다.

  • 속성 - 개체의 속성이 나열된 속성 창을 표시합니다.

개체 이름 확인

일반적으로 개체 이름은 SQL Server의 경우와 같은 규칙을 사용하여 확인됩니다. 일부 시스템 개체의 이름은 정규화되어야 제대로 확인됩니다. 개체 이름이 정규화되지 않은 경우에 오류 또는 예기치 않은 동작이 발생하면 개체 이름을 정규화하여 문제를 해결해 보십시오.

개체 정의에서 데이터베이스 이름 참조

데이터베이스 프로젝트의 개체 정의 스크립트에서 $(databasename) 토큰을 사용할 수 있습니다. 이때 다음과 같은 제한 사항이 적용됩니다.

  • 다음 예제와 같이 토큰을 대괄호로 묶어야 합니다.

    [$(databasename)]

  • 다음 예제와 같이 토큰을 사용하여 세 부분으로 구성된 이름을 지정할 수는 없습니다.

    [$(databasename)].[dbo].[Table1]

다음 예제에서는 저장 프로시저에서 $(databasename) 토큰을 사용하는 방법을 보여 줍니다.

CREATE PROCEDURE [dbo].[MyProcedure]
@param1 INT = 0,
@param2 INT
AS
ALTER DATABASE [$(databasename)]
MODIFY FILEGROUP [FileGroup1] DEFAULT
RETURN 0

개체 수준의 SET 옵션

데이터베이스 프로젝트에 대해 설정할 수 있는 SET 옵션 외에 개별 데이터베이스 개체에 대한 옵션인 ANSI null 및 따옴표 붙은 식별자의 값도 지정할 수 있습니다. 데이터베이스 개체를 만들면 해당 개체에 대한 SET 옵션이 기본적으로 데이터베이스 프로젝트의 SET 옵션과 동일하게 설정됩니다. 이 두 옵션을 프로젝트 기본값, On 또는 Off 중 하나로 설정할 수 있습니다. 데이터베이스 프로젝트를 빌드하면 프로젝트 기본값 이외의 값으로 설정된 해당 개체 수준의 SET 옵션만 빌드 스크립트에 스크립팅됩니다.

참고:

스크립트 가져오기 또는 데이터베이스 스키마 가져오기 명령을 사용하는 경우 개별 데이터베이스 개체에 대한 SET 옵션 값은 가져오지 않습니다. 속성 창에서 해당 옵션 값을 설정해야 합니다. 자세한 내용은 방법: 개체 수준의 SET 옵션 지정을 참조하십시오.

데이터베이스 개체 유효성 검사

최신 데이터베이스 개체 또는 수정한 데이터베이스 개체에 변경 내용을 저장하면 유효성 검사가 수행됩니다. 개체 정의의 모든 오류가 오류 목록 창에 표시됩니다. 오류 메시지를 두 번 클릭하는 경우 오류를 수정할 수 있도록 개체 정의가 열립니다. 오류가 있는 데이터베이스 개체는 스키마 뷰의 해당 아이콘에 빨간색 느낌표가 표시됩니다.

참고:

아직 지원되지 않는 데이터베이스 개체의 경우 해당 아이콘에 노란색 역삼각형이 표시됩니다.

데이터베이스 개체의 문제를 해결하는 방법에 대한 자세한 내용은 데이터베이스 프로젝트, 빌드 및 배포 문제 해결을 참조하십시오.

스키마 뷰에서의 스키마 개체 형식

데이터베이스 프로젝트에는 데이터베이스 스키마의 모든 개체에 대한 정의가 있습니다. 개체 형식과 해당 개체 형식에서 수행할 수 있는 작업의 특정 목록은 실행하고 있는 Microsoft SQL Server 버전에 따라 달라집니다.

개체 형식

SQL Server 2000

SQL Server 2005

지원됨

지원됨

지원됨

지원됨

동의어

 

지원됨

저장 프로시저

지원됨

지원됨

함수

지원됨

지원됨

데이터베이스 트리거

 

지원됨

어셈블리

 

지원됨

형식: 사용자 정의 데이터 형식

지원됨

지원됨

형식: 사용자 정의 형식(CLR)

 

지원됨

형식: XML 스키마 컬렉션

 

지원됨

Service Broker

 

지원됨

Service Broker: 메시지 유형

 

지원됨

Service Broker: 계약

 

지원됨

Service Broker: 큐

 

지원됨

Service Broker: 서비스

 

지원됨

Service Broker: 경로

 

지원됨

Service Broker: 이벤트 알림

 

지원됨

Service Broker: 원격 서비스 바인딩

 

지원됨

저장소: 전체 텍스트 카탈로그

지원됨

지원됨

저장소: 분할 구성표

 

지원됨

저장소: 분할 함수

 

지원됨

저장소: 파일 그룹

지원됨

지원됨

보안

지원됨

지원됨

보안: 사용자

지원됨

지원됨

보안: 역할

지원됨

지원됨

보안: 역할: 데이터베이스 역할

지원됨

지원됨

보안: 역할: 응용 프로그램 역할

지원됨

지원됨

보안: 스키마

지원됨

지원됨

고아 개체

스키마 뷰의 고아 개체 폴더는 프로젝트 내에서 현재 정의되지 않은 다른 개체와 연결된 개체에 대한 임시 위치입니다. 예를 들어 테이블에 대한 인덱스를 만들었지만 테이블이 아직 없거나 현재 유효하지 않은 경우 해당 인덱스가 고아 개체 폴더에 표시됩니다. 부모 개체가 생성되거나 유효하게 되면 자식 개체가 프로젝트 내의 올바른 위치에 표시됩니다.

단원 내용

참고 항목

개념

Database Edition의 용어 개요

기타 리소스

데이터베이스 개체 이름 바꾸기

데이터베이스 프로젝트 시작

데이터베이스 스키마 빌드 및 배포

데이터베이스 스크립트 작업

연습(버전 제어 데이터베이스 스키마 만들기 및 업데이트)

Transact-SQL 편집기를 사용하여 데이터베이스 스크립트 및 개체 편집