티스토리 뷰
SQL Azure Federation(페더레이션) (2)
이제 SQL Azure Federation을 생성해보도록 하겠습니다. CREATE FEDERATION과 CREATE TABLE 구문을 통해 생성하게 됩니다. 페더레이션 분할은 ALTER FEDERATION을 통해서 실행됩니다. 구문을 실행하는 방법은 SQL Server Management Studio와 SQL Azure 데이터베이스 포탈에서 실행할 수 있습니다. 여기서는 SQL Server Management Studio 를 통해서 먼저 살펴보도록 하겠습니다.
페더레이션을 생성하는 단계는 다음과 같습니다.
l CREATE FEDERATION – 페더레이션 배포 키 생성
l USE FEDERATION, CREATE TABLE FEDERATION ON – 페더레이션된 테이블 생성
l INSERT – 데이터 추가
l ALTER FEDERATION – SPLIT/MERGE, 페더레이션 멤버 생성
l USE FEDERATION – 쿼리, 필터링
자 아래와 같이 CREATE FEDERATION 구문을 실행해보겠습니다.
CREATE FEDERATION Orders_Federation
(OrderId INT RANGE)
GO
페더레이션 이름은 Orders_Federation 이며 배포 이름은 OrderId 입니다. 지원되는 데이터 타입은 INT, BIGINT, UNIQUEIDENTIFIER 또는 VARBINARY(최대 900바이트) 입니다. RANGE 분할만 현재 지원됩니다.
자 생성된 결과는 아래와 같습니다. 카탈로그뷰를 통해서도 액세스 가능합니다.
페더레이션을 생성하면 전체 범위를 담당하는 첫번째 페더레이션 멤버가 만들어집니다. Master 데이터베이스에서 sys.databases를 통해 확인 가능하며 멤버 데이터베이스 이름은 동적으로 생성됩니다.
페더레이션을 생성하고 난 후 페더레이션된 테이블을 생성해보겠습니다. 해당 페더레이션 멤버로 이동하여야 하며 USE FEDERATION 구문을 통해 실행합니다.
USE FEDERATION Orders_Federation (OrderID = 1) WITH RESET, FILTERING = OFF
GO
CREATE TABLE Orders(
[PurchaseOrderID] INT NOT NULL ,
[EmployeeID] INT NOT NULL,
[VendorID] INT NOT NULL,
[ShipMethodID] INT,
[SubTotal] MONEY,
[ShipDate] DATETIME,
[OrderDate] DATETIME,
PRIMARY KEY (PurchaseOrderID) )
FEDERATED ON (OrderID = PurchaseOrderID)
GO
CREATE TABLE 문장을 보시면 맨 마지막에 FEDERATED ON 구문을 볼 수 있습니다.
데이터를 INSERT 해보겠습니다.
INSERT Orders VALUES ( 1 ,258 ,1580 ,3 ,201.04 ,'20050517' ,'20050526')
INSERT Orders VALUES ( 2 ,254 ,1496 ,5 ,272.10 ,'20050517' ,'20050526')
INSERT Orders VALUES ( 3 ,257 ,1494 ,2 ,8847.30 ,'20050517' ,'20050526')
INSERT Orders VALUES ( 4 ,261 ,1650 ,5 ,171.08 ,'20050517' ,'20050526')
....,
현재는 페더레이션 멤버가 하나이기 때문에 추가로 분할을 시켜보도록 하겠습니다. 페더레이션 분할은 ALTER FEDERATION 구문으로 처리하게 됩니다. 분할은 루트에서 실행하게 되므로 아래와 같이 처리합니다.
USE FEDERATION ROOT WITH RESET
GO
ALTER FEDERATION Orders_Federation SPLIT AT (OrderID = 3000)
처리된 결과는 쿼리 문에서는 아래를 통해 확인이 가능합니다. 3000 번 행은 새로운 페더레이션 멤버에 속하게 됩니다.
-- 페더레이션
SELECT * FROM Sys.Federations
GO
-- 페더레이션 멤버
SELECT * FROM sys.federation_member_distributions
WHERE federation_id=65537
GO
마지막으로 데이터 SELECT 쿼리 문을 통해 확인해보도록 하겠습니다.
USE FEDERATION Orders_Federation
(OrderID = 1) WITH RESET, FILTERING = OFF
GO
SELECT * FROM Orders
GO
-- 페더레이션 멤버 결과값으로 1~2999까지의 행이 나타납니다.
USE FEDERATION Orders_Federation
(OrderID = 3001) WITH RESET, FILTERING = OFF
GO
SELECT * FROM Orders
GO
-- 페더레이션 멤버 결과값으로 3000~4012까지의 행이 나타납니다.
USE FEDERATION Orders_Federation
(OrderID = 3001) WITH RESET, FILTERING = ON
GO
SELECT * FROM Orders
GO
-- 페더레이션 멤버 결과값으로 3001의 행이 나타납니다.
위에서 살펴보다시피 페더레이션에 대한 내용은 SELECT 쿼리 문도 다르고 또한 CREATE TABLE 구문도 상이합니다. 또한 페더레이션 멤버는 각기 다른 스키마가 있는 개체를 가지고 있을 수 있습니다.
간략히 SQL Server Management Studio에서 SQL Azure의 FEDERATION 생성에 대한 내용을 다루어보았습니다. 다음은 SQL Azure 데이터베이스 포탈에서 확인해보도록 하겠습니다.
'Microsft Azure > SQL Databases' 카테고리의 다른 글
SQL Azure Federarion- 페더레이션 (3) (0) | 2012.05.18 |
---|---|
SQL Azure 100MB 옵션 (0) | 2012.05.15 |
SQL Azure Federation(페더레이션) (1) (2) | 2012.05.04 |
SQL Azure Data Sync –데이터 동기화 (3) (0) | 2012.04.27 |
SQL Azure Data Sync –데이터 동기화 (2) (0) | 2012.04.20 |
- Total
- Today
- Yesterday
- Windows Azure 업데이트
- Power BI Desktop
- hongju
- redJu
- Visual Studio 2010
- 목표
- Power BI 업데이트
- SharePoint Object Model
- Paginated Report
- Power BI Desktop 업데이트
- Windows Azure
- Windows Azure Mobile Services
- sharepoint
- SharePoint 2010
- SharePoint 2013
- Power BI Desktop Update
- 업데이트
- 정홍주
- copilot
- Cloud
- SharePoint Online
- Windows Phone 7
- SQL Azure
- 클라우드
- Power BI Copilot
- 페이지를 매긴 보고서
- Mobile Services
- Microsoft Fabric
- sql server 2012
- Power BI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |