Microsoft SQL Server

**Microsoft SQL Server**, ռելացիոն տվյալների բազաների կառավարման համակարգ (DBMS)` մշակված Microsoft կորպորացիայի կողմից։ Հարցումների օգտագործվող հիմնական լեզուն Transact-SQL է, որը ստեղծվել է համատեղ` Microsoft-ի և Sybase-ի կողմից։ Transact-SQL-ը հանդիսանում է ANSI/ISO ստանդարտի իրագործումը՝ ըստ հարցումների ենթակառուցվածքային լեզվի (SQL) ընդլայնումների։ Օգտագործվում է անհատականից մինչև հսկա կազմակերպությունների տվյալների բազաների հետ աշխատանքների համար, այն մրցակցում է շուկայի տվյալ սեգմենտում այլ ռելացիոն տվյալների բազաների կառավարման համակարգերի հետ։

## Պատմություն
MS SQL Server-ի ելակետային կոդը (մինչ 7.0 տարբերակը) հիմնվում էր Sybase SQL Server կոդի վրա, և դա թույլ տվեց Microsoft-ին՝ դուրս գալ կազմակերպությունների տվյալների բազայի շուկա, որտեղ այդ ժամանակ մրցակցում էին Oracle, IBM, իսկ ավելի ուշ ինքը՝ Sybase-ը։ Microsoft-ը, Sybase-ը և Ashton-Tate-ը ի սկզբանե միավորվեցին՝ մի ծրագրի ստեղծման և շուկա բացթողնման համար, որը ստացավ SQL Server 1.0 OS/2 -ի համար անվանումը (1989 թ.), որը փաստացի համարժեքն էր Sybase SQL Server 3.0 Unix, VMS-ի և այլնի համար։ Microsoft SQL Server 4.2-ը թողարկվել է 1992 թվականին և գտնվում էր Microsoft OS/2 1.3 տարբերակի օպերացիոն համակարգի կազմում։ Microsoft SQL Server Windows NT օպերացիոն համակարգի համար 4.21 տարբերակի պաշտոնական հրապարակումը տեղի ունեցավ հենց Windows NT-ի (տարբերակ 3.1) պաշտոնական հրապարակման (հանրայնացման) հետ միաժամանակ։

Microsoft SQL Server 6.0-ը առաջին SQL Server-ի տարբերակն էր, որը ստեղծված էր բացառապես Windows NT-ի ճարտարապետության համար և առանց մշակման գործընթացում Sybase-ի մասնակցության։

Այն ժամանակ, երբ շուկա դուրս եկավ Windows NT օպերացիոն համակարգը, Sybase-ն ու Microsoft-ը բաժանվեցել էին և հետևում էին ծրագրային արտադրանքի սեփական մոդելներին և մարքեթինգային սխեմաներին։ Microsoft-ը ձգտում էր Windows-ի համար SQL Server-ների բոլոր տարբերակների գծով բացառիկ իրավունքի ձեռքբերմանը։ Ավելի ուշ, Sybase-ը փոխեց իր արտադրանքի անվանումը և անվանեց այն Adaptive Server Enterprise, խուսափելու համար Microsoft SQL Server-ի հետ շփոթելի լինելուց։ Մինչև 1994 թվականը Microsoft-ն արդեն ստացել էր երեք ծանուցում Sybase-ից՝ որպես ակնարկ Microsoft SQL Server-ի ծագման մասին։

Բաժանվելուց հետո ընկերությունները թողարկեցին մի քանի ինքնուրույն ծրագրեր։ SQL Server 7.0-ը դարձավ տվյալների բազայի առաջին սերվերը, որն օժտված էր օգտագործողի համար կառավարման իսկական գրաֆիկական ինտերֆեյսով։ Sybase-ի կողմից հեղինակային իրավունքի պահանջներից խուսափելու նպատակով 7-րդ տարբերակի ողջ ժառանգվող կոդը վերագրվեց։
SQL Server 2005 տարբերակը ներկայացվել է 2005 թվականի նոյեմբերին։ Տարբերակի թողարկումն իրականացվում էր Visual Studio 2005-ի թողարկման հետ զուգահեռ։ Գոյություն ունի նաև Microsoft SQL Server-ի կրճատված տարբերակը՝ Microsoft SQL Server Express։ Այն հասանելի է բեռնման համար և կարող է անվճար տարածվել այն օգտագործող ծրագրային ապահովման հետ մեկտեղ։

SQL Server (SQL Server 2000)-ի նախորդ տարբերակի թողարկման պահից իրականացվում էին աշխատանքներ՝ մշակման ինտեգրացված ոլորտի և SQL Server 2005-ի կազմ մտնող մի շարք լրացուցիչ ենթահամակարգերի զարգացման ուղղությամբ։ Փոփոխություններից անմասն չմնացին նաև ETL (Տվյալների դուրսբերում, ձևափոխում և բեռնում) տեխնոլոգիայի իրացումը, որը մտնում էր SQL Server Integration Services (SSIS)-ի կազմի մեջ, ծանուցման սերվերը, տվյալների բազմաչափ մոդելների մշակման վերլուծական միջոցները (OLAP)-ը և անհրաժեշտ տեղեկատվության հավաքագրումը (երկու ծառայություններն էլ մտնում են Microsoft Analysis Services կազմի մեջ), ինչպես նաև մի քանի հաղորդագրության ծառայություններ, մասնավորապես՝ Service Broker և Notification Services։

Բացի այդ կատարվում էին աշխատանքներ նաև արտադրողականության բարելավման ուղղությամբ։

## Ֆունկցիոնալություն
Տվյալների բազաների սերվերը Microsoft SQL Server որպես լեզվի հարցումներ օգտագործում է SQL լեզվի տարբերակը, որը ստացել է Transact-SQL (կրճատ T-SQL)։ T-SQL լեզուն SQL-92-ի (ISO ստանդարտ SQL լեզվի համար) իրականացումն է մի քանի ընդլայնումներով։ Պահվող պրոցեդուրաների համար T-SQL-ը թույլ է տալիս օգտագործել լրացուցիչ սինտաքսիս և ապահովում է գործարքի աջակցություն (կառավարման ծրագրով տվյալների բազաների փոխգործակցում)։

Microsoft SQL Server և Sybase ASE ցանցերի փոխգործակցության ժամանակ օգտագործվում է Tabular Data Stream (TDS, աղյուսակային տվյալների փոխանցման արձանագրություն) ծրագրային մակարդակի արձանագրություն։

TDS արձանագրությունը նույնպես իրականացվել է FreeTDS նախագծում, որպեսզի տարբեր ծրագրերին տալ հնարավորություն փոխգործակցել Microsoft SQL Server և Sybase տվյալների բազաների հետ։

Տվյալներին մուտք ապահովելու համար Microsoft SQL Server-ը ապահովում է Open Database Connectivity (ODBC) – ծրագրերի փոխգործակվման ինտերֆեյս ՌՏԲԿՀ-ի հետ (Ռելացիոն տվյալների բազաների կառավարման համակարգ)։

SQL Server 2005 տարբերակը ապահովում է օգտագործողների վեբ-ծառայությունների միջոցով միացում՝ օգտագործելով SOAP արձանագրություն։ Այն թույլ է տալիս օգտագործողների ծրագրերին քրոսհարթակային կապով միանալ SQL Server-ին, նույնիսկ եթե ծրագրերը նախատեսված չեն Windows օպերացիոն համակարգի վրա։ Microsoft նույնպես թողարկել է հավաստագրված JDBC դրայվեր, որը թույլ է տալիս JAVA պլատֆորմի վրա աշխատող ծրագրերին (ինչպիսիք BEA и IBM WebSphere) կապվել Microsoft SQL Server-ին։

SQL Server-ը ապահովում է տվյալների բազաների հայլեացում և կլաստերզացիա։ SQL սերվերի կլաստերը նույն կոնֆիգուրացիա ունեցող սերվերների հավաքածու է. այդպիսի սխեման օգնում է աշխատանքի ծանրաբեռնվածությունը բաշխել մի քանի սերվերների միջև։ Բոլոր սերվերները ունեն միևնույն վիրտուալ անունը և տվյալները բաշխվում են կլաստերի IP հասցեների օգնությամբ, աշխատանքի փուլի ընթացքում։ Բացի այդ, մի սերվերի կլաստերի խափանման կամ անսարքության դեպքում հնարավոր է ծանրաբեռնման ավտոմատ փոխանցում ուրիշ սերվերին։

SQL սերվերը ապահովում է հավելյալ տվյալների կրկնապատկումը 3 սցենարներով.

* Նկար. Ստեղծվում է տվյալների բազաների «նկարը», որը սերվերը ուղարկում է ստացողներին
* Փոփոխումների պատմություն. Տվյալների բազաների բոլոր փոփոխությունները անընդհատ փոխանցվում են օգտագործողներին
* Ուրիշ սերվերների հետ համաժամացում(սինխրոնիզացիա). Մի քանի սերվերների տվյալների բազաները համաժամացվում են միմյանց միջև։ Բոլոր տվյալների բազաների փոփոխությունները յուրաքանչյուր սերվերում կատարվում են միմյանցից անկախ, իսկ համաժամացման ժամանակ բոլոր տվյալները համեմատվում են։ Այդպիսի կրկնապատկման տեսակը ապահովում է տվյալների բազաների միջև տարաձայնությունների լուծման հնարավորությունը։

SQL Server 2005-ում ներդրված է .NET Framework-ի ապահովում։ Դրա շնորհիվ տվյալների բազաների պահպանելի պրոցեդուրաները կարող են գրվել .NET պլատֆորմի ցանկացած լեզվով՝ օգտագործելով գրադարանների ամբողջ հավաքածուն, որը առկա է .NET Framework-ի համար, գումարած Common Type System-ը (Microsoft .NET Framework-ում տվյալների տեսակների դիմելու համակարգ)։ Սակայն, ուրիշ պրոցեսների հետ համեմատած, .NET Framework-ը, լինելով բազիսային համակարգ SQL Server 2005-ի համար, հատկացնում է հավելյալ հիշողություն և օգտագործում է SQL Server-ի կառավարման միջոցները, Windows-ի միջոցները օգտագործելու փոխարեն։ Դա բարձրացնում արտադրողականությունը՝ համեմատած Windows-ի ընդհանուր ալգորիթմների հետ, քանի որ ռեսուրսների բաշխման ալգորիթմները հատուկ կարգավորված են SQL Server-ի կառուցվածքներում օգտագործվելու համար։

### Ծրագրերի մշակում
Microsoft-ը և մյուս ընկերությունները ստեղծում են մեծ քանակությամբ մշակման միջոցներ, որը թույլ է տալիս, օգտվելով Microsoft SQL Server-ի տվյալների բազաներից, ստեղծել բիզնես-ծրագրեր։ Microsoft SQL Server 2005-ը նույնպես ներառում է Common Language Runtime (CLR) Microsoft .NET, որը թույլ է տալիս իրականացնել պահպանվող պրոցեդուրաներ և տարբեր ծրագրային ֆունկցիաներ՝ ստեղծված .NET (օրինակ, VB.NET կամ C#) լեզուների պլատֆորմի վրա։ Microsoft-ի նախորդ ստեղծված միջոցների տարբերակները օգտագործել են միայն API, որպեսզի ստանան Microsoft SQL Server-ին ֆունկցիոնալ մուտք։

## SQL Server Express Edition
Microsoft SQL Server Express-ը SQL Server տարբերակի անվճար տարածվող տեսակն է, MSDE համակարգի զարգացմամբ։ Տվյալ տարբերակը ունի տեխնիկական որոշ սահմանափակումներ։ Այդպիսի սահմանափակումները դարձնում են նրան մեծ տվյալներ բազաների ստեղծման համար ոչ պիտանի, բայց այն միանգամայն պիտանի է փոքր ընկերությունների սահմաններում ծրագրային կոմպլեքսների ներմուծման համար։ Լիարժեք ապահովում է տվյալների նոր տիպերի օգտագործումը, այդ թվում XML-հատկորոշումներ (սպեցիֆիկացիա)։ Փաստորեն, այն լիարժեք MS SQL Server է, որը ներառում է իր ծրագրավորման բոլոր բաղադրիչները, ապահովում է ազգային և Յունիկոդ այբուբեններ։ Այդ պատճառով օգտագործվում է ծրագրերում, նախագծման կամ ինքնուրույն հետազոտման համար։ Չկա ոչ մի խոչընդոտ՝ հետագայում կուտակած MS SQL Server ոչ էքսպրես տարբերակի տվյալների բազաների տեղակայման համար։ 2007 թ. Microsoft-ը թողարկեց գրաֆիկական ինտերֆեյսով առանձին գործիք այդ տարբերակի կառավարման համար, որը նույնպես կարելի է անվճար բեռնել ընկերության պաշտոնական կայքից։

## Սահմանափակումներ
* 1 պրոցեսոր(այն կարող է տեղադրված լինել ցանկացած սերվերում)
* 1 գբ հասցեային հիշողություն
* 4 գբ բազայի առավելագույն չափս (10 գբ SQL Server 2008 R2-ի համար)
* SQL Server Management Studio 2005-ի ինտերֆեյսից անհնար է տվյալների մուտքագրում/արտածում (2008 տարբերակի մեջ այդ հնարավորությունը կա)

## Windows-ի համար նախատեսված տարբերակներ
* 1992 - SQL Server 4.2
* 1993 - SQL Server 4.21 Windows NT-ի համար
* 1995 - SQL Server 6.0, SQL95 կոդային անունով
* 1996 - SQL Server 6.5, Hydra կոդային անունով
* 1998 - SQL Server 7.0, к Sphinx կոդային անունով
* 1999 - SQL Server 7.0 OLAP, Plato կոդային անունով
* 2000 - SQL Server 2000 32-bit, Shiloh (տարբերակ 8.0) կոդային անունով
* 2003 - SQL Server 2000 64-bit, Liberty կոդային անունով
* 2005 - SQL Server 2005, Yukon (տարբերակ 9.0) կոդային անունով
* 2008 - SQL Server 2008, Katmai (տարբերակ 10.0) կոդային անունով
* 2010 - SQL Server 2008 R2, (տարբերակ 10.5)

### SQL Server 2000
* Enterprise Edition
* Standard Edition
* Personal Edition
* Developer Edition
* Desktop Engine
* Windows CE Edition

### SQL Server 2005
* Enterprise Edition
* Standard Edition
* Workgroup Edition
* Developer Edition
* Express Edition
* SQL Server Express with Tools
* SQL Server Express with Advanced Services
* Mobile Edition
* Compact Edition

### SQL Server 2008
SQL Server վերջին տարբերակը SQL Server 2008 R2 թողարկվեց 2010 թ ապրիլի 21-ին
Տարբերակներ՝
* Express Edition (անվճար)
* Web Edition
* Workgroup Edition
* Standard Edition
* Developer Edition (ֆուկցիոնալությամբ համընկնում է Enterprise Edition-ի հետ, բայց լիցենզիան նորառում է որոշ օգտագործման սահմանափակում)
* Enterprise Edition
* Compact Edition
Երկրորդ տարբերակի (R2) համար նույնպես հասանելի են ֆունկցիոնալության հետևյալ ընդլայնումները (համեմատած Enterprise-ի հետ)` 
* Datacenter
* Parallel Data Warehouse

SQL Server 2008-ը ուղղված է տվյալների ղեկավարումը ինքնակարգավորվող, ինքնակառավարվող և ինքնասպասարկող մեխանիզմ դարձնելուն. այդպիսի հնարավորությունների իրականացման համար ստեղծվել են SQL Server Always On տեխնոլոգիաները։ Այն հնարավորություն է ընձեռում զրոյացնել սերվերի չաշխատելու վիճակի ժամանակը։

SQL Server 2008-ում ավելացվել է կառուցվածքային և կիսակառուցվածքային տվյալների ապահովումը, ներառելով` նկարների, ձայնային, վիդեո և այլ թվային մուլտիմեդիա տիպի ֆորմատներ։ Մուլտիմեդիա-ֆորմատների ապահովումը բազաներում թույլ տվեց հատուկ ֆունկցիաների փոխգործակցել այդ տիպի տվյալների հետ։

Բացի այդ, ներառվեցին նաև հատուկ ֆորմատներ՝ ամսաթիվ և ժամանակ և տարածային (անգլ. Spatial) տիպ հատուկ տարածակախյալ տիպի տվյալների համար։ Ոչ կառուցվածքային տվյալների համար ստեղծվեց հատուկ տիպ. օրինակ՝ Պատկեր։

SQL Server-ում կառավարման էֆեկտիվությունը բարձրացնելու համար ներառվեցին Declarative Management Framework գրադարանները, որի շնորհիվ հնարավոր է բաշխել լիազորություններ տվյալների բազաների կամ առանձին աղյուսակների համար։ Նորացվել են տվյալների խտացման եղանակները։ . SQL Server Katmai-ն ապահովում է ADO.NET Entity Framework գրադարանների հավաքածուն և կրկնման ծանուցումների միջոցներ ու տվյալների տիպի որոշում։

## Ծանոթագրություններ

## Արտաքին հղումներ

* 

Կատեգորիա:Մայքրոսոֆթ
Կատեգորիա:Տվյալների հենքի կառավարման համակարգեր