티스토리 뷰

 

SQL Azure Update 2012-09

 

저번 주에 SQL Azure 일부 기능이 업데이트 되었습니다.  보다 자세한 정보는 아래를 참고할 수 있습니다.

http://blogs.msdn.com/b/windowsazure/archive/2012/09/19/announcing-updates-to-windows-azure-sql-database.aspx

 

l  SQL Azure를 연결된 서버와 분산 쿼리

l  재귀 트리거 지원

l  DBCC SHOW_STATISTICS 지원

l  데이터베이스 수준에서 SQL Azure 방화벽 구성 가능

 

연결된 서버와 데이터베이스 수준에 대한 방화벽 구성에 대한 내용을 보다 더 구체적으로 살펴보겠습니다.

 

l  연결된 서버와 분산 쿼리

연결된 서버는 SQL Server에서 Excel, Oracle, 다른 SQL Server 등으로 연결해서 쿼리 문을 통해 분산 쿼리를 지원하는 기능인데 SQL Server에서 SQL Azure 서버를 연결된 서버로 추가할 수 있습니다.

ON-prem SQL Server 에서 SQL Azure를 연결된 서버로 연결해서 쿼리를 수행해보도록 하겠습니다. 연결된 서버에 대한 내용은 아래 링크를 참조할 수 있습니다. 먼저 서버를 추가하고 로그인을 추가해야 합니다.

http://technet.microsoft.com/ko-kr/library/ms188279.aspx

 

아래와 같은 쿼리를 ON-prem SQL Server 에서 실행합니다.

EXEC sp_addlinkedserver

@server='SQLAzureDemo',

@srvproduct='',    

@provider='SQLNCLI',

@datasrc='서버이름.database.windows.net', 

@location='',

@provstr='',

@catalog='AdventureWorks2012' 

 

GO 

 

EXEC sp_addlinkedsrvlogin

@rmtsrvname = 'SQLAzureDemo',

@useself = 'false',

@rmtuser = 'SQLAzure사용자계정',            

@rmtpassword = '비밀번호'

GO

 

EXEC sp_serveroption 'SQLAzureDemo', 'rpc out', true;

 

 

아래와 같은 쿼리 문을 통해 결과를 확인할 수 있습니다.

 

exec ('INSERT INTO [HumanResources].[Department]( Name, GroupName) VALUES(''Hong'',''HongGroup'')')

 at SQLAzureDemo

GO

 

UPDATE  SQLAzureDemo.AdventureWorks2012.HumanResources.Department

SET Name='H'

WHERE DepartmentID =17

 

 

SELECT * FROM SQLAzureDemo.AdventureWorks2012.HumanResources.Department

ORDER BY DepartmentID DESC

 

 

 

 

l  데이터베이스 수준에서 방화벽 설정

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

 

서버 수준의 방화벽은 Windows Azure Management Portal 과 프로그램을 통해 설정할 수 있습니다. 서버 수준에서의 방화벽 설정은 모든 데이터베이스에 적용되어 응용 프로그램 별로 다른 수준의 방화벽을 설정하는 것은 어려웠지만 이번 업데이트를 통해 데이터베이스 수준의 방화벽을 설정 가능합니다.

데이터베이스 수준의 방화벽 설정은 저장 프로시저를 통해 가능합니다. 아래 쿼리를 참고할 수 있습니다.

 

-- 검색

SELECT * FROM sys.database_firewall_rules

 

-- 설정

EXEC sp_set_database_firewall_rule N'AW','14.52.118.168','14.52.118.168'

 

-- 제거

EXEC sp_delete_database_firewall_rule N'AW'

 

 

서버 수준의 방화벽에는 해당 IP 가 없지만 해당 데이터베이스에는 연결이 가능합니다.

SQL Azure Federation의 경우는 Root 에서 설정된 경우 Member 로 상속이 바로 되지 않으므로 확인할 필요가 있습니다.

 

이상으로 간단하게 SQL Azure2012 9월 업데이트 내용을 알아보았습니다.

 

댓글