이름 바꾸기 리팩터링 개요
업데이트: 2007년 11월
데이터베이스 리팩터링을 사용하여 스키마 개체의 이름을 바꿀 수 있습니다. 이름을 바꾼 개체를 참조하는 다른 개체는 새 이름으로 자동 업데이트됩니다. 예를 들어 테이블 열의 이름을 바꿀 수 있으며 해당 열을 참조하는 저장 프로시저가 새 이름으로 자동 업데이트됩니다. 이름을 바꿀 수 있는 스키마 개체의 예는 다음과 같습니다.
테이블
테이블의 열, 뷰 및 함수
저장 프로시저 매개 변수
일반적으로 데이터베이스 개체의 이름은 쉽게 바꿀 수 있었지만 이름을 바꾼 개체를 참조하는 개체를 업데이트하기가 어려웠습니다. 참조 개체 업데이트는 이름을 바꾼 개체를 참조하는 모든 개체의 레코드가 있어야 하거나 해당 정보를 가져오기 위해 sp_depends를 사용해야 하는 수동 작업이었습니다. sp_depends에서 항상 필요한 데이터를 반환하는 것은 아니므로 이 정보를 얻을 수 없는 경우도 있었습니다. 데이터베이스 리팩터링을 사용하면 안전하게 데이터베이스 개체 및 해당 참조 개체의 이름을 바꿀 수 있습니다. 기본적으로 업데이트는 정의로 인해 경고나 오류가 발생하지 않는 개체에만 적용됩니다.
데이터베이스 리팩터링은 참조 스키마 개체를 자동으로 업데이트할 뿐만 아니라 데이터 생성 계획, 스크립트 및 단위 테스트도 업데이트할 수 있습니다. 자세한 내용은 데이터베이스 개체의 이름을 바꾸기 전 고려 사항을 참조하십시오.
참고: |
---|
데이터베이스 개체의 이름을 바꿀 때 해당 개체와 관련된 .sql 파일의 이름은 바뀌지 않습니다. 솔루션 탐색기 창을 사용하여 수동으로 파일 이름을 바꿀 수 있습니다. |
이름 바꾸기 리팩터링의 추가적인 사용 방법
이름 바꾸기 리팩터링은 다음과 같은 일반적인 작업을 수행하는 데에도 도움이 됩니다.
대/소문자를 구분하지 않는 환경에서 스키마 개체 이름과 모든 해당 참조의 대/소문자를 조직의 대/소문자 규칙에 맞도록 변경. 예를 들어, 데이터베이스 프로젝트에 "Myid" 및 "MyID"에 대한 참조가 혼합되어 있으면 이름 바꾸기 리팩터링을 사용하여 모든 참조를 "MyID"로 변경할 수 있습니다.
참고: 대/소문자가 올바른 참조는 동일한 값으로 업데이트됩니다. 해당 참조가 들어 있는 파일이 버전 제어 하에 있는 경우 해당 파일은 리팩터링 작업의 일부로 체크 아웃됩니다.
이름과 참조가 일치하도록 두 개 이상의 개체 이름 변경. 예를 들어, "Person" 및 "Person Name"과 같은 두 스키마 이름이나 대/소문자를 구분하는 환경에서 "MyID" 및 "Myid"와 같이 대/소문자만 다른 두 이름을 병합할 수 있습니다.
개체 명명에 대한 최선의 방법을 따르기 위해 스키마 개체 이름 및 모든 해당 참조 앞뒤에 대괄호 추가. 예를 들어, "MyID"에 대한 모든 참조를 "[MyID]"로 바꿀 수 있습니다.
참고: 이미 대괄호로 묶여 있는 참조는 동일한 값으로 업데이트됩니다. 해당 참조가 들어 있는 파일이 버전 제어 하에 있는 경우 해당 파일은 리팩터링 작업의 일부로 체크 아웃됩니다.
이러한 작업을 수행하면 새 이름을 가진 스키마 개체가 이미 있다고 경고하는 오류 메시지가 표시됩니다. 변경 내용을 적용하려면 예를 클릭해야 합니다. 그러나 이름 바꾸기 대화 상자에서 변경 내용 미리 보기 확인란을 선택된 상태로 두면 개별 변경 내용을 미리 보고 원하지 않는 내용을 제외할 수 있습니다.
배포
데이터베이스 리팩터링은 데이터베이스 프로젝트를 기반으로 합니다. 이 방법에서는 라이브 데이터베이스를 직접 변경하지 않고 대신 데이터베이스 프로젝트를 변경합니다. 이 전략을 따르면 소스 제어, 팀 개발 등 데이터베이스 프로젝트의 모든 이점을 얻을 수 있습니다. 그런 다음 데이터베이스 프로젝트 배포 기능을 사용하여 데이터베이스 프로젝트 변경 내용을 배포할 수 있습니다. 자세한 내용은 데이터베이스 스키마 빌드 및 배포를 참조하십시오.
참고: |
---|
팀 환경에서는 변경 내용을 프로덕션 서버로 배포하기 전에 응용 프로그램 및 데이터베이스 단위 테스트를 실행해야 합니다. 자세한 내용은 팀 환경에서의 데이터베이스 생성 및 배포 개요를 참조하십시오. |
변경 내용 미리 보기 대화 상자
리팩터링을 사용하여 데이터베이스 개체의 이름을 바꿀 때 변경 내용을 미리 볼 수 있습니다. 이 옵션을 사용하면 이름을 바꿀 개체를 참조하는 모든 개체에서 변경될 내용을 확인할 수 있습니다.
변경 내용 미리 보기 대화 상자는 위쪽 창과 아래쪽 창으로 구성되어 있습니다. 위쪽 창에는 변경될 개체를 나열하는 트리가 있고 아래쪽 창에는 변경을 위해 생성될 스크립트가 표시됩니다. 개체를 클릭하면 위쪽 창에 이전 이름이 표시되고 아래쪽 창에는 새 이름이 표시됩니다. 자세한 내용은 방법: 이름을 바꾸는 변경 내용 미리 보기를 참조하십시오.
서버 및 데이터베이스에 대한 참조 대체
참조할 개체를 포함하는 데이터베이스 이름을 지정하는 경우 개체 정의 또는 스크립트에 다른 데이터베이스의 개체에 대한 참조를 포함할 수 있습니다. 참조와 해당 개체가 서로 다른 서버에 있는 경우에는 참조에 사용자가 참조할 개체에 대한 서버 이름도 지정되어 있어야 합니다. 데이터베이스와 서버를 이름 또는 변수별로 지정할 수 있습니다. 이러한 참조를 만들고 나면 나중에 다른 이름을 지정하거나 이름을 변수로, 변수를 이름으로 또는 변수를 다른 변수로 대체해야 하는 경우 리팩터링을 통해 참조를 업데이트할 수 있습니다. 크로스 데이터베이스 참조에 대한 자세한 내용은 크로스 데이터베이스 참조 개요를 참조하십시오. 이러한 참조 이름을 바꾸는 방법에 대한 자세한 내용은 방법: 서버 또는 데이터베이스에 대한 참조 이름 바꾸기를 참조하십시오.