티스토리 뷰

 UPDATE 다른 곳에 썻던 내용을 이곳에 통합하기 위해 옮겼습니다.

이전 블로그에서 SSMS를 통해서 간단히 데이터베이스 관련 개체를 생성해보았는데 실제 Sample 데이터베이스 같은 스키마와 데이터를 SQL Azure로 마이그레이션해서 클라우드 웹 응용 프로그램 등을 지원하게 해야 하므로 로컬 데이터베이스를 SQL Azure로 마이그레이션하는 방법을 알아보려고 합니다.

 

AdventureWork2008 예제 데이터베이스를 통해서 시도를 해보겠습니다. 스크립트는 Sqlcmd를 통

해서 접근할 수 도 있습니다.

 

일단 로컬 서버의 AdventureWork2008 데이터베이스의 스키마를 실행해보면 지원되지 않는 T-SQL 기능들을 알 수 있습니다. 지원되지 않는 T-SQL 기능들을 정리하고 스키마와 데이터를 SQL Azure에 게시해보도록 하겠습니다.

 

AdventureWork2008 의 스키마를 생성하기 위해 데이터베이스를 오른쪽 클릭하여 태스크 메뉴에서 스크립트 생성을 클릭합니다.

 

옵션들을 default 로 해서 스키마를 생성해 ‘HJ’ 데이터베이스에서 실행해보겠습니다.

HJ 데이터베이스에서 실행할 것이므로 데이터베이스 생성, USE 구문에 대한 부분은 제거합니다.

생성된 스크립트를 실행해보면 “sys.sp_addextendedproperty” 저장 프로시저를 찾을 수 없다는 에러가 발생합니다.



[그림2-1 스크립트 생성]


그래서 위 그림과 같이 스크립트를 생성할 때 옵션을 수정해주어야 합니다.

 

l  Convert UDDTs to Base Types => True

l  USE Database 스크립팅 => False

l  확장 속성 스크립팅=> False

스크립트 생성에서 옵션을 지정했지만 CREATE TYPE 구문 등은 남아있으므로 아래와 같은 정리 작업을 해주어야 실행이 성공할 수 있습니다.

l  ANSI_NULLS 제거

l  CREATE TYPE 구문 제거

l  ON FileGroup Primary 그룹으로 변경

l  NOT FOR REPLICATION 제거

l  PAD_INDEX 제거

l  Windows LOGIN

l  INDEX 관련

l  XML SCHEMA 관련

l  XML INDEX 구문 제거

l  ON [Primary] 구문 제거

l  HierarchId, FILESTREAM


생각보다 정리할게 너무 많고 손이 참 많이 갑니다.  왜 해야되냐는 의구심이 팍 ㅠㅠ

힘내서 자 성공적으로 끝나고 아래 그림과 같이 테이블과 개체들이 생성되었습니다
 

                                           [그림2-2 스크립트 실행]

  

이제 데이터를 전송, 게시해보도록 하겠습니다.

게시 마법사를 통해 INSERT 구문을 실행해도 상관없으며 SQL Server Integration Services(SSIS)를 이용해서 접근할 수도 있습니다. 실무라면 SSIS가 더 일반적이겠죠.

[그림2-3 INSERT]

[그림2-4 SSIS]


 

이상 클라우딩 환경에서 이용할 데이터베이스 개체와 데이터를 간단히 처리해보았습니다.

지원되지 않는 T-SQL 기능에 대한 부분은 아래 링크를 확인해보시기 바랍니다. 아직 CTP1이랍니다.

http://msdn.microsoft.com/en-us/library/ee336281.aspx

http://msdn.microsoft.com/en-us/library/ee336253.aspx

 

감사합니다.



 



 


댓글