안녕하세요.

SQL Azure 관련해서 궁금한 점이 있습니다.

아래 질문은 MS Azure 영업담당자에게 질문을 한 내용인데, 답변을 주지 않아서 여기에 동일하게 질문드려 봅니다.


MS에서 제공하는 서비스의 범주가 "IaaS" "PaaS" "SaaS" 로 알고 있고, SQL Azure서비스는 "SaaS" 서비스로 알고 있습니다.

SQL Azure에서는 저희가 사용하는 주요기능이 모두 안되는 것으로 알고 있습니다.

온프레미스 환경처럼 SQL Server를 자체구축 하고 싶은데, "IaaS" 서비스를 받으며, SQL Server는 자체구축이 가능한 상품이 있는지 알고싶습니다. 만약 있다면, 라이센스나 기타 비용은 어떻게 되는지도 알고싶네요.

정리하면, 현재 구축 중인 서버환경을 클라우드로 옮길 때, 가장 적합한 솔루션을 알고 싶습니다.


현재 저희회사 솔루션에서 운영되는 RDBMS 환경은 MS-SQL2008 입니다.

주로 스크립트 언어를 이용하여, RDBMS를 제어하는데요.

제가 조사한 내용을 보니, 지원되지 않는 명령어들이 꽤 있더라구요.

 

저희 솔루션에서 사용하는 주요 기능들 입니다.

- CREATE DATABASE

- BAKUP / RESTORE

- DATABASE ATTACH / DETACH

- SQL Server Agent Service 

- SQL Server 인스턴스 자유롭게 추가/삭제

- 동적 프로시저 사용/실행

- 동적테이블 사용


자사 솔루션이 웹로그 분석 솔루션이다 보니,  로그통계처리를 위해 24시간 프로시저가 실행된다고 보면 됩니다.

읽어 주셔서 감사합니다.



아래는 제가 따로 조사한 내용 입니다.!!!

 

Azure 환경에서 제공되는 RDBMS라서  지원되지 않은 명령어들 [http://www.sqler.com/395723]

지원되는 T-SQL

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

지원되지 않은 T-SQL

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

 

SQL Azure에서 제약사항 [pro_sql_database_for_windows_azure_2nd_edition” 책에서 발췌]

 

Limitations in SQL Database

As youve seen so far, creating databases and users requires manual scripting and switching database connections.

The fundamental differences between SQL Server and SQL Database lie in the basic design principles of cloud

computing, in which performance, ease of use, and scalability must be carefully balanced. The fact that user

databases can be located on different physical servers imposes natural limitations. In addition, designing applications

and services against SQL Database requires you to have a strong understanding of these limitations.

 

[Security]

Chapter 3 covers security in depth, but the following list summarizes important security considerations before you

deploy your SQL Database instances. From a security standpoint, you need to consider the following constraints:

Encryption. Although SQL Database uses SSL for data transfers, it doesnt support the dataencryption

functions available in SQL Server. However, SQL Database provides support for

hashing functions.

SSPI authentication. SQL Database only supports database logins. As a result, network logins

using Security Support Provider Interface (SSPI) arent supported.

Connection constraints. In certain cases, the database connection is closed for one of the

following reasons:

Excessive resource usage

Long-running query

Long-running single transaction

Idle connection

Failover due to server failure

Disallowed user names. Certain user names cant be created, for security reasons:

sa

admin

administrator

guest

root

Login name. In certain cases, you may need to append the server name to the login name

to correctly log in, in this format: [loginName]@[servername]. So, avoid using the arrobas

character (@) in login names.

TCP port 1433. Only TCP Port 1433 is allowed. It isnt possible to define another listening port

for SQL Database.

 

[Backups]

Backing up your SQL Database instance is somewhat different from backing up traditional SQL Server databases. You

cant back up a SQL Database instances in the traditional sense, nor can you restore a SQL Server database in SQL

Database. You do, however, have the ability to create a transactionally consistent clone of a SQL Database instance

before you export/import your data. You can expect the following regarding backups:

Backup/Restore operations. These operations arent available. In addition, you may not

attach or detach a SQL Database instance.

Clone operations. You may create a clone of a SQL Database instance into another one using

the CREATE DATABASE statement.

Log files. You cant access the database log files, nor can you create a log backup.

 

[Objects]

Certain objects available in SQL Server arent available in SQL Database. If your applications depend heavily on

these features, you may have difficulty using SQL Database, and you may need to rethink your application design to

accommodate these limitations. The following are some of the limitations that currently apply to SQL Database:

CLR. The.NET CLR isnt available in SQL Database. As a result, you cant create extended

stored procedures or extended functions.

System functions. SQL Database supports many system functions, including Aggregate

functions and Ranking functions. However, SQL Database doesnt support RowSet functions,

including these:

OPENQUERY

OPENXML

OPENROWSET

OPENDATASOURCE

System stored procedures. Only a small subset of system stored procedures are available in

SQL Database, in the following categories:

Catalog stored procedures

Database engine stored procedures

Security stored procedures

System tables. None of the system tables are available.

System views. A subset of system views is available; you can access some of them from the

master database and others from user databases. The following are some of the system views

available (for a complete list, refer to the online MSDN library for SQL Database):

sys.sql_logins

sys.views

sys.databases

sys.columns

sys.objects

Heap tables. SQL Database doesnt allow the use of heap tables. All tables must have a

clustered index.

 

[Miscellaneous]

In addition to the limitations outlined so far, additional components and options offered by SQL Server arent

available in SQL Database. For the most part, these limitations shouldnt affect your application designs, but theyre

good to keep in mind:

Maximum number of databases. You can create no more than one hundred and fifty user

databases.

Distributed transactions. Although SQL transactions are supported, distributed transactions

arent supported across SQL Database instances.

Collation. SQL Database supports collation at the column and database levels, or using an

expression at execution time. Server- level collations cant be changed and are set to SQL_

LATIN1_GENERAL_CP1_CI_AS. Once set at the database level, the collation cannot be changed

using the ALTER DATABASE command.

English language. SQL Database only supports the English language.

Database size. You can only create databases of specific sizes, as outlined previously.

Row Versioning-Based Isolation Levels. READ_COMMITTED_SNAPSHOT and ALLOW_SNAPSHOT_

ISOLATION options are set at the database level, and cannot be changed.

Database file placement. You cant choose how the database files are deployed physically;

you cant control filegroups, either. This is handled automatically by the Microsoft data center

for optimum performance.

Trace flags. Trace flags arent available.

SQL Server configuration options. None of the general SQL Server options are available,

including CPU and I/O affinity.

Service Broker. The Service Broker isnt available.

Global temporary tables. The global temporary tables arent available. However, you can use

local temporary tables.

SQL Server Agent. The SQL Server Agent isnt available.