SQL Azure – a Microsoft az egekben

Az SQL Azure már egy elég régi buzzword, hetek-hónapok óta kering a neten, hogy lesz, van, béta, lehet tesztelni. A mostanában divatos cloud computing MSSQL változatáról van szó, az MS hosztol egy SQL Servert, amit te használhatsz magadnak a kis alkalmazásaidhoz, gyakorlatilag managed service-t kapsz. Az alkalmazásod futhat otthon, egy másik szerveren valahol a neten vagy épp a Windows Azure-on… Na, nem is kell több egy SQL MVP-nek, regisztráltam, és miután felzabáltam az összes karácsonyi sütit, megnéztem, hogy milyen ez az izé. Bárki regisztrálhat, pár nap alatt kapja meg a kódot, amivel aktiválható egy account.

A nyitókép cuki:
azure1
Bátran publikálom a véletlengenerált hostnevét a szerveremnek négy ok miatt:

  1. Aki megtöri a jelszót, annak veszek egy tábla csokit, bármilyet. Ő előbb vegyen egy négymagos pockot és egy év gépidőt.
  2. IP filtering van, csak a megadott IP-kről lehet kapcsolódni. Az első kapcsolódási kísérletnél rájöttem, hogy mi az a Firewall Settings fül ott az adminfelületen…
  3. Ez egy játszótér, nincsen benne semmi érték.
  4. Ezzel még pont nem sértem meg a Terms Of Use-t, mert a userID ÉS password nem adható át harmadik félnek (akik ti vagytok mind).

Ami elsősorban érdekelt, az az engine, azaz milyen SQL-en fut ez. A válasz csodálatosan egyszerű: SQL Azure. Tényleg. Számokkal kifejezve 10.25, azaz úgy is monhatnánk, ez egy SQL 2008 R1.5, hiszen a SQL 2008 a 10.0, a SQL 2008 R2 pedig a 10.50. A @@version ezt mondja:

Microsoft SQL Azure (RTM) - 10.25.9085.0   Nov 18 2009 20:22:01   Copyright (c) 1988-2009 Microsoft Corporation 

Tehát most már három 2008 jellegű SQL-t futtat egyszerre a Microsoft, biztos imádják a fejlesztőik :) Ah, hogy honnan tudom? Lehet hozzá kapcsolódni Management Studióval. Mármint a 10.50-essel, azaz az R2-vel, mert ugye a 2008-asnak még nincs fogalma róla. Az Object Explorer legalábbis nem megy vele, query window van azért. R2-vel van Object Browser is, egész használható, de meglepetések azért vannak itt is. Próbáltam új táblát csinálni, kíváncsi voltam, hogy kezeli a varázsló az Azúrt. Elég egyszerűen: nyitott egy új kveriablakot ezzel:

-- =========================================
-- Create table template SQL Azure Database 
-- =========================================

IF OBJECT_ID('<schema_name , sysname, dbo>.<table_name , sysname, sample_table>', 'U') IS NOT NULL
  DROP TABLE <schema_name , sysname, dbo>.<table_name , sysname, sample_table>
GO

CREATE TABLE <schema_name , sysname, dbo>.<table_name , sysname, sample_table>
(
	<columns_in_primary_key , , c1> <column1_datatype , , int> <column1_nullability ,, NOT NULL>, 
	<column2_name , sysname, c2> <column2_datatype , , char(10)> <column2_nullability ,, NULL>, 
	<column3_name , sysname, c3> <column3_datatype , , datetime> <column3_nullability ,, NULL>, 
    CONSTRAINT <contraint_name , sysname, PK_sample_table> PRIMARY KEY (<columns_in_primary_key , , c1>)
)
GO

Vagyis csináld magad. Ez eléggé egyszerű kezelése a problémának. Nem baj, általában úgyis T-SQL-ből csinálom az objektumaimat, mivel fenntartásaim vannak a varázslókkal. Csináltam is egy táblát, bele akartam szúrni egyet.

create table dbo.MyTest 
	(a int identity(1,1),
	b char(50) null,
	c datetime2 null)

GO

insert into dbo.MyTest values('hellohellohello', sysdatetime())

Erre azt mondja a kék SQL, hogy

Msg 40054, Level 16, State 1, Line 1
Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again.

Kell bele clustered index. Ezt nem indokolja az MSDN-es kis helpje, de legalább közli (van egy gyanúm, hogy még az előző verzió helpje van fent egyébként, mert nekem működik az OE, a doksi szerint meg nem működik – vagy csak az R2 új CTP-je lett kikupálva). Feltételezem a felhő miatt kell, mert azt használja valami rejtelmes módon a replikációjához ott belül a kis lelkében, hogy az N darab gépen ugyanaz az adat legyen elérhető. (Szóval akkor lehet ultra RAC-ot építeni MSSQL-ből? :P)

Egyébként nem számítva ezeket az apróságokat, teljesen jól működik, lehet security-t menedzselni, használni, sajnos a magamfajta geek nagy bánatára a belső eléggé el van rejtve, pedig nagyon kíváncsi lennék pár dologra. Még kb. másfél hónapig tart az ingyenes tesztidőszak, addig próbáljátok ki! Ha véletlen találok még valami érdekeset, majd megírom. Szeretném leszögezni: a modell üzleti életképességét nem kívánom megítélni, felmérni, értékelni, én a technológiáért lihegek itt.

Leave a comment