SQL Azure 에서의 비즈니스 연속성(Business Continuity)

Cloud 2012. 3. 7. 08:30 Posted by 알 수 없는 사용자


SQL Azure
에서의 비즈니스 연속성(Business Continuity)

BCP(Business Continuity Plan)에 대한 내용은 RTO, RPO에 대한 내용을 다루게 됩니다. 클라우드 환경에서는 BCP에 대한 내용은 어떻게 접근해야 할까요?


아래 링크를 참조하시면 SQL Azure에서의 비즈니스 연속성에 대한 내용에 대한 부분이 잘 정리된 것을 확인 가능합니다.

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

SQL Azure 데이터 보호

l 별도 서버나 장치

l 잘못된 삭제나 수정

l 데이터 센터 장비 문제

3가지 내용 중에서 잘못된 삭제나 수정에 대한 부분은 Copy Of 구문을 통해 구성할 수 있는데 SNAPSHOT 과 유사하며 COPY 백업과도 유사합니다.

데이터 센터 장비 문제로부터의 보호는 별도로 백업하는 것과 유사한 방법입니다.

BACPAC을 이용하는 것이죠, 차후 좀더 자세히 다루어보기로 하겠습니다만 예전부터 데이터 계층 응용프로그램과 데이터 내보내기/가져오기에서 계속 얘기했던 내용입니다.

위 링크의 아래 그림을 참고하십시오.


BACPAC Windows Azure Storage로 내보내기 하고 이를 다른 서버나 데이터 센터에서 가져오기를 해서 하거나 로컬 On-Premise SQL 서버로 가져오기 가능합니다.

BACPAC과 데이터 계층 응용프로그램에 대한 내용은 별도로 추가로 다루어보도록 하겠습니다. 또한 데이터 동기화 (SQL Azure Data Sync) 에 대한 내용도 다루겠습니다.

위 링크를 참조하시면 클라우드의 SQL Azure에서도 다양한 방법으로 비즈니스 연속성을 제공한다는 것을 알 수 있습니다.


'Cloud' 카테고리의 다른 글

Apache Hadoop to a Windows Azure  (0) 2012.03.12
Apache Hadoop On Windows  (0) 2012.02.24
SQL Azure 가격 변경 및 100MB 데이터베이스  (1) 2012.02.20
SQL Azure Q2 2011 Service Release  (0) 2011.09.29
SQL Azure Data Sync (3) – 고려사항  (0) 2011.09.22

SQL Azure Q2 2011 Service Release

Cloud 2011. 9. 29. 08:30 Posted by 알 수 없는 사용자

SQL Azure Q2 2011 Service Release

SQL Azure 에 대한 Service Release에 대한 내용을 정리합니다. 여러 가지 업데이트 된 것이 많이 있으니 참고하시기 바랍니다.

l SQL Azure @@version

SQL Azure 로 연결하여 @@version 을 확인해 보시면 11점대로 변경된 것을 확인 가능합니다. 제가 사용하는 SQL Server 2008 R2 는 버전이 10.50.1617.0 입니다만 SQL Azure의 버전을 실행한 결과는 아래와 같습니다.

l SQL Azure Import/Export Hosted Service CTP

Windows Azure Management Portal에 로그온 하면 아래와 같은 리본 메뉴를 보실 수 있습니다.

또한 관련 내용은 아래 링크를 참조하실 수 있습니다.

http://sqldacexamples.codeplex.com/wikipage?title=Import Export Service Client

이후 블로깅에서 보다 더 자세한 내용을 다루도록 하겠습니다.

l SQL Server Data Tools “Juneau”

새로운 SQL Server Data Tools 인 코드명 “Juneau” CTP 7월에 릴리즈 되었습니다. Juneau 에서도 SQL Azure 에 대한 내용을 지원해주고 있습니다. 데이터베이스 디자인, 개체 생성과 편집 등을 SQL Azure 에도 진행할 수 있습니다.

또한 다음 블로깅에서 구체적으로 SQL Azure를 대상으로 알아보도록 하겠습니다.

l 관리도구(SSMS) 업데이트 필요할 수 있음

데이터센터의 업그레이드로 기존 관리도구(SSMS)의 업데이트가 필요할 수 있습니다. 혹시 연결에서 오류가 발생한다면 아래 주소를 참조해서 업데이트하시면 됩니다.

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26727

l SQL Azure Management Portal

Database Manager 도구는 사라질 예정이며 SQL Azure Management Portal 에서 새로운 작업을 진행할 수 있습니다. 아래 두 내용에 대해서 좀 더 구체적으로 다루도록 하겠습니다.

- 관리: Database Life Cycle

- 디자인: Database Schema and Data


l Spatial 데이터 형식

데이터 형식 지원이 더 강화되었습니다. 지원되는 데이터 형식과 spatial 데이터 형식에 대한 내용은 아래 링크를 참조하시기 바랍니다.

http://msdn.microsoft.com/ko-kr/library/windowsazure/ee336233.aspx

l 공동 작업자 관리

여러 명의 작업자를 지정할 수 있습니다.


SQL Azure Data Sync (2) – Sync Group

Cloud 2011. 9. 16. 08:30 Posted by 알 수 없는 사용자


SQL Azure Data Sync (2) – Sync Group

전 편에 이어 Sync Group을 생성해서 SQL Server - SQL Azure로 동기화를 해보도록 하겠습니다.

SQL Azure Data Sync CTP2 에 로컬의 데이터베이스를 등록했으며 이제 SQL Azure를 등록하도록 하겠습니다.

Sync Group SQL Azure Data Sync Service에 의해 상호 동기화되도록 구성된 SQL Azure SQL Server 데이터베이스의 모음으로 볼 수 있습니다. 하나의 HUB 데이터베이스(SQL Azure 데이터베이스)와 여러 Member 데이터베이스로 구성되어 있습니다.

자 로컬의 Demo 데이터베이스와 동기화 하기 위해 SQL Azure 데이터베이스에 연결하여 빈 데이터베이스를 생성합니다.

로컬의 데이터베이스는 SQL Azure Sync Services를 통해 등록하고 SQL Azure 데이터베이스는 SQL Azure Data Sync CTP2 사이트를 통해 등록합니다. SQL Azure Data Sync CTP2 사이트에서 Databases 탭을 클릭하고 Add를 클릭해서 위에서 생성한 SQL Azure Database를 등록합니다.

등록 정보가 이상 없다면 아래와 같이 등록된 것을 확인 가능합니다.

여러 데이터베이스를 등록할 수 있지만 여기서는 SQL Azure, SQL Server 데이터베이스 두 개만 등록합니다. 이제 Sync Group을 생성해보도록 하겠습니다.

SQL Azure Data Sync CTP2 사이트에서 Sync Groups 탭을 클릭하고 New Sync Group를 클릭해서 위에서 SQL Azure Database를 등록합니다.

New Sync Group의 이름은 “HJ” 로 입력하고 Registered Databases 를 통해 등록된 데이터베이스를 추가합니다. 그리고 SQL Azure 데이터베이스 중 하나를 선택해서 “Set HUB”를 클릭해서 Hub 데이터베이스로 지정합니다.


Next 를 클릭해서 동기화할 테이블과 스케쥴링을 아래와 같이 설정합니다. 동기화할 테이블은 하나만 있으며 시간은 5분으로 지정하겠습니다.

아래와 같이 새로운 Sync Group 이 생성된 것을 확인 가능합니다.

Sync Logs 에 보면 진행, 대기, 완료한 작업 등을 알 수 있으며 처음 동기화 작업이 처리된 것을 확인 가능합니다.


실제 SQL Azure Hub 데이터베이스를 보면 아래와 같이 테이블 스키마와 데이터가 동기화된 것을 확인 가능합니다.

n SQL Azure


기본적으로 변경 사항은 양 방향성격으로 Member 데이터베이스로부터의 변경 사항은 hub 데이터베이스로 전파되고 Hub 데이터베이스에서 Member 데이터베이스로 다시 전파되게 됩니다. 변경 사항의 전파는 Bi-directional, Sync to Hub, Sync from Hub 중에서 선택이 가능합니다.

위의 환경에서는 Hub 데이터베이스가 또한 Member 데이터베이스이므로 데이터를 Update 해보겠습니다. 스케뷸링 시간이 되면 아래와 같이 변경된 것을 확인 가능합니다.

n Local SQL Server


Hub 데이터베이스에서는 추적을 위해 아래와 같이 몇몇 테이블이 자동으로 생성되게 됩니다.

데이터베이스를 추가하거나 스케쥴링 시간을 변경할 수도 있으며 Sync Group을 삭제할 수도 있습니다.

이번 글에서 SQL Server to SQL Azure Synchronization 에 대한 Sync Group 생성과 데이터 동기화의 설정에 대한 내용을 정리했습니다. 괜찮은 기능으로 보입니다. 속도,비용 등등 고려사항은 별도로 보더라도

SQL Azure Data Sync (1) – 소개와 Agents 구성

Cloud 2011. 9. 9. 08:30 Posted by 알 수 없는 사용자

SQL Azure Data Sync (1) – 소개와 Agents 구성

이번 글은 SQL Azure Data Sync에 대한 내용을 한번 알아보도록 하겠습니다.
여기서의 버전은 SQL Azure Data Sync CTP 2 를 사용합니다.

SQL Azure Data Sync를 그림 하나로 정의하면 아래와 같습니다. 양 방향 화살표로 SQL Azure – SQL Azure, SQL Server – SQL Azure, SQL Azure – SQL Server로 데이터를 동기화해 주는 내용입니다.


[그림 1]

출처: http://social.technet.microsoft.com/wiki/contents/articles/1085.aspx

아래는 SQL Azure Data Sync CTP2에 등록된 화면입니다.

https://datasync.azure.com/

관련 참조 링크는 아래와 같습니다.

위의 [그림 1]처럼 SQL Azure Data Sync를 위해서는 몇 가지 준비가 필요합니다. 그럼 이제 준비사항에 대한 내용 중에서 첫 번째로 Agents 구성을 정리해보도록 하겠습니다.

1. SQL Azure Data Sync CTP2로 이동하여 Agent Name Key를 생성합니다. 아래 그림에서 Generate Key 버튼을 클릭합니다. Agent Name “hongju” 로 입력합니다.


2.
Agent Name에 대한 Key가 생성된 것을 확인할 수 있으며 현재 상태는 아직 연결되지 않아 노란색 느낌표가 나타납니다.

3. Agent Key를 생성하는 화면의 하단에 Agents 를 다운로드하는 링크가 보이므로 다운로드 해서 실행합니다.



4.
위의 그림에 나온 것처럼 시작, 프로그램에서 Agent Configuration Tool을 시작하여 위에서 생성한 Agent Key를 이용해서 구성해주어야 합니다. 시작, 프로그램에서 SQL Azure Data Sync Agent CTP2를 클릭하면 아래와 같은 화면을 볼 수 있습니다.

5. Encrypt Password 체크 박스를 체크하고 Edit Agent Key를 클릭하여 2 에서의 Key를 복사하여 붙여 넣기 합니다. Ping Sync Service 아이콘을 클릭하여 제대로 연결되는지 확인합니다.

6.
그리고 Add Member 아이콘을 클릭하여 SQL Server Database를 등록하게 됩니다.

7. 잘 등록되었다면 아래와 같은 화면을 볼 수 있습니다.


8. 관리도구의 서비스에서 SQL Azure Data Sync Agent CTP2 서비스를 시작해주고 SQL Azure Data Sync Portal로 이동합니다. 그러면 Agents Database 메뉴에서 연결된 것을 확인 가능합니다.

다음에서 Sync Group을 설정하는 내용에 대해서 알아보도록 하겠습니다.



SQL Azure Sharding 소개

Cloud 2011. 9. 8. 08:30 Posted by 알 수 없는 사용자

SQL Azure Sharding 소개

SQL Azure의 경우 데이터베이스는 비즈니스 형태가 50GB 를 지원하고 있습니다. 이 용량을 넘어가는 경우 접근할 수 있는 방법에 대한 내용을 알아보도록 하겠습니다. SQL Azure Sharding SQL Azure Federation 으로 대용량 데이터에 대한 부분을 접근할 수 있습니다. SQL Azure Federation은 차후 CTP 를 통해 다루어 보고 이번 글에서는 SQL Azure Sharding에 대한 내용을 알아봅니다.

Sharding은 여러 데이터 베이스를 통해 수평으로 파티션된 응용 프로그램 패턴이며 응용 프로그램을 위한 데이터의 수평적인 확장성을 제공해줍니다. Windows Azure Training Kit 의 데모에 SQL Azure Sharding에 대한 내용이 있어 적용해서 테스트해보겠습니다.


참조: http://social.technet.microsoft.com/wiki/contents/articles/how-to-shard-with-sql-azure.aspx

데이터에 대한 Partion을 생성 할 때 아래 관련 코드 중 PartionField 를 이용하여 여러 데이터베이스에 데이터를 파티션 시킵니다.

실제 응용 프로그램에서 파티션한 결과는 아래와 같습니다. 국가별로 SalesOrderHeader 테이블이 파티션되어 있습니다.


실제 데이터를 한번 살펴보도록 하겠습니다.
위 내용을 통해 응용 프로그램에서 ADO.NET을 이용하여 Sharding Library를 통해 처리된 것을 확인 가능합니다. SSMS를 이용하여 해당 데이터베이스에서 SalesOrderHeader SELECT 해보겠습니다. 데이터베이스 별로 Country별로 구분되어 있습니다.

파티션된 결과에 대해서 Select 하는 코드을 접근해보도록 하겠습니다. 아래 코드를 이용하여 Sharding 에 대한 데이터베이스를 병렬로 액세스해서 결과를 병합해주고 있습니다.


SELECT의 웹 페이지 결과는 다음과 같습니다.

Sharding에 대한 INSERT 에 대한 내용도 한번 알아보도록 하겠습니다. 아래 코드를 통해 해당 파티션에 INSERT를 수행하게 됩니다.

위에서 SQL Azure Sharding에 대해서 알아보았는데 SQL Server Partitioned 뷰와 유사하며 ADO.NET을 통해 Sharding 에 대한 생성, 조회, 추가를 처리할 수 있다는 것을 알 수 있습니다.

이를 통해 대용량 데이터에 대해 확장성 있게 SQL Azure를 구성할 수 있습니다.


SQL Azure Reporting (3)

Cloud 2011. 8. 25. 09:57 Posted by 알 수 없는 사용자

SQL Azure Reporting (3)

앞에서 SQL Azure를 데이터 원본으로 하여 보고서를 생성하고 테스트하고 SQL Azure Reporting에 게시해서 결과를 살펴보았습니다.

이번 글에서는 SQL Azure Reporting Windows Azure 웹 역할에서 이용하는 내용을 다뤄보도록 하겠습니다. SQL Azure Reporting 을 이용하는데 Windows Azure에서 ReportViewer 컨트롤을 사용하는 내용입니다.

Visual Studio 2010을 통해 Windows Azure 프로젝트를 생성합니다. 웹 역할의 이름은 “AzureReportingWebRole” 으로 지정하겠습니다.

Default.aspx 의 디자인 화면에 일단 ScriptManager를 추가합니다. 그리고 도구상자의 보고에 있는 ReportViewer를 추가합니다. 적절히 넓이와 높이를 지정합니다.


솔루션 탐색기에서 참조 추가를 해서 Microsoft.ReportViewer.Common을 추가합니다. Microsoft.ReportViewer.WebForms 컨트롤은 자동으로 추가되었을 겁니다. 추가되지 않았다면 추가합니다. 그리고 어셈블리의 속성에서 로컬 복사를 true 지정합니다. Windows Azure로 게시해서 구동하기 위함입니다.

이제 Default.aspx.cs 로 가서 코드를 작성해보도록 하겠습니다.

Page_Init 이벤트에서 작업을 진행하도록 하겠습니다. Page_Load에서 작업할 경우 보고서가 제대로 처리되지 않습니다. Page_Init 때문에 처음에 상당히 고생했었습니다.



ReportViewer 컨트롤의 ReportServerUrl, ReportPath, ReportServcerCredentials 을 처리하면 됩니다.



ReportServerUrl 의 경우는 아래와 같이 지정하면 됩니다. 별도로 Config 파일에서 불러와도 되겠죠.

https://서버이름.ctp.reporting.database.windows.net/ReportServer

ReportPath 의 경우는 위 주소로 로그인하면 경로와 보고서이름을 알 수 있습니다.

/subdir/reportname

ReportServcerCredentials 같은 경우는 IReportServcerCredentials 형식이라 별도의 클래스를 생성해야 합니다. 해당 클래스는 IReportServcerCredentials 인터페이스를 상속해야 합니다. 인터페이스를 구현하면 아래와 같이 구성되게 됩니다. Authority는 서버전체이름 또는 도메인을 나타냅니다.

로컬에서 실행하고 테스트를 진행해봅니다.

이제 Windows Azure로 게시해보도록 하겠습니다. 물론 결과는 잘 나옵니다.

ReportViewer 컨트롤 외에 ReportService2010.asmx 를 통해서도 보고서를 액세스할 수 있습니다.

이상으로 SQL Azure Reporting에 대한 부분을 간략히 살펴보았습니다.

SQL Azure Reporting 은 아직 SSMS를 통해서 액세스가 되지는 않습니다. 또한 관리자 사이트를 별도로 제공하고 있지 않습니다. 보고서 권한, 매개변수, 스냅숏/캐시 등의 내용에는 제약이 있습니다. 지금은 CTP 입니다.

Windows Azure 에서 SQL Azure 데이터를 기반으로 리포팅에 대한 내용을 지원해주고 있는 기능입니다.

SQL Azure Reporting 관련 문서는 아래를 참고하시면 됩니다. 또한 Sample을 다운로드 받을 수 있습니다.

http://msdn.microsoft.com/en-us/library/gg552871.aspx#ReportsandReportViewer

http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-reporting-samples.aspx


'Cloud' 카테고리의 다른 글

SQL Azure Data Sync (1) – 소개와 Agents 구성  (0) 2011.09.09
SQL Azure Sharding 소개  (0) 2011.09.08
SQL Azure Reporting(2)  (0) 2011.08.18
SQL Azure Reporting (1)  (0) 2011.08.11
SQL Azure 데이터 이용(5)  (0) 2011.08.04

SQL Azure Reporting(2)

Cloud 2011. 8. 18. 08:30 Posted by 알 수 없는 사용자

SQL Azure Reporting (2)

SQL Azure Reporting (2) 에서는 SQL Azure 를 데이터원본으로 하여 보고서를 생성하여 SQL Azure Reporting 으로 배포해서 보고서를 서비스하는 내용입니다.

먼저 Business Intelligence Development Studio를 통해서 보고서 서버 프로젝트를 생성합니다.

프로젝트 탐색기의 공유 데이터 원본을 오른쪽 클릭해서 새로운 데이터 원본을 생성하고 보고서에서 재 사용하도록 하겠습니다. 데이터 소스는 SQL Azure 를 선택해야 합니다. 그렇지 않으면 배포에서 오류가 발생하거나 보고서 실행시 오류가 발생하게 됩니다.

새 데이터 원본 창에서 편집을 클릭해서 SQL Azure에 대한 정보를 입력합니다.

데이터베이스 이름은 직접 입력하고 연결 테스트를 클릭합니다.

확인을 클릭하고 자격 증명 페이지에서 사용자와 암호를 선택하고 SQL Azure의 사용자 정보를 입력하고 데이터 원본을 생성합니다.

솔루션 탐색기에서 새로운 보고서를 추가하고 데이터 탐색기에서 데이터 원본을 추가하고 위에서 생성한 공유 데이터 원본을 선택합니다.

그리고 아래와 같은 쿼리를 이용하여 데이터 집합을 생성합니다.

SELECT oh.OrderDate, c.Name Category, p.Name Name, SUM(OrderQty) Qty, SUM(UnitPrice) Sales

FROM SalesLT.Product p INNER JOIN SalesLT.ProductCategory c

ON p.ProductCategoryID = c.ProductCategoryID

INNER JOIN SalesLT.SalesOrderDetail od

ON p.ProductID =od.ProductID

INNER JOIN SalesLT.SalesOrderHeader oh

ON oh.SalesOrderID = od.SalesOrderID

WHERE oh.OrderDate = '2008-06-01' AND ParentProductCategoryID=@ProductCategoryID

GROUP BY oh.OrderDate, c.Name, p.Name

HAVING SUM(OrderQty) >10

ORDER BY c.Name, p.Name

그리고 매개변수에 대한 데이터 집합을 생성하고 아래와 같은 보고서를 디자인합니다.


오른쪽 열 들은 계기와 표시기를 추가해서 속성을 설정하면 됩니다.

미리 보기를 한 결과는 아래와 같습니다.

이제 SQL Azure Reporting으로 배포를 하면 됩니다. 프로젝트를 오른쪽 클릭해서 속성을 선택합니다.

TargetServerURL https://서버이름.ctp.reporting.database.windows.net/ReportServer 으로 지정하면 됩니다. Management Portal의 SQL Azure Reporting의 웹 서비스 URL에 대한 정보를 참조합니다.

프로젝트를 배포합니다. 배포할 경우 암호와 패스워드를 물어봅니다. Management Portal SQL Azure Reporting의 User계정 정보에 암호를 입력합니다.

배포가 잘 되었으면 보고서 사이트를 방문해서 결과를 확인하면 됩니다.

https://서비이름.ctp.reporting.database.windows.net/ReportServer 사이트를 열어 SQL Azure Reporting 계정과 암호를 입력합니다. 그리고 나면 배포된 보고서를 확인 가능합니다.


SQL Azure Reporting (1)

Cloud 2011. 8. 11. 08:30 Posted by 알 수 없는 사용자

SQL Azure Reporting (1)

SQL Azure Reporting 에 대한 CTP 신청 결과 메일을 714날 받았습니다.

SQL Azure Reporting 은 로컬 네트워크에서 SQL Server Reporting Service가 돌아가는 보고서 서버를 별도로 운영하던 것을 Azure 환경으로 옮겼다고 보시면 됩니다. 물론 데이터 원본은 SQL Azure가 일반적이겠죠.

아래는 SQL Azure Reporting 을 활성화하고 Management Portal의 사이트입니다.

위 화면에서는 별다른 설정은 없고 암호를 다시 설정할 수 있습니다. 보고서 관리자 계정은 동적으로 생성됩니다. 웹 서비스 URL 을 얻을 수 있고요. 다른 추가 관리 사항은 없습니다.

아래는 샘플 보고서를 배포한 결과의 보고서 사이트입니다.

샘플을 클릭할 경우 아래와 같은 보고서를 볼 수 있습니다.

아래 사이트는 SQL Azure Reporting에 대한 참조 링크입니다.

http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-reporting-samples.aspx

SQL Azure Reporting으로 서비스 하는 방법은 두 가지 있습니다.

l SQL Azure Reporting 서버에서 보고서를 실행

l Report Viewer 를 통해 Windows Azure 어플리케이션을 통해 실행

먼저 첫 번째 방법에 대한 보다 더 구체적인 내용을 다음 글에서 나열해보도록 하겠습니다.

이상으로 간단히 살펴보았는데 아직은 로컬의 SSRS 처럼 보안, 매개변수관리, 캐시/스냅샵 등은 지원하지 않고 있습니다. 보고서를 Azure 환경에서 서비스만 하고 있을 뿐입니다.


SQL Azure 데이터 이용(5)

Cloud 2011. 8. 4. 08:30 Posted by 알 수 없는 사용자

SQL Azure 데이터 이용(5)

앞에서 언급한대로 WCF REST 서비스를 JSON으로 Windows Phone에서 액세스 해보도록 하겠습니다.

WCF 서비스 웹 역할을 생성하고 서비스의 OperationContract을 아래와 같이 정의했습니다.


GetProductByCategoryID 메서드는 입력 매개변수에 따라 SQL Azure의 데이터를 액세스하고 JSON을 반환하는 내용입니다. 데이터 액세스는 SQL Azure의 아래 화면의 저장 프로시저를 호출하게 됩니다.



크로스 도메인 경계에 대한 내용으로 Clientaccesspolicy.xml 을 프로젝트에 추가했습니다.

로컬에서 테스트하고 아래와 같이 클라우드의 프로덕션 환경으로 게시했습니다.


Windows Phone 프로젝트를 생성하고 ListBox를 추가하고 ItemTemplate을 아래와 같이 지정합니다.

MainPage.xaml.cs 에서는 Load 이벤트에서 아래처럼 JSON 을 반환하기 위해 호출하게 됩니다.


OpenReadCompleted 이벤트에서는 DataContractJsonSerializer 를 이용해서 처리합니다.


자 최종결과는 아래와 같습니다. SQL Azure의 데이터를 WCF 서비스 웹 역할을 통해 Windows Phone에서도 손쉽게 이용할 수 있다는 것을 알 수 있습니다.

클라우드의 SQL Azure를 이용할 경우 IT 자산이 불필요하며 대역폭을 사용한 만큼 비용을 지불하는 장점이 있습니다. SQL Azure를 이용해서 다양한 클라우드 응용 프로그램에서 평상시 쓰던 ADO.NET을 이용해서 SQL Azure를 손쉽게 이용할 수 있다는 것을 알아보았습니다.



SQL Azure 데이터 이용(4)

Cloud 2011. 7. 28. 08:30 Posted by 알 수 없는 사용자

SQL Azure 데이터 이용(4)

이번에는 WCF 역할을 통해서 SQL Azure 데이터를 액세스해보도록 하겠습니다.

Management Portal 의 몇몇 텍스트가 한글이 제공되어 왔었는데 지금 시점에서는 상당히 많은 부분이 한글로 변경되어 있습니다. 한글로 변경된 화면도 볼 겸 WCF REST 를 이용해서 SQL Azure 데이터를 호출해보도록 하겠습니다.

먼저 WCF 서비스 웹 역할을 만들도록 하겠습니다.

코드는 아래와 같은 내용으로 처리되어 있습니다. 물론 Web.Config Connection String SQL Azure를 바라 보고 있습니다.



ADO.NET 코딩을 하고 로컬에서 테스트해본 후 잘 나오는 것을 확인했으면 게시해서 Management Portal에 새 호스트를 생성합니다. 한글로 많이 바뀐 것을 알 수 있습니다.

스테이징 환경에서 테스트해보고 큰 문제가 없다면 프로덕션 환경으로 변환할 수 있습니다. 변환은 상단 메뉴의 VIP 교환 메뉴를 클릭하면 됩니다.

아래는 프로덕션 환경으로 변환된 결과입니다.

이제 WCF 서비스를 호출하여 최종 결과를 확인합니다. 브라우저에서만 결과를 확인하도록 하겠습니다. 클라이언트에서 테스트할 필요는 없을 것 같습니다.

다음 글에서는 위에서 만든 WCF REST를 조금 변경하여 Windows Phone 에서도 이용해보도록 하겠습니다.



SQL Server CodeName “Denail” CTP 3에서의 SQL Azure 액세스

Cloud 2011. 7. 22. 08:30 Posted by 알 수 없는 사용자


SQL Server CodeName “Denail” CTP 3에서의 SQL Azure 액세스

SQL Server CodeName “Denail” CTP 3 가 발표되었습니다. 한국어 버전에 대한 내용도 제공되고 있습니다.

CTP 3 다운로드에 대한 내용은 아래 링크를 참고하시기 바랍니다.
https://www.microsoft.com/betaexperience/pd/SQLDCTP3CTA/enus/


설치하고 SQL Server CodeName “Denail” CTP 3를 통해 아래와 같이 SQL Azure 를 액세스 해보았습니다.

물론 잘 액세스되며 CTP 3 한글 버전에서 SQL Azure 를 테스트해볼 수 있습니다.

SQL Azure 데이터 이용(3)

Cloud 2011. 5. 31. 08:30 Posted by 알 수 없는 사용자


SQL Azure 데이터 이용(3)

이번에는 SQL Azure의 데이터를 Windows Azure 프로젝트의 ASP.NET MVC 응용프로그램에서 데이터를 이용하는 내용을 알아보도록 하겠습니다.

앞에서 살펴보았듯이 기존 ASP.NET MVC 응용 프로그램과 별 차이가 없는 것을 확인 가능합니다.

Cloud 폴더의 Windows Azure 프로젝트를 생성합니다. 프로젝트 이름은 SQLAzureMVC 으로 지정합니다.

Windows Azure 프로젝트에서는 ASP.NET MVC 웹 역할을 추가합니다.

ASP.NET MVC 웹 역할의 이름은 SQLAZMVCWeb 로 아래와 같이 지정합니다.

Models 폴더에 View에서 나타낼 Product 클래스를 아래와 같이 선언합니다. 필요하다면 ProductSubCategory 클래스나 ModelView 클래스를 추가해야 합니다.

SQL Azure에 있는 데이터를 호출하기 위해 clsProduct에서 Enterprise Library Data Access Block을 이용해서 web.config 에 있는 연결 문자열을 통해 액세스합니다.

Controller를 생성하기 위해 Controllers 폴더를 오른쪽 클릭, 추가에서 컨트롤러를 선택하고 이름은 ProductController로 지정합니다.

ProductController Index에서는 아래와 같은 형태로 DropDownlist의 데이터는 ViewData로 처리하고 Product List View로 보내주는 내용을 구성합니다. 그리고 DropDownList Change 했을 경우 POST 방식으로 처리되는 Index 메서드를 정의합니다.

public ActionResult Index()

{

clsProduct product = new clsProduct();

var d = from p in product.GetProductSubCategory().Tables[0].AsEnumerable()

select new ProductSubCategoryModel

{

Name = p.Field<string>("Name"),
ProductCategoryID = p.Field<int>("ProductCategoryID")

};

ViewData["SubCategories"] = new SelectList(d.ToList(),"ProductCategoryID", "Name");

string ddlCategory = d.ToList().First().ProductCategoryID.ToString();

var products = from g in product.GetProducts(ddlCategory).Tables[0].AsEnumerable()

select new ProductModel

{

Name = g.Field<string>("Name"),

ProductID = g.Field<int>("ProductID"),

ProductNumber = g.Field<string>("ProductNumber"),

Size = g.Field<string>("Size"),

Color = g.Field<string>("Color"),

StandardCost = g.Field<decimal>("StandardCost"),

ListPrice = g.Field<decimal>("ListPrice")

};

return View(products.ToList());

}

Views 폴더에 View를 생성해보도록 하겠습니다. Index 메서드에서 오른쪽 클릭하여 뷰 추가 메뉴를 클릭합니다.

강력한 형식의 뷰 만들기에서 ProductModel를 선택하고 뷰 콘텐츠에서는 List 를 선택합니다.

Views 폴더의 Product 폴더의 Index.aspx의 코드를 살펴보고 DropDownList 관련 내용을 추가합니다.

<% Html.BeginForm(); %>

<p><%=Html.DropDownList("ddlCategory",(IEnumerable<SelectListItem>)ViewData["SubCategories"], new { onchange = "this.form.submit()" }) %></p>

로컬에서 실행해서 결과를 확인합니다.

자 이제 Windows Azure ASP.NET MVC Web Role에 대한 내용을 배포해봅니다.

배포에 대한 일반적인 내용은 아래 블로그를 참조하면 됩니다.
http://redju.tistory.com/56
ServiceConfiguration.cscfg
파일에서 인스턴스를 2로 수정하고 솔루션 탐색기의 SQLAzureMVC 프로젝트를 오른쪽 클릭하고 게시를 클릭하여 패키지를 생성합니다.

Windows Azure 사이트로 이동(http://windows.azure.com/) 하여 하여 New Hosted Service를 클릭하여 서비스 이름과 패키지 경로 등을 아래와 같이 지정합니다.

Staging에서 Ready 상태로 되었고 오른쪽 속성 창을 통해 테스트를 해볼 수 있습니다.

SWAP IP를 클릭하여 Staging에서 Production 환경으로 변경하여 결과를 확인합니다.

SQL Azure의 데이터를 이용하는 클라우드 ASP.NET MVC 웹 역할을 생성하고 배포해보았습니다.

SQL Azure 데이터 이용(2)

Cloud 2011. 5. 24. 08:30 Posted by 알 수 없는 사용자

SQL Azure 데이터 이용(2)

SQL Azure 에 데이터를 이전했고 Windows Azure 프로젝트를 통해 클라우드 웹 응용프로그램에서 데이터를 이용하는 내용을 알아보도록 하겠습니다.

VS 2010을 이용해서 Windows Azure 응용 프로그램을 생성합니다. 이를 통해 클라우드에 있는 SQL Azure 데이터를 클라우드 웹 응용프로그램에서 나타내보도록 하겠습니다.

Cloud 폴더의 Windows Azure 프로젝트를 생성합니다. 프로젝트 이름은 SQLAZWeb으로 지정합니다.



Windows Azure 프로젝트에서는 ASP.NET 웹 역할을 추가합니다.

웹 역할의 이름은 AdventureWorks로 아래와 같이 지정합니다.

Default.aspx 의 디자인은 ScriptManager, UpdatePanel 에 추가로 DropdownList, GridView 컨트롤을 아래와 같이 배치합니다.

연결 문자열과 클래스 파일 등은 SQL Azure 데이터 이용(1)과 동일합니다. 배포에 대한 내용만 다를 뿐입니다. 일반적인 내용은 생략합니다.

Default.aspx.cs로 이동하여 아래와 같이 필드를 선언하고 Page_Load에 아래와 같은 코드를 작성합니다. DropdownList SQL Azure의 데이터를 나타내는 내용입니다.

public partial class _Default : System.Web.UI.Page

{

clsProduct product = new clsProduct();

protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

ddlSubCategory.DataSource = product.GetProductSubCategory().Tables[0];

ddlSubCategory.DataTextField = "Name";

ddlSubCategory.DataValueField = "ProductCategoryID";

ddlSubCategory.DataBind();

GetProductData();

}

}

또한 DropdownList SelectedIndexChanged 이벤트를 발생시켜 아래와 같이 코드를 작성합니다.

protected void ddlSubCategory_SelectedIndexChanged(object sender, EventArgs e)

{

GetProductData();

}

GetProductData 메서드는 Products 리스트를 얻어 오는 내용이며 아래와 같이 코드를 작성합니다.

private void GetProductData()

{

DataSet ds = product.GetProducts(ddlSubCategory.SelectedValue);

GridView1.DataSource = ds.Tables[0];

GridView1.DataBind();

}

로컬에서 실행해서 결과를 확인합니다.

자 이제 Windows Azure Web Role에 대한 내용을 배포해봅니다.

배포에 대한 일반적인 내용은 아래 블로그를 참조하면 됩니다.

http://redju.tistory.com/56

솔루션 탐색기의 SQLAZWeb 프로젝트를 오른쪽 클릭하고 게시를 클릭하여 패키지를 생성합니다.

Windows Azure 사이트로 이동(http://windows.azure.com/) 하여 하여 New Hosted Service를 클릭하여 서비스 이름과 패키지 경로 등을 아래와 같이 지정합니다. 인스턴스의 수는 구성 파일에서 미리 지정해도 됩니다.

Staging에서 Ready 상태로 되었고 오른쪽 속성 창을 통해 테스트를 해볼 수 있습니다.

테스트 결과는 아래와 같습니다.

SWAP IP를 클릭하여 Staging에서 Production 환경으로 변경하여 결과를 확인합니다. 인스턴스를 2로 수정해서 Upgrade를 했습니다.


SQL Azure를 이용하여 ASP.NET 웹 역할을 생성하고 배포해보았습니다. SQL Azure라고 코드에 대한 내용이 별도 다르지 않고 ADO.NET으로 액세스 할 수 있습니다.


SQL Azure 데이터 이용(1)

Cloud 2011. 5. 17. 08:30 Posted by 알 수 없는 사용자

SQL Azure 데이터 이용(1)

SQL Azure 에 데이터를 이전했고 로컬 응용프로그램에서 데이터를 이용하는 내용을 알아보도록 하겠습니다.

VS 2010을 이용해서 Windows Forms 응용 프로그램을 생성합니다. 이를 통해 클라우드에 있는 SQL Azure 데이터를 로컬 응용 프로그램에서 나타내보도록 하겠습니다.

시작하기 전에 결론은 C#을 이용해 ADO.NET으로 똑같이 액세스할 수 있다는 것입니다. 연결 문자열만 달라지며 Azure 방화벽 외에는 동일하다는 것입니다.

Windows Forms 응용 프로그램을 생성합니다.


간단한 Form 디자인을 아래와 같이 합니다. ComboBox DataGridView 를 통해 데이터를 나타내보도록 하겠습니다.

데이터베이스 액세스를 위해 Enterprise Library 5.0을 이용할 것이며 참조 추가를 통해 관련 어셈블리를 추가합니다.
(Microsoft.Practices.EnterpriseLibrary.Common, Microsoft.Practices.EnterpriseLibrary.Data)

데이터 액세스를 위한 연결 문자열은 App.config에 아래와 같이 구성합니다.

<connectionStrings>

<add name="sqlazure1" connectionString="Data Source=SQLAzure서버이름;User ID=사용자계정;Password=비밀번호;Initial Catalog=AdventureWorksLTAZ2008R2" providerName="System.Data.SqlClient"/>

</connectionStrings>

데이터액세스를 위한 클래스를 추가합니다. 클래스 이름은 clsProduct으로 지정합니다.

ProductSubCategory 리스트와 SubCategory Product 리스트를 반환하는 메서드를 아래와 같이 정의합니다.

public DataSet GetProducts(string ProductCategoryID)

{

DataSet ds = new DataSet();

Database db = DatabaseFactory.CreateDatabase("sqlazure1");

string spName = "[SalesLT].[usp_GetProductByCategoryID]";

DbCommand cmd = db.GetStoredProcCommand(spName);

db.AddInParameter(cmd, "ProductCategoryID", DbType.Int32, ProductCategoryID);

ds = db.ExecuteDataSet(cmd);

return ds;

}

Form1.cs로 이동하여 아래와 같이 필드를 선언하고 InitializeComponent 아래에 코드를 작성합니다. ComboBox SQL Azure의 데이터를 나타내는 내용입니다.

public partial class Form1 : Form

{

clsProduct product = new clsProduct();

public Form1()

{

InitializeComponent();

cbSubCategory.DataSource = product.GetProductSubCategory().Tables[0];

cbSubCategory.DisplayMember = "Name";

cbSubCategory.ValueMember = "ProductCategoryID";

GetProducts();

}

또한 ComboBox SelectedIndexChanged 이벤트를 발생시켜 아래와 같이 코드를 작성합니다.

private void cbSubCategory_SelectedIndexChanged(object sender, EventArgs e)

{

GetProducts();

}

GetProducts 메서드는 Products 리스트를 얻어 오는 내용이며 아래와 같이 코드를 작성합니다.

private void GetProducts()

{

dataGridView1.DataSource = product.GetProducts(cbSubCategory.SelectedValue.ToString()).Tables[0];

}

프로젝트를 실행해서 결과를 확인합니다.

이상에서 보았듯이 로컬의 응용프로그램에서 SQL Azure를 액세스하는 것은 별다른 내용 없이 로컬에 있는 SQL 데이터를 액세스하는 것과 동일합니다.

SQL Azure Sample Database 설치

Cloud 2011. 4. 29. 08:30 Posted by 알 수 없는 사용자

SQL Azure Sample 데이터베이스 설치

SQL Azure용 샘플 데이터베이스를 설치하는 것을 다뤄보려고 합니다. Cloud Application에서 스토리지 서비스를 쓰지 않고 Azure 데이터베이스를 액세스하려고 할 경우 테스트 데이터를 입력하고 구성하기에는 시간이 좀 걸리기도 약간 귀찮기도 합니다.

아래 사이트에서 SQL Azure용 샘플 데이터베이스를 다운로드 가능합니다.

http://msftdbprodsamples.codeplex.com/releases/view/37304

설치를 위해서는 SQL Azure 프로젝트가 생성되어 있어야 하며 .NET 3.5 가 설치되어 있어야 합니다. 반드시 로컬에 SQL Server가 있어야 하는 것은 아니지만 SSMS가 있다면 데이터 확인이나 쿼리 하기가 더 쉽겠죠~

다운로드 받아 압축을 풀고 위의 사이트에서의 순서에 따라 구성하시면 됩니다.

1. 먼저 이미 데이터베이스가 존재한다면 AdventureWorksDWAZ2008R2 데이터베이스를 삭제합니다.

2. 명령 프롬프트를 관리자 권한으로 실행합니다.

3. 압축 파일의 AdventureWorks2008R2Az/DW 폴더로 이동합니다.

4. 아래 명령을 실행합니다. 서버의 FQDN 이름과 계정, 암호를 입력합니다.

그러면 아래처럼 실행되면서 SQL AzureAdventureWorksDWAZ2008R2 데이터베이스가 생성됩니다.


Management Portal을 보면 아래 그림과 같이 생성되어 있는 것을 확인이 가능합니다.

어느 순간부터 Portal에서 몇몇 내용들은 한글로 표시되고 있습니다.

물론 Database Manager 에서도 아래 그림처럼 데이터 확인이 가능합니다. 그리고 SQL Server 2008 R2 SSMS에서도 가능합니다. 또한 AdventureWorks2008R2 LT 데이터베이스도 설치가 가능합니다.

이상으로 Sample Azure 데이터베이스를 설치해보았습니다. 이 데이터를 SQL Azure 리포팅이나 Cloud 응용프로그램에서 액세스할 수 있습니다.


'Cloud' 카테고리의 다른 글

Windows Azure VM Role 미리보기 #1  (0) 2011.05.09
Windows Azure Application - Hello Azure (1)  (0) 2011.05.03
DataMarket (2) - 데이터 구독 및 탐색  (0) 2011.03.07
DataMarket (1) - 소개  (0) 2011.02.28
SQL Azure Update (3)  (0) 2011.02.21

SQL Azure Update (3)

Cloud 2011. 2. 21. 21:04 Posted by 알 수 없는 사용자

SQL Server 2008 R2 버전부터는 SQL Server Management Studio에서 SQL Azure를 연결이 가능합니다. 여기서는 SQL Server Denail CTP를 통해 SQL Azure를 연결해보도록 하겠습니다.

 

SQL Server Management Studio를 열어 서버에 연결에서 SQL Azure Portal에 있는 서버 이름과 SQL 인증으로 사용자와 암호를 입력합니다.

 

연결을 누르지 말고 옵션을 클릭하여 연결할 데이터베이스에 SQL Azure 데이터베이스 이름을 입력하고 연결을 클릭합니다.

 

혹시 연결되지 않고 IP 주소 관련한 아래 메시지가 나올 수 있습니다.


SQL Azure Portal에서 방화벽 규칙을 맞게 추가해주어야 합니다.

 

방화벽 설정이 문제 없이 잘 연결되었다면 아래와 같은 내용을 볼 수 있습니다.

 


n  새로운 쿼리 창을 열어 T-SQL 구문을 처리해보도록 하겠습니다.

l  현재 데이터베이스 이름을 db_name() 을 통해 알아봅니다.



l  물론 서버 버전을 알아볼 수 도 있습니다.

l  데이터베이스 종류는 어떤 것들이 있는지 카탈로그 뷰를 통해 알아볼 수 있습니다.


 

l  현재 데이터베이스에 USE 구문은 잘 실행되지만 다른 데이터베이스로의 이동은 지원되지 않습니다.

l  Master 데이터베이스로 새로운 쿼리 창을 열어 LOGIN을 생성할 수 있습니다. 또한 사용자 데이터베이스에 사용자를 생성할 수 있습니다. 개체 탐색기에서 GUI를 통한 생성은 지원되지 않고 쿼리문으로 나타납니다.



l  연결을 통해 새로운 쿼리 창을 위에서 생성한 hjuser 사용자를 통해 연결 하고 새로운 테이블을 생성합니다. 테이블에는 클러스터형 인덱스가 있어야 합니다. 그리고 많은 데이터를 INSERT 구문을 통해 처리합니다. 익숙한 T-SQL 구문이 그대로 쓰이고 있습니다.



l  SELECT, WHERE 구문을 통해 결과를 조회할 수 있습니다. 또한 아래 그림처럼 실행 계획을 포함시켜 실행 할 수 있습니다.



 위에서 살펴본 내용으로 한다면 일반적인 T-SQL 구문을 작업하기는 큰 무리가 없습니다만 아직 지원되지 않는 여러 구문에 해당하는 사항은 있습니다
 

n  T-SQL 지원에 대한 구체적인 내용은 아래 링크를 참조할 수 있습니다.

l  Supported Transact-SQL Statements

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

l  Partially Supported Transact-SQL Statements

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

l  Unsupported Transact-SQL Statements

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

 

SQL Server Denail CTP를 통해 SQL Azure에 대해 액세스하는 내용을 알아보았습니다. 다음 내용에서는 여러 데이터를 올리고 Windows Azure의 응용 프로그램에서 SQL Azure를 액세스해보는 내용을 새로운 Management Portal을 통해서 알아보도록 하겠습니다.

'Cloud' 카테고리의 다른 글

DataMarket (2) - 데이터 구독 및 탐색  (0) 2011.03.07
DataMarket (1) - 소개  (0) 2011.02.28
SQL Azure Update (2)  (0) 2011.02.11
SQL Azure Update (1)  (0) 2011.01.28
Windows Azure Update: Windows Azure CDN의 활용  (2) 2010.10.01

SQL Azure Update (2)

Cloud 2011. 2. 11. 09:00 Posted by 알 수 없는 사용자


Windows Azure Platform Management Portal을 통해 데이터베이스 서버와 데이터베이스를 생성했습니다여기서는 Management Portal을 통해 Database Manager를 통해 SQL Azure 를 액세스하는 내용을 다룹니다.


데이터베이스에 테이블을 생성, 입력하고 새 쿼리를 생성하는 내용에 대한 부분을 알아보겠습니다. 위에서 생성한 데이터베이스 이름을 클릭하고 상단 메뉴의 “Manage” 를 클릭합니다. 


Database Manager
창이 새롭게 나타나며 제일 처음 시작할 경우는 동의 함을 체크하면 아래와 같이 연결 창을 볼 수 있습니다.



비밀번호를 입력하고 connect를 클릭합니다. 물론 방화벽 규칙에 허용으로 추가되어 있어야 합니다.

연결이 성공하면 아래와 같이 Database Manager 창을 볼 수 있습니다 


상단의 New Table 메뉴를 클릭해서 새로운 테이블을 디자인합니다. Employee 테이블에 ID, Name, Email 열을 정의합니다. 디자인이 끝났으면 Save 메뉴를 클릭합니다.


Data
메뉴를 클릭해서 샘플 데이터 값을 추가합니다. Save 버튼을 클릭합니다.
 



Database
탭을 클릭하고 New Query 메뉴를 클릭합니다. 쿼리 창에서 SELECT * FROM Employee를 입력하고 Execute 메뉴를 클릭합니다. 결과 창에서 위에서 입력한 데이터를 확인 할 수 있습니다.
 


Windows Azure Platform
Management Portal에서 SQL Azure에 대한 내용을 액세스할 수 있는 Database Manager를 알아보았습니다. 새롭게 변경된 Portal을 통해 데이터베이스 서버와 데이터베이스, 테이블을 생성해보았으며 다음 블로그에서 Windows Azure Platform Management Portal에 있는 SQL Azure 데이터베이스를 SQL Server Management Studio Windows Azure에서 액세스해 보도록 하겠습니다.

'Cloud' 카테고리의 다른 글

DataMarket (1) - 소개  (0) 2011.02.28
SQL Azure Update (3)  (0) 2011.02.21
SQL Azure Update (1)  (0) 2011.01.28
Windows Azure Update: Windows Azure CDN의 활용  (2) 2010.10.01
SQL Azure 와 SQL Reporting Service  (0) 2010.09.30

SQL Azure Update (1)

Cloud 2011. 1. 28. 09:00 Posted by 알 수 없는 사용자



Azure가 많은 부분이 Update  되었습니다.

2010
년 말에 Azure PlatformManagement Portal 이 새롭게 선보였으며 SQL Azure 에 대한 내용을 업데이트합니다.

Portal에 액세스하기 위해서는 https://windows.azure.com 에 액세스하고 Windows Live ID를 제공하면 됩니다. 리본과 유사하게 변경되었으며 Hosted Service, Storage Account, Database Server, Connect 메뉴가 상단에 보이고 있습니다.


왼쪽 메뉴는 Hosted Services, Storage Account & CDN, Database, Reporting, Service Bus, Access Control & Caching, Virtual Network 로 되어 있습니다.

SQL Azure를 살펴볼 것이므로 왼쪽 메뉴의 Database나 상단 메뉴의 New Database Server 를 클릭해보겠습니다. 

l  Database Server 생성

Database New 메뉴를 통해 구독을 생성해야 하며 구독을 생성하고 나면 Create 메뉴가 활성화됩니다.

hongju 라는 Subscription 에 새로운 SQL Azure Database Server를 생성해보겠습니다. Create 메뉴를 클릭하면 먼저 지역을 선택하게 되는데 여기서는 “East Asia”를 선택하고 다음을 클릭 해보겠습니다.

 

관리자 계정과 비밀번호를 설정하게 됩니다. 비밀번호는 복잡성 규칙을 따르니 복잡하게 구성하면 됩니다.


관리자 계정과 비밀번호를 설정하고 다음을 클릭하면 방화벽 규칙을 지정하는 창을 볼 수 있으며 여기서는 마침을 클릭합니다. 별도로 방화벽 규칙을 지정할 수 있습니다.

 

작업이 완료되었으면 아래와 같은 Database Server가 생성된 것을 확인할 수 있습니다.


왼쪽 트리를 확장해서 보면 master 데이터베이스가 생성된 것을 알 수 있습니다.

  

방화벽 규칙을 클릭해서 방화벽을 설정해줄 수 있습니다. 그렇지 않으면 기본값으로 Deny이므로 허용 IP 대역을 설정해야만 합니다.

 

l  Database 생성

해당 데이터베이스 서버를 클릭하고 데이터베이스를 생성해보도록 하겠습니다.

상단의 Create 메뉴를 클릭합니다.



Create Database 창에서 적절한 데이터베이스 이름을 입력하고 Edition Size를 지정합니다.

 

 



이상으로 Management Portal에서 SQL Azure의  데이터베이스 서버와 데이터베이스를 생성해보았습니다.

다음 블로그에서  Management Portal에서 테이블을 생성하고 SELECT 하는 내용과 SQL Denail CTP 에서 액세스하고 Windows Azure에서 액세스하는 추가적인 내용을 알아보도록 하겠습니다.



'Cloud' 카테고리의 다른 글

SQL Azure Update (3)  (0) 2011.02.21
SQL Azure Update (2)  (0) 2011.02.11
Windows Azure Update: Windows Azure CDN의 활용  (2) 2010.10.01
SQL Azure 와 SQL Reporting Service  (0) 2010.09.30
Windows Azure Update: myAzureStorage  (0) 2010.09.06

SQL Azure 와 SQL Reporting Service

Cloud 2010. 9. 30. 22:24 Posted by 알 수 없는 사용자

현재 SQL Azure에서는 Business Intelligence 에 대한 내용을 제공해주고 있지 않지만 향후에는 지원이 될 예정입니다. SQL Azure를 활용하는 방법 중의 하나로 SQL Reporting Service에서 SQL Azure를 이용하는 방법을 다루어보도록 하겠습니다.

사실 데이터 원본에 대한 내용이 SQL Azure 이며 나머지 보고서를 작성하는 것은 별 다른 차이가 없습니다.

보고서 서버 프로젝트를 생성해서 보고서를 추가하고 데이터 원본을 생성합니다.

데이터 원본의 서버이름은 SQL Azure의 서버 이름을 입력하고 SQL 계정과 비밀번호를 입력하고 데이터베이스 이름은 직접 입력합니다.


SQL Azure
에 있는 테이블과 뷰로 보고서 집합을 생성합니다.

여기서는 Category, SubCategory, Product 테이블에 대한 뷰를 생성하도록 하겠습니다.

쿼리 디자이너를 통해 테이블을 추가하려고 하면 아래와 같은 메시지를 볼 수 있습니다.

그래서 직접 쿼리문을 작성하거나 SQL Server Management Studio에서 쿼리문을 작성해서 데이터 집합을 생성합니다.

쿼리문은 아래와 같습니다.

아래와 같이 보고서를 디자인합니다.

미리보기를 클릭해서 결과를 확인합니다.


현재의 SQL Azure Business Intelligence를 제공하고 있지 않아 SQL Azure를 활용하는 방법으로 SQL Server Reporting Service에서 SQL Azure 데이터를 표시하는 것을 다루어 보았습니다.


SQL Azure Update: Dynamic Management View

Cloud 2010. 8. 25. 19:30 Posted by 알 수 없는 사용자

안녕하세요. Visual C# MVP 남정현입니다. 가을을 재촉하는 비가 여기저기 내리면서 무더웠던 날씨가 한풀 꺾이는듯 합니다. 오늘은 Windows Azure Update와 Side-by-Side로 SQL Azure Update에 대한 이야기를 진행해보고자 합니다. :-)

SQL Azure의 주요 기능이 우리가 생각하는것과 같이 상당한 수준에 있기 때문이거나, SQL Azure에 대해서 아직까지 많은 내용이 전달되지 않았기 때문일 수 있지만 SQL Azure 만의 고유한 기능을 다루는 섹션도 필요하다고 생각하여 진행하고 있으니 역시 많은 Feedback을 부탁드립니다.

Dynamic Management View란?

Dynamic Management View (이하 DMV)는 SQL Azure Team Blog에서 SQL Azure Service Update 1과 함께 제공한 새로운 기능으로, 이 글을 작성하는 현 시점에서는 매우 요긴하게 사용될 수 있고, 데이터베이스에 대한 정확한 사용량 추이를 파악할 수 있는데 도움을 주는 관리 API의 일종입니다. DMV는 시스템 뷰의 일종으로 다음과 같이 제공됩니다.

  • sys.dm_exec_connections: 최근에 접속한 모든 클라이언트들의 정보들을 조회합니다.
  • sys.dm_exec_requests: 최근에 실행된 Query의 상태와 실행 정보들을 조회합니다.
  • sys.dm_exec_sessions: 현재 연결된 클라이언트 및 세션에 대한 정보들을 조회합니다.
  • sys.dm_tran_database_transactions: 데이터베이스 수준의 트랜잭션들에 대한 정보를 조회합니다.
  • sys.dm_tran_active_transactions: 현재 활성화된 트랜잭션들에 대한 정보를 조회합니다.
  • sys.dm_db_partition_stats: 데이터베이스의 파티션 상태 및 각 파티션 별 사용량 정보를 조회합니다.

DMV의 데이터를 살펴보는 방법

DMV의 데이터는 관리를 위한 목적으로 활용하기에 알맞습니다. 또한, 데이터베이스 관리자가 별도의 응용프로그램을 사용하지 않고 손쉽게 상태를 파악할 수 있기 위해서는 Codename: Houston과 같은 SQL Azure 전용 데이터베이스 관리 도구를 활용하는 것이 편리합니다. (이 도구를 사용하면 별도의 방화벽 설정을 추가함으로 인해서 발생할 수 있는 노출 영역의 확대를 회피할 수 있기 때문입니다.)

Codename: Houston에 관한 좀 더 자세한 정보는 2010/07/29 - [Cloud] - Windows Azure Update: Microsoft Project Code-Named "Houston" CTP 1 에서 확인하실 수 있으며, 현재 이 도구는 CTP 단계에 있으므로 실무에 곧바로 적용하여 활용하는 것에는 다소 불편함이 따를 수 있습니다. (관리 목적으로 활용할 때 제일 빈번하게 사용되는 결과 집합의 내보내기 기능이 아직 지원되지 않습니다.)

DMV 데이터 조회 예시

그 이외에 Service Update 1에서 개선된 부분들

Service Update 1 이후부터는 이미 만들어진 데이터베이스의 상품 크기를 동적으로 관리 차원에서 변동을 줄 수 있습니다. 다음의 Query를 관리자 권한으로 SQL Azure Database에 접속한 후 실행하면 원하는 데이터베이스 크기를 설정하고 그 이후부터 변경된 데이터베이스 인스턴스 크기에 따른 요금을 자동으로 과금받을 수 있습니다.

ALTER DATABASE database_name
{
    MODIFY (MAXSIZE = {1 | 5 | 10 | 20 | 30 | 40 | 50} GB)
}

그리고 SQL Azure에서 세션 타임 아웃은 현재 30분으로 연장된 상태이며, 기본적으로 SQL Server 2008 R2에서 제공하는 장기 실행 트랜잭션 (혹은 교차 잠금 상태의 트랜잭션)을 찾아내서 정리하는 알고리즘이 좀 더 최적화되어있다는 것이 Service Update 1 이후의 변경 사항임을 알아두시면 유용할 것 같습니다.

감사합니다. :-)