Microsoft SQL Server este un sistem de gestionare a bazelor de date relaționale (RDBMS) dezvoltat de Microsoft Corporation . Principalul limbaj de interogare folosit este Transact-SQL , creat împreună de Microsoft și Sybase . Transact-SQL este o implementare a standardului ANSI / ISO pentru limbajul de interogare structurat ( SQL ) cu extensii. Folosit pentru a lucra cu baze de date cu dimensiuni variate, de la baze de date personale până la baze de date mari la scară întreprindere; concurează cu alte SGBD din acest segment de piață.
Versiune | An | Nume | nume de cod |
---|---|---|---|
1.0 ( OS/2 ) | 1989 | SQL Server 1.0 (16 biți) | Filipi |
1.1 ( OS/2 ) | 1991 | SQL Server 1.1 (16 biți) | Pietro |
4.21 ( WinNT ) | 1993 | SQL Server 4.21 | SQLNT |
6.0 | 1995 | SQL Server 6.0 | SQL95 |
6.5 | 1996 | SQL Server 6.5 | Hidra |
7.0 | 1998 | SQL Server 7.0 | Sfinx |
- | 1999 | Instrumente OLAP SQL Server 7.0 | Palato mania |
8.0 | 2000 | SQL Server 2000 | Shiloh |
8.0 | 2003 | SQL Server 2000 pe 64 de biți | libertate |
9,0 | 2005 | SQL Server 2005 | Yukon |
10.0 | 2008 | SQL Server 2008 | Katmai |
10.25 | 2010 | Azure SQL DB | Cloud Database sau CloudDB |
10.50 | 2010 | SQL Server 2008 R2 | Kilimanjaro (alias KJ) |
11.0 | 2012 | SQL Server 2012 | Denali |
12.0 | 2014 | SQL Server OLTP în memorie | Hekaton |
13.0 | 2016 | SQL Server 2016 | |
14.0 | 2017 | SQL Server 2017 | |
15.0 | 2019 | SQL Server 2019 |
Dezvoltarea tehnologiilor client-server în a doua jumătate a anilor '80 s-a datorat dezvoltării a două domenii cheie care au fost dezvoltate activ de la sfârșitul anilor '70: computerele personale, pe de o parte, și rețelele de calculatoare, pe de altă parte. Multă vreme, DBMS-urile au fost disponibile numai pentru mainframe și numai datorită creșterii performanței procesoarelor pentru computerele de acasă și minicalculatoarele, dezvoltatorii DBMS (cum ar fi Oracle ) au început să creeze versiuni corespunzătoare ale produselor lor. Unul dintre primele RDBMS pentru computere a fost Oracle v3 , lansat în 1983. La acea vreme, câțiva proprietari de PC-uri le foloseau în principal pentru dezvoltarea și testarea aplicațiilor [1] .
Una dintre etapele cheie în dezvoltarea DBMS a fost 1986. Până atunci, mai apăreau mai multe companii de dezvoltare DBMS, una dintre cele mai notabile dintre ele a fost Sybase , fondată cu doi ani mai devreme. Până în 1986, Sybase a început să combine stații de lucru inteligente (de obicei proiectate de Sun Microsystems sau Apollo Computer ) cu servere de baze de date (proiectate, de exemplu, de Oracle). În același timp, tehnologia client-server în sine a făcut posibilă separarea modulelor de procesare a informațiilor (așa-numitele back end) de modulele de interfață (așa-numitele front-end). Având în vedere creșterea constantă a pătrunderii rețelelor de calculatoare, furnizorii de soluții au trecut la sarcina de a distribui alte sarcini (de exemplu, formatarea rapoartelor, verificarea datelor etc.) între stațiile de lucru din rețea, lăsând serverul să efectueze doar sarcini care necesită o centralizare centralizată. soluție (stocarea și protecția datelor, fluxul de execuție a interogărilor de optimizare etc.) [1] .
Dezvoltatorii DBMS înșiși au jucat un rol semnificativ în tranziția de la bazele de date ierarhice la cele relaționale. Deci, până în acest moment, IBM își transfera deja treptat clienții de la SGBD-uri ierarhice (cum ar fi, de exemplu, IMS ) la DB2 și SQL / DS RDBMS . Noul DBMS, deși inferior ca viteză față de IMS, l-a depășit prin ușurința de programare și întreținere. Livrările DB2 au depășit rapid așteptările, captând o cotă de piață semnificativă în primul său an de vânzări. În septembrie 1986, Gupta Technologies a introdus dezvoltarea sa SQL Base, care conținea conceptul de server de baze de date pentru PC-uri în rețea. Gupta a fost, de asemenea, unul dintre primii care a implementat acces transparent la mainframe-urile IBM care rulează DB2 pe acestea, oferind acces direct la datele stocate acolo fără a fi nevoie să descărcați fișiere sau tabele pe stația de lucru a utilizatorului [1] .
Până la sfârșitul anului 1986, utilizarea limbajului SQL ca limbaj principal pentru lucrul cu date într-un SGBD devenise aproape universală. IBM, Oracle, Sybase și Gupta au folosit o sintaxă SQL similară pentru a trimite mesaje de la front end la back end al SGBD, permițând o combinație de părți client și server de la diferiți furnizori. În același an, Institutul Național American de Standarde a aprobat o versiune a limbajului SQL ca standard internațional pentru prelucrarea datelor, ceea ce a amenințat bunăstarea DBMS care nu suporta limbajul SQL. Deci, de exemplu, compania Cullinet , deși a anunțat suport pentru limbajul SQL în DBMS-ul său pentru minicalculatoare, și-a pierdut cota de piață DBMS din cauza întârzierii implementării sale, cedând IBM și produsul său DB2 [1] .
Până în acest moment, toate dezvoltările Microsoft s-au concentrat exclusiv pe computerele de acasă, iar produsul său cel mai profitabil a fost sistemul de operare MS-DOS . Prelucrarea datelor client-server pe computere personale până în 1986 a câștigat popularitate abia în 1986 și, din acest motiv, nu era intereselor companiei . Cu un an mai devreme, în iunie 1985, IBM și Microsoft au semnat un acord de dezvoltare comună ( eng. Joint Development Agreement , prescurtare JDA), care conține doar prevederi generale pentru cooperarea viitoare. În august 1985, JDA a fost completată de un document cu numele de cod „Faza II” ( ing. Faza II ), care conținea planuri pentru dezvoltarea OS/2 . La acea vreme, produsul era listat ca CP/DOS ( Eng. Control Program/DOS în conformitate cu politica IBM de denumire a produselor mainframe, în timp ce Microsoft lista produsul ca DOS 5. La sfârșitul anului 1986 și începutul lui 1987, proiectul a fost redenumit oficial OS /2 pentru a face numele similar cu linia de calculatoare IBM PS/2 [2] .
Pe 2 aprilie 1987 a fost anunțat OS/2 (versiunea 1.0, conform unui comunicat de presă, trebuia să fie lansată în primul trimestru al anului 1988, dar a fost lansată în cele din urmă în decembrie 1987) [2] . Conform planurilor anunțate în aprilie 1987, IBM plănuia să adauge funcționalitatea DBMS la OS/2 și folosind conceptul dezvoltat de Gupta Technologies, care consta în trimiterea de interogări SQL către o gazdă prin routere de rețea de către un computer personal și returnarea numai a rezultatelor execuție ca cerere de răspuns. În timp ce furnizorii de sisteme de operare au încorporat unele funcționalități DBMS în produsele lor de câțiva ani, ideea IBM de a implementa un DBMS cu drepturi depline încorporat în sistemul de operare i-a determinat pe mulți manageri să-și regândească viziunea asupra PC-ului ca platformă potrivită pentru implementarea multiplă. -aplicațiile utilizator și conceptul de client.-tehnologia serverului [1] .
La scurt timp după anunț, IBM a anunțat și o versiune specială, îmbunătățită a acestui OS - OS / 2 Extended Edition. Această versiune urma să fie inclusă cu OS/2 Database Manager și alte câteva soluții de rețea și server. Deși Managerul bazei de date era mai orientat spre mainframe decât pe computer personal, IBM putea totuși să ofere cumpărătorilor un produs mai bun decât concurenții, pe baza dezvoltării lor comune. Necesitatea unor dezvoltări interne în domeniul managementului bazelor de date a devenit evidentă și foarte relevantă pentru Microsoft.
Pentru a rezolva această problemă, Microsoft a apelat la Sybase , care la acel moment nu a lansat încă o versiune comercială a produsului său DataServer (acest lucru s-a întâmplat puțin mai târziu, în mai 1987, și numai pentru stațiile de lucru Sun care rulau UNIX ). Motivul contestației a fost că versiunea pre-lansare a DataServer, deși nu era un produs conceput pentru utilizare pe scară largă, cu toate acestea, datorită implementării de noi idei (arhitectura client-server, în special), noul SGBD a primit foarte mult recenzii bune. Ca urmare a unui astfel de acord, Microsoft ar primi drepturi exclusive asupra versiunii DataServer pentru OS/2 și a tuturor sistemelor de operare dezvoltate de Microsoft însăși, iar Sybase, pe lângă redevențele de la Microsoft, ar avea acces la o parte a pieței ocupate. de produsele Microsoft (inclusiv noul OS / 2) . Întrucât performanța PC-urilor de acasă este scăzută, Sybase a considerat acest segment de piață drept bază pentru vânzările ulterioare ale produsului său pentru sisteme bazate pe UNIX de performanță mai ridicată, mai ales că Microsoft, datorită rețelei sale de distribuție bine stabilite, ar putea oferi vânzări semnificativ mai mari de DataServer decât Sybase însuși. La 27 martie 1987, președintele Microsoft John Shirley și co-fondatorul Sybase Mark Hofmann (care era și președintele companiei la acea vreme) au semnat un acord.
La acea vreme, cea mai mare parte a pieței DBMS pentru PC era ocupată de Ashton-Tate cu dBASE . Deoarece DataServer avea capabilități ușor diferite față de dBASE, aceste produse nu au fost considerate potențiali concurenți. Acest lucru a permis Microsoft să încheie o înțelegere cu Ashton-Tate pentru a promova DataServer în comunitatea sa de utilizatori dBASE.
La 13 ianuarie 1988, a avut loc o conferință de presă în New York City în care a anunțat alianța dintre Ashton-Tate și Microsoft pentru a dezvolta un nou produs numit Ashton-Tate/Microsoft SQL Server. În aceeași zi, a fost emis un comunicat de presă comun care anunța un nou produs bazat pe dezvoltările Sybase. Data de lansare preliminară a produsului a fost a doua jumătate a anului 1988 [3] . În ceea ce privește rolurile companiilor în dezvoltarea și promovarea produselor, potrivit unui comunicat de presă, Ashton-Tate urma să fie responsabilă de supravegherea dezvoltării bazei de date (precum și de asigurarea dezvoltării interne în acest domeniu), în timp ce Microsoft avea un rol similar în tehnologie pentru lucrul în rețele locale. După lansarea SQL Server, Ashton-Tate urma să licențieze produsul de la Microsoft și să vândă cu amănuntul în întreaga lume (atât ca produs de sine stătător, cât și împreună cu versiunile viitoare de dBASE), iar Microsoft va furniza produsul producătorilor OEM de hardware. [4] .
SQL Server a fost deja poziționat imediat ca un SGBD relațional cu suport pentru limbajul SQL și capacitatea de a lucra într-o rețea locală. În plus, SQL Server a fost anunțat a fi compatibil cu dBASE sau cu orice alt software de stație de lucru. S-a pus mare accent pe arhitectura client-server a produsului, datorită căreia funcțiile aplicației client ( ing. front-end ), în care utilizatorii vor vedea datele de care au nevoie, și partea server ( ing. back- ). end ) în care vor fi stocate aceste date. Ashton-Tate și Microsoft au anunțat, de asemenea, „trei inovații majore în tehnologia bazelor de date relaționale”: suport pentru procedurile stocate compilate de SQL Server, care va „accelera în mod semnificativ” recuperarea datelor și va menține integritatea datelor atunci când lucrați într-un mediu multi-utilizator. A doua inovație a fost disponibilitatea constantă a nucleului (fără a întrerupe acțiunile utilizatorului) pentru sarcini administrative, cum ar fi crearea de copii de rezervă ale datelor (backup) și restaurarea acestora. A treia inovație a fost suportul tehnologiei care acționează ca o punte între sistemele de procesare a tranzacțiilor online și bazele de date de pe un computer. SQL Serverul însuși trebuia să se bazeze pe o arhitectură „platformă deschisă”, care ar permite dezvoltatorilor de software terți să creeze aplicații care utilizează capabilitățile de rețea și multi-utilizator ale SQL Server. În același timp, Bill Gates , care la acea vreme era președintele consiliului de administrație al Microsoft, a numit rețeaua „cea mai importantă platformă de calcul pentru aplicații noi și inovatoare”. SQL Server a trebuit să ruleze pe orice server de rețea bazat pe OS / 2, inclusiv Microsoft OS / 2 LAN Manaqer și IBM LAN Server și a trebuit să interacționeze cu stațiile de lucru care rulează OS / 2, PC-DOS sau MS-DOS [4] .
Ashton-Tate a văzut SQL Server ca o oportunitate de a prelua piața bazelor de date pentru computere de acasă fără a abandona dezvoltarea dBASE. În același timp, ambele produse urmau să fie oferite clienților corporativi. Microsoft a contat pe promovarea SQL Server ca bază pentru sisteme orientate către tranzacții, inclusiv diverse sisteme de contabilitate, biblioteci de documente, sisteme de management al cercetării și altele. Pentru a promova noul produs, ambele companii au programat o serie de seminarii și conferințe diferite, dintre care prima a fost Conferința Microsoft Advanced Network Development programată în perioada 30 martie-1 aprilie la San Francisco și 13-15 aprilie la New York [4] .
Sybase, în ciuda faptului că numele său nu a apărut în numele noului produs, a fost de fapt principalul dezvoltator al întregii trinități de companii. Contribuția Microsoft, pe de altă parte, a fost destul de mică. O echipă mică a fost deja formată la Sybase pentru a porta motorul DataServer la OS/2, precum și a porta interfața client DB-Library la MS-DOS și OS/2. Microsoft a fost responsabil pentru testare și managementul proiectelor și, de asemenea, a dezvoltat câteva utilitare suplimentare care au facilitat instalarea și administrarea SQL Server 1.0.
Noul produs a fost conceput ca un port al Sybase DataServer către OS/2, pentru a fi comercializat atât de Microsoft, cât și de Ashton-Tate. În paralel, noua versiune a dBASE IV a lui Ashton-Tate urma să fie disponibilă și într-o versiune pe partea serverului, permițând limbajului dBASE IV și instrumentelor de dezvoltare să fie folosite pentru a crea aplicații client care ar putea funcționa cu noul SQL Server. Noul model client-server trebuia să permită dBASE să atingă un nou nivel de performanță, oferind posibilitatea de a lucra cu date unui număr mult mai mare de utilizatori decât ar putea permite modelul comun de partajare a fișierelor la acel moment .
Ashton-Tate/Microsoft SQL Server Beta a fost lansat pe 31 octombrie 1988 ca parte a Kit-ului pentru dezvoltatori de rețea SQL Server (abreviat MDK). Acest set conținea o versiune pre-lansare a SQL Server, documentație, biblioteci API pentru SQL Server și Microsoft OS/2 LAN Manager . Bibliotecile software au fost concepute pentru a compila ( folosind propriul compilator C al Microsoft ) aplicații MS-DOS , Windows sau OS/2 pentru a rula SQL Server într-o rețea locală. Kit-ul a fost vândut exclusiv pentru dezvoltarea de software, dar a venit cu un cupon special care permitea clienților să facă upgrade la o versiune completă a SQL Server după ce a fost lansat [5] .
MDK a fost vândut direct de Ashton-Tate în SUA și Canada (și de Microsoft în SUA) la un preț redus. Microsoft oferea, de asemenea, o reducere substanțială dezvoltatorilor care achiziționaseră deja kitul pentru dezvoltatori de software Microsoft OS/2 sau care participaseră la una dintre conferințele Microsoft Advanced Network Development. La rândul său, Ashton-Tate a oferit și o reducere similară dezvoltatorilor care au participat la Conferința pentru dezvoltatori Ashton-Tate din 1988 [5] .
MDK a avut o mulțime de erori și deficiențe, cu toate acestea a funcționat pe computerele de acasă (cu un procesor, de exemplu, un Intel 80286 cu o frecvență de 10 MHz, 6 MB de RAM și un hard disk de 50 MB ).
Pe 29 aprilie 1989, a început vânzarea oficială a Ashton-Tate/Microsoft SQL Server 1.0. Membrii echipei SQL Server au purtat tricouri pe care scria „Ashton-Tate SQL Server: On-Time and Proud of It” .Torrancela un eveniment special de certificare a echipei organizat în ) [3] .
Testele revistei Infoworld au arătat că Ashton-Tate/Microsoft SQL Server 1.0, chiar și atunci când rulează într-o rețea cu 24 de stații de lucru, a făcut față sarcinii mai rapid decât o bază de date obișnuită cu mai mulți utilizatori (cel mai comun tip de bază de date la acel moment) și când folosind procedurile stocate a fost posibil să se obțină o viteză de răspuns mai mică de două secunde. Jurnaliștii au remarcat, de asemenea, ușurința și comoditatea scrierii codului de testare .
Presa de profil a vorbit destul de pozitiv despre noul produs, însă vânzările au fost foarte scăzute. Vânzările OS/2 au fost, de asemenea, dezamăgitoare, deoarece mulți utilizatori nu au fost dispuși să migreze de la MS-DOS la OS/2. Completarea imaginii a fost capacitatea de a construi aplicații SQL Server numai în C, deoarece dBASE IV Server Edition promisă de Ashton-Tate a fost amânată, iar situația a fost similară cu instrumentele SQL Server terțe. . În plus, concurența a jucat și ea un rol: XDB de la XDB, SQLBase de la Gupta Technologies și OS/2 Extended Edition (în modul single-user) de la IBM existau deja pe piața DBMS pentru platformele PC până la acel moment [3] .
Până în 1990 situația nu s-a îmbunătățit. Planurile de co-promovare a produsului, care ar fi dat SQL Server un punct de sprijin în comunitatea mare de dezvoltatori dBASE, au eșuat. În ciuda amânării lansării versiunii desktop a dBASE IV (lansată în 1989), acesta conținea încă un număr mare de erori, datorită cărora și-a câștigat o reputație proastă. Ediția Server, care trebuia să simplifice dezvoltarea aplicațiilor de înaltă performanță pentru SQL Server, nu a apărut niciodată. Dezvoltarea de aplicații în dBASE pentru SQL Server a devenit o provocare deoarece dezvoltarea unei aplicații orientate spre scriere pentru un singur utilizator a fost fundamental diferită de dezvoltarea aplicațiilor multi-utilizator, care mai trebuiau să rezolve probleme cu executarea paralelă a sarcinilor, corectarea lucrărilor paralele cu date și debit redus, apoi rețele locale. Primele încercări de a conecta instrumentele dBASE cu SQL Server au condus la o colaborare ineficientă a acestor produse (de exemplu, interogarea datelor rând cu rând s-a transformat într-o problemă, iar cursoarele cu tranziție arbitrară linie cu linie nu existau atunci).
Drept urmare, Ashton-Tate, care dominase piața bazelor de date pentru computere de acasă cu doi ani în urmă, s-a luptat acum să supraviețuiască, forțându-l să treacă înapoi la produsul său emblematic dBASE. Între timp, Microsoft a lansat OS/2 LAN Manager sub propria sa marcă (când era inițial plănuit să livreze doar versiuni OEM) și avea nevoie de SQL Server pentru a pune bazele dezvoltării de instrumente client/server care ar putea funcționa cu Microsoft. Manager și Microsoft OS/2. Toate acestea au dus la decizia de a opri promovarea comună a SQL Server, după care acest produs a fost ușor modificat și prezentat ca Microsoft SQL Server.
Chiar înainte de lansarea versiunii 1.1, oficialii Microsoft (spre deosebire de analiștii independenți) au prezis o creștere bruscă a vânzărilor noii versiuni a produsului, dar speranțele lor nu s-au concretizat. Microsoft SQL Server 1.1 a fost lansat în august 1990 ca o actualizare și înlocuire pentru Ashton-Tate/Microsoft SQL Server 1.0 vândut în 1989 [6] . La momentul lansării versiunii 1.1, Microsoft încă nu considera SQL Server ca un produs capabil să genereze profit în sine - motiv pentru care era doar una dintre aplicațiile pentru LAN Manager (Microsoft chiar a început să creeze canale de vânzare pentru parteneri. pentru ambele produse, deși nu fusese niciodată angajată anterior în soluții LAN de vânzare cu amănuntul ). Un rol pozitiv urma să fie jucat de lansarea timpurie a aplicațiilor client ( front-end -uri în engleză ) de la Borland și DataEase International , mai ales că în cursul anului erau așteptate mai multe soluții similare (la acea vreme erau numite condiționat „a doua generaţie"). Dar, în același timp, o parte la fel de importantă a SQL Server - un pachet de protocoale instalate - era încă în dezvoltare. Versiunea TCP/IP a Net-Library, prima din acest pachet, era încă în testare alfa, în timp ce versiunile sale DEC-NET și SPX erau în general în dezvoltare, fără date de lansare anunțate. În plus, complexitatea aparentă a calculului client-server și evoluția încă în curs a aplicațiilor server și client au făcut ca vânzările timpurii ale SQL Server 1.1 să fie foarte scăzute [7] .
Caracteristicile SQL Server 1.1 erau în general asemănătoare cu cele ale versiunii 1.0, dar noua versiune conținea multe remedieri pentru erori apărute în versiunea 1.0. În plus, SQL Server 1.1 a susținut și schimbul de informații cu o nouă platformă client - Microsoft Windows 3.0, care a început să fie livrat în mai 1990 și a provocat o reacție tangibilă în industria calculatoarelor. SQL Server 1.1 a fost acum mult mai ușor de configurat pentru a funcționa cu LAN Manager, iar instalarea produsului pentru rețea Novell și ca sistem de dezvoltare software autonom a fost, de asemenea, îmbunătățită. Pachetul a inclus Biblioteca de bază pentru SQL Server, care a fost interfața dintre SQL Server și Microsoft Basic Professional Development System. Datorită acestei biblioteci, a fost adăugat mai întâi suport pentru acest limbaj [6] .
Clientul SQL Server 1.1 ar putea funcționa cu o nouă versiune a DB-Library, interfața dintre client și SQL Server, care a fost distribuită unor dezvoltatori cu o lună înainte de lansarea noii versiuni de SQL Server în sine. Noua versiune a DB-Library a fost o versiune aproape complet rescrisă a versiunii anterioare, datorită căreia a început să ocupe doar 40 KB în loc de precedentul 80 KB, lăsând mai multă memorie pentru aplicațiile DOS pe sistemele client (acum dezvoltatorul a primit 250 KB pentru aplicația sa în loc de 50 KB anterioare, obținute prin utilizarea bibliotecilor DB statice care au venit cu SQL Server 1.0). Arhitectura protocolului de conectare din DB-Library era acum capabilă să comunice cu clienții pe DOS, Windows și OS/2 și, de asemenea, a acceptat accesul la Sybase SQL Server pe alte platforme. Cu toate acestea, conform informațiilor de la Microsoft și Sybase înșiși, aceste drivere erau încă în dezvoltare activă [6] .
Licențierea SQL Server 1.1 a inclus următoarele opțiuni [6] :
Capacitatea de a lucra cu sisteme client SQL Server 1.1 de la diferiți producători le-a permis acestora din urmă să vândă Microsoft SQL Server 1.1 împreună cu propriile dezvoltări. Primii membri ai Programului de parteneri de afaceri SQL sunt Ashton-Tate, Blyth Software, Dataease International, Revelation Technologies și Sybase. Aceste companii puteau realiza vânzări printr-o rețea specială de distribuție formată cu puțin timp înainte ( canalul englez Microsoft Network Specialist ), a cărei sarcină principală până atunci era vânzarea Microsoft LAN Manager, sau să vândă direct utilizatorilor finali. Dintre acești cinci parteneri, la momentul lansării noii versiuni, doar Ashton-Tate putea oferi utilizatorilor partea client pentru SQL Server - SQL Link for Framework III (în total, aproximativ 40 de astfel de soluții erau disponibile pe piață la acel moment). timp). Dataease International a anunțat că soluția sa Dataease SQL 1.0 va fi disponibilă pentru achiziție începând cu 14 septembrie a aceluiași an. Potrivit Microsoft, restul de doi parteneri plănuiau să-și lanseze soluțiile (MS-SQL Server Bond pentru Advanced Revelation de la Revelation Technologies și Omnis 5 de la Blyth Software) în al treilea trimestru al aceluiași an. Ashton-Tate dBase IV 1.1 Server Edition, care trebuia să accepte SQL Server, era așteptată înainte de sfârșitul anului 1990. În primul trimestru al anului 1991, interfețele de server urmau să fie lansate pentru a suporta alte sisteme client dBase, și anume Arago Dbxl de la Wordtech Systems și Arago Quicksilver [6] .
În al treilea trimestru al anului 1990, Access SQL (de la Software Products International) și Q+E (de la Pioneer Software) au fost lansate pentru a asigura comunicarea directă între Microsoft Excel și SQL Server [6] . În special, Q+E a făcut posibil ca, în esență, toate aplicațiile Windows (inclusiv cele pentru Windows 3.0) care pot funcționa cu conexiuni Dynamic Data Exchange să interacționeze și cu SQL Server. Din perspectiva utilizatorului, Q+E 2.5 a permis utilizatorilor să vizualizeze, să îmbine și să sorteze informațiile din bazele de date fără a scrie interogările SQL adecvate. Și din moment ce apelurile DDE au fost încorporate în aplicația Q+E însăși, utilizatori precum Excel puteau efectua post-procesare a datelor [8] .
Până la începutul anului 1991, zeci de produse software de la terți puteau funcționa cu SQL Server. Un rol semnificativ în acest sens l-a jucat suportul SQL Server pentru bibliotecile dinamice implementate în Windows 3.0, iar acest suport a fost implementat în SQL Server aproape de la începutul vânzărilor Windows 3.0. Datorită acestui fapt, Microsoft SQL Server a început sistematic să câștige o poziție de lider în rândul SGBD-urilor axate pe platforma Windows. Cu toate acestea, în ciuda îmbunătățirii situației, a existat încă o problemă cu disponibilitatea instrumentelor care sprijină dezvoltarea în alte limbi decât C.
În general, politica de suport timpuriu și complet al aplicațiilor pentru Windows 3.0 a fost, de asemenea, responsabilă pentru succesul Microsoft SQL Server și, în plus, succesul aparent al Windows ca platformă a necesitat și modificări atât în SQL Server, cât și în Microsoft însuși. În special, echipa de la Microsoft, care era angajată în portarea produsului altcuiva, a trecut treptat la testarea completă și la managementul proiectelor, iar apoi la dezvoltarea propriilor instrumente pentru a facilita instalarea și administrarea SQL Server. Dar chiar dacă Microsoft și-a livrat propriul software client și utilități, biblioteci de software și instrumente de administrare cu SQL Server 1.1, motorul SQL Server a fost încă scris de Sybase, în timp ce Microsoft nici măcar nu avea acces la codul sursă . Acest model prevedea că, pentru a îndeplini orice solicitări de modificare a funcționalității SQL Server (inclusiv remedieri de erori), Microsoft trebuia să trimită aceste solicitări către Sybase, care a făcut modificările corespunzătoare. Microsoft, pe de altă parte, a căutat să creeze o echipă de suport SQL Server cu drepturi depline și independentă, pentru care a angajat ingineri cu experiență de lucru cu baze de date. Dar, fără acces la codul sursă, echipa s-a confruntat cu incapacitatea de a rezolva probleme critice de asistență pentru clienți pentru produs. În plus, a existat o problemă cu dependența Microsoft de Sybase pentru a remedia erorile din produs, ceea ce a dus la faptul că Sybase nu este suficient de rapid pentru a remedia erorile critice revendicate de Microsoft.
La începutul anului 1991, Microsoft și Sybase au ajuns la un acord prin care cei dintâi ar avea acces la codul sursă SQL Server, dar numai în modul citire (adică fără posibilitatea de a face modificări). Acest acord a făcut posibil ca echipa de asistență pentru produs (așa-numitul grup SQL Server ) să citească codul pentru a înțelege mai bine logica produsului în orice situații neevidente. În plus, Microsoft a profitat de oportunitatea de a aduna o echipă mică de dezvoltatori pentru a studia codul sursă pentru SQL Server. Acest grup a efectuat o inspecție linie cu linie a codului în acele părți ale programului în care a existat o suspiciune de eroare și a făcut „remedieri virtuale de erori” (pentru că încă nu au avut posibilitatea de a face modificări la SQL). Cod server). Cu toate acestea, atunci când astfel de rapoarte cu analiza codului sursă au început să fie trimise către Sybase, corectarea erorilor critice pentru Microsoft a început să aibă loc mult mai rapid. După câteva luni în acest mod de funcționare, la mijlocul anului 1991, Microsoft a avut în sfârșit oportunitatea de a remedia erorile direct în cod. Dar, deoarece Sybase încă controla codul sursă al produsului, orice modificări aduse codului au fost trimise Sybase pentru revizuire în prealabil. Ca urmare, dezvoltatorii Microsoft au devenit experți în codul SQL Server, ceea ce a făcut posibilă, pe de o parte, îmbunătățirea suportului acestuia și, pe de altă parte, să acorde mai multă atenție calității acestuia.
În 1991, Microsoft a lansat o versiune intermediară, SQL Server 1.11. Această lansare s-a datorat faptului că lista de utilizatori până în acel moment se extinsese deja în mod semnificativ. În ciuda faptului că arhitectura client-server nu era încă răspândită, clienții au trecut treptat la ea. Dar, în ciuda criticilor pozitive din partea presei de specialitate, vânzările de SQL Server au lăsat încă de dorit. O mare parte din aceasta s-a datorat eșecului OS/2. În loc de tranziția așteptată de la MS-DOS la OS / 2, utilizatorii de computere de acasă au preferat să treacă la Windows 3.0. Drept urmare, vânzările de Windows 3.0 au fost destul de puternice. Pentru a stimula vânzările de SQL Server și LAN Manager, Microsoft a anunțat un program special de sprijinire a furnizorilor independenți de software, în temeiul căruia fiecare dezvoltator care îndeplinește anumite cerințe poate licenția versiuni reduse ale acestor produse (aceste versiuni au permis doar software de la terți, deci -numite în limba engleză. versiuni run-time ) cu o reducere de 40% și, în același timp, obțineți o jumătate de an de asistență gratuită, precum și alte beneficii [9] .
După cum a raportat revista InfoWorld la sfârșitul lunii iulie 1991, anunțul de către Microsoft a unei noi versiuni de SQL Server s-a concentrat pe îmbunătățirea rețelelor și a unei noi aplicații Windows pentru administrarea bazelor de date. Mai exact, Microsoft a promis că va furniza o copie a SQL Commander utilizatorilor înregistrați de SQL Server pentru OS/2 în termen de un an. Un instrument numit SQL Commander a fost introdus mai devreme în mai 1990 de către Datura Corp. (cunoscut anterior sub numele de Strategic Technologies Group). Acest utilitar a făcut mai ușor pentru administratorii bazelor de date să gestioneze conturile de utilizator, indecșii tabelelor, declanșatorii și interogările complexe. Cu toate acestea, după cum au remarcat criticii, acest instrument a coincis aproape complet în funcționalitate cu un alt utilitar de la Microsoft - instrumentul Server Administration Facility care a venit cu SQL Server. În plus, SQL Server 1.11 a adăugat suport pentru instrumentele de administrare a rețelei Novell, noul instrument OS/2 Requester 1.3 și documentație tehnică detaliată pentru utilizatorii Novell. Îmbunătățirile de rețea au inclus îmbunătățirea rețelei Novell , a adăugat suport pentru protocoalele Banyan VINES 4.10 și interacțiunea client cu Sybase SQL Server pe mașini UNIX sau VMS . Politica de licență a fost, de asemenea, schimbată: versiunea pentru 5 utilizatori a fost înlocuită cu o versiune pentru 10 utilizatori, iar utilizatorii SQL Server 1.1 cu un număr nelimitat de utilizatori puteau obține versiunea 1.11 gratuit [10] .
Dar, pe de altă parte, SQL Server 1.11 a avut limitări foarte tangibile, inclusiv scalabilitate. Era un produs pe 16 biți, deoarece OS/2 accepta doar un spațiu de adrese de 16 biți pentru aplicații, iar performanța sa a fost limitată de lipsa mecanismelor de performanță ale OS/2, cum ar fi I/O asincron. În ciuda faptului că SQL Server pe OS / 2 la acel moment putea face față majorității sarcinilor, cu toate acestea, a existat o anumită limită, după care serverul a început pur și simplu să se „suece”. Nu a existat o limită bine definită, dar SQL Server pe OS/2 a fost folosit pentru grupuri de lucru de până la 50 de persoane. Pentru grupuri mai mari, a existat o versiune Sybase SQL Server pentru sisteme de înaltă performanță bazate pe UNIX sau VMS . Și aici a trecut linia de vânzări dintre Microsoft și Sybase. Clienții care alegeau un produs de la Microsoft doreau să fie siguri că cererile lor nu îl vor „depăși”. Un număr mare de instrumente software dezvoltate pentru Microsoft SQL Server au funcționat fără modificări majore cu Sybase SQL Server, iar aplicațiile care nu mai puteau fi satisfăcute de OS/2 puteau fi portate cu ușurință într-un sistem UNIX mai puternic. Această relație a fost benefică ambelor companii, deoarece un număr mare de instrumente software pentru Microsoft SQL Server funcționau de obicei fără probleme cu Sybase SQL Server, iar aplicațiile care nu mai aveau suficientă performanță OS/2 funcționau ușor cu serverele UNIX.
Între timp, concurența pe piața DBMS a crescut treptat, precum și cerințele clienților pentru software-ul pe care îl aleg, ca urmare a dezvoltării următoarei versiuni de SQL Server pentru Microsoft, a problemelor de compatibilitate și interoperabilitate, precum și a necesității pentru a implementa noi funcționalități pentru a satisface cerințele clienților, au trecut în prim-plan. Deoarece era nevoie de o nouă versiune a produsului cât mai repede posibil, Microsoft a început să dezvolte următoarea versiune la scurt timp după lansarea SQL Server 1.11.
Cu toate acestea, a existat o întrebare despre următorul număr de versiune nouă. Cert este că, în paralel cu vânzările de Microsoft SQL Server 1.0, s-au realizat și vânzările de Sybase SQL Server 3.0, care au adus pe piața SGBD pentru PC niște mecanisme foarte utilizate, precum tipuri de date text și imagine , precum și un modul de navigare a datelor (modul de navigare în engleză ) . Și următoarea versiune a Sybase SQL Server a fost versiunea 4.0 pentru cele mai comune platforme și versiunea 4.2 pentru cele mai puțin obișnuite. Astfel, dezvoltarea noii versiuni de Microsoft SQL Server sa bazat de fapt pe codul sursă Sybase SQL Server 4.2. În consecință, în scopuri de marketing, noua versiune a Microsoft SQL Server a fost, de asemenea, numerotată 4.2.
Cu toate acestea, încă din mai 1991, Microsoft și IBM au anunțat că încetează dezvoltarea comună a OS/2, deoarece până atunci devenise deja evident că utilizatorii preferau Windows decât OS/2. Astfel, Microsoft a decis să se concentreze pe dezvoltarea ulterioară a Windows, precum și pe software-ul pentru acestea. În acest moment, Microsoft dezvolta deja o nouă versiune a sistemului de operare bazată pe microkernel , cu nume de cod NT (abreviat de la noua tehnologie engleză - „nouă tehnologie”). Inițial trebuia să fie o nouă versiune de OS/2 (uneori denumită chiar OS/2 3.0). După încheierea dezvoltării în colaborare, s-a decis să se reorienteze proiectul pe Windows, adică să se adauge o interfață de utilizator în stil Windows și Win32 API , ca urmare a căreia proiectul a primit un nou nume - Microsoft Windows NT .
Conform planurilor de la acea vreme, prima versiune de Windows NT urma să fie lansată nu mai devreme de 2 ani mai târziu, iar Microsoft SQL Server urma să fie portat în cele din urmă pe Windows NT, ceea ce nu părea a fi cea mai inteligentă mișcare. Cu toate acestea, cu toate acestea, Microsoft a trebuit să sprijine dezvoltarea SQL Server pentru OS / 2, în ciuda faptului că OS / 2 era acum în esență un produs competitiv pentru Microsoft însuși. Microsoft, pe de altă parte, a optat pentru asta, deoarece nu avea alternativă la acel moment.
Microsoft a dezvoltat SQL Server 4.2 pentru viitorul OS/2 2.0, prima versiune pe 32 de biți a OS/2. Deoarece SQL Server 4.2 urma să fie pe 32 de biți, părea mai ușor să-l portați din linia UNIX, deoarece în acest caz problema cu segmentarea memoriei nu era urgentă. Teoretic, SQL Server pe 32 de biți ar fi trebuit să devină și mai productiv. O mulțime de articole au apărut în presă dedicate comparării performanței pe platformele pe 16 și 32 de biți și aproape toți autorii erau siguri că trecerea la 32 de biți va oferi o creștere semnificativă a performanței (deși unele articole au clarificat în ce condiții ar fie (sau nu) exact așa). Adresarea memoriei a fost considerată principala sursă de câștig de performanță. Pentru a-l executa în spațiul de adrese segmentat de 16 biți al liniei OS/2 1.x au fost necesare cel puțin 2 instrucțiuni: prima instrucțiune a încărcat segmentul de memorie dorit, a doua a încărcat adresa dorită în acest segment. Cu adresarea pe 32 de biți, nu era nevoie de o instrucțiune pentru a încărca un segment și astfel memoria putea fi adresată cu o singură instrucțiune. Conform unor calcule, din această cauză, potențiala creștere globală a productivității ar putea fi de până la 20%.
La acea vreme, mulți oameni credeau în mod eronat că SQL Server trebuia să ruleze pe o platformă completă de 32 de biți pentru a putea aborda mai mult de 16 MB de memorie. Când rulează pe OS/2 1.x, aplicația a accesat doar 16 MB de memorie reală. Și deși a existat o oportunitate de a obține mai mult de 16 MB de memorie virtuală , dar apoi paginarea a început să aibă impactul negativ . În OS/2 2.0, o aplicație ar putea adresa mai mult de 16 MB de memorie și totuși să evite schimbarea acesteia. La rândul său, acest lucru a permis SQL Server să aibă un cache mare și să obțină toate datele necesare din memorie mai rapid decât de pe disc, ceea ce a avut un efect foarte pozitiv asupra câștigurilor de performanță. Cu toate acestea, din perspectiva aplicației, toată memoria din OS/2 era virtuală (atât 1.x, cât și 2.x), astfel încât chiar și o versiune pe 16 biți a SQL Server ar putea profita de OS/2 2.0 pentru a accesa mai mult spațiu de memorie real. . Din acest punct de vedere, versiunea pe 32 de biți pur și simplu nu era necesară.
Cu toate acestea, primele versiuni beta ale OS/2 2.0 s-au dovedit a fi semnificativ mai lente decât OS/2 1.x, anulând toate beneficiile noii abordări a adresei memoriei. Ca rezultat, în loc de creșterea așteptată a performanței, utilizatorii au observat o scădere serioasă a performanței la rularea primelor versiuni ale SQL Server 4.2 pe 32 de biți pe OS/2 2.0 (comparativ cu SQL Server 1.1).
În mod neașteptat, planurile de lansare a OS/2 2.0 până la sfârșitul anului 1991 au fost revizuite. De fapt, a devenit neclar dacă IBM va fi implicat deloc în lansarea versiunii 2.0. Adică, lansarea OS / 2 2.0 înainte de sfârșitul anului 1992 nu a trebuit să aștepte. Având în vedere această situație, Microsoft a fost nevoit să revină la implementarea pe 16 biți a SQL Server și să o redirecționeze către OS/2 1.3. Dezvoltatorii Microsoft au avut nevoie de aproximativ trei luni pentru a reveni la implementarea pe 16 biți, dar apoi a apărut o altă problemă: versiunea de OS / 2 1.3 furnizată de IBM a funcționat doar pe computerele sale cu licență. În teorie, producătorii terți de PC-uri ar putea licenția OS/2 de la Microsoft și îl pot livra ca parte a unui acord OEM . Cu toate acestea, cererea pentru OS/2 a scăzut atât de mult încât majoritatea OEM-urilor au ales să nu se implice în el, ceea ce face să cumpărați OS/2 pentru PC-uri terțe părți o bătaie de cap. Ca o soluție, Microsoft a creat o versiune redusă a OS/2 versiunea 1.3 (cu nume de cod Tiger) care a venit în aceeași cutie cu Microsoft SQL Server și Microsoft LAN Manager. În același timp, faptul că OS / 2 este deja un sistem de operare „mort” a devenit din ce în ce mai evident.
Testarea beta a Microsoft SQL Server 4.2 a început în toamna anului 1991, iar în ianuarie 1992 la Conferința de la San Francisco pentru dezvoltatorii de software care folosesc Microsoft SQL Server, Bill Gates , pe atunci CEO al Microsoft, și Bob Epstein, fondatorul și liderul Sybase, oficial a anunțat produsul. Versiunea 4.2 a fost prima versiune cu adevărat colaborativă. Motorul bazei de date a fost portat din codul sursă UNIX versiunea 4.2, inginerii Microsoft și Sybase lucrând împreună pentru a porta și a remedia erorile. În plus, Microsoft a creat biblioteci de interfață client pentru MS-DOS, Windows și OS/2 și a inclus pentru prima dată un instrument GUI Windows pentru a simplifica administrarea. Codul sursă a fost consolidat la sediul Sybase, iar fișierele cu codul sursă au fost trimise acolo prin conexiune dial -up sau prin copierea și trimiterea de benzi magnetice.
Microsoft SQL Server 4.2 a început să fie livrat în martie 1992. Criticile din presa comercială au fost destul de favorabile, la fel ca și recenziile clienților despre produs. Cu toate acestea, după ce a început livrarea în 1992, mulți s-au întrebat despre momentul lansării versiunii pe 32 de biți a SQL Server. După cum au arătat evenimentele ulterioare, această versiune a motorului a fost ultima versiune pe care Microsoft a primit-o de la Sybase (în afară de câteva remedieri de erori pe care companiile au continuat să le schimbe de ceva timp).
La începutul anului 1992, echipa de dezvoltare SQL Server se afla la o răscruce. Pe de o parte, exista deja o bază de clienți a SQL Server, al cărei DBMS a fost instalat pe OS / 2. Acești clienți deja așteptau cu nerăbdare o versiune de SQL Server pe 32 de biți și o versiune pentru OS/2 2.0 și, de preferință, imediat după lansarea OS/2 2.0 de către IBM, ceea ce înseamnă că doreau să rămână pe OS/2 pentru viitor previzibil. Dar problema era că nu se știa exact când va fi lansat OS/2 2.0. Reprezentanții IBM au declarat că lansarea noii versiuni va avea loc în toamna anului 1992. Mulți au perceput aceste cuvinte cu scepticism. De exemplu, Steve Ballmer , vicepreședinte senior al Microsoft, a promis public că va mânca o dischetă dacă IBM își va lansa produsul în 1992.
Pe de altă parte, dezvoltatorii SQL Server au fost obligați să-și porteze produsul pe Windows NT cât mai curând posibil și, de preferință, astfel încât versiunile beta ale ambelor produse să fie lansate aproximativ în același timp. Windows NT la acea vreme era considerat un produs Microsoft din gama superioară de preț, iar din punctul de vedere al dezvoltatorilor, acest sistem de operare avea și câteva avantaje tehnice în comparație cu OS/2: I/O asincron, multithreading simetric, portabilitate către Arhitectura RISC .
În plus, deși Microsoft a decis în 1991 să revină la versiunea pe 16 biți a SQL Server, munca la versiunea pe 32 de biți nu s-a oprit. Până în martie 1992, când versiunea 4.2 a fost lansată pentru prima dată, testele au arătat că ambele versiuni (atât pe 16 biți, cât și pe 32 de biți) pe versiunile beta ale OS/2 2.0 erau mai lente decât versiunea pe 16 biți care rulează pe OS/2 1.3. Poate că, după lansarea oficială a OS/2 2.0, situația s-ar fi schimbat, dar versiunile beta disponibile la acel moment indicau mai degrabă contrariul. De fapt, munca s-a dovedit a fi mai puțin productivă și mai puțin stabilă.
Întrucât resursele pentru dezvoltare erau limitate, în situația actuală, Microsoft nu-și putea permite să dezvolte pentru ambele platforme simultan. În caz contrar, dezvoltatorii s-ar fi confruntat cu o grămadă suplimentară de probleme, și anume, ar fi trebuit să adauge produsului un strat abstract care să ascundă diferențele dintre sistemele de operare sau să dezvolte două versiuni ale produsului în paralel. Astfel, dezvoltatorii de la Microsoft au luat decizia să nu mai lucreze la versiunea pe 32 de biți a SQL Server pentru OS/2 2.0 și să treacă direct în dezvoltarea produsului pentru Windows NT. La dezvoltarea unei noi versiuni a portabilității SQL Server pe OS / 2 sau alte sisteme de operare, nu a fost acordată atenție, ci s-a decis să profite din plin de Windows NT. În consecință, această abordare a pus capăt în mod eficient dezvoltării SQL Server pentru OS / 2 în general, cu excepția acceptării versiunilor deja lansate și a remedierii erorilor din acestea. Microsoft a început să-și informeze clienții că apariția versiunilor viitoare (inclusiv versiunea pe 32 de biți) de SQL Server pentru OS/2 2.0 va depinde de disponibilitatea și volumul cererii clienților, în timp ce ea însăși și-a mutat atenția către Windows NT. Percepția unor astfel de știri de către clienți a fost diferită: unii au reacționat cu înțelegere la o astfel de poziție, altora, a căror afacere depindea direct de OS/2, nu le-a plăcut astfel de știri.
Între timp, Sybase lucra și la o nouă versiune a bazei de date, care urma să se numească System 10. În această situație, ca și în cazul dezvoltării versiunii 4.2, dezvoltatorii aveau nevoie ca noua versiune de Microsoft SQL Server să fie compatibilă cu System 10 și au același număr de serie ca produsul Sybase lansat pentru UNIX. Astfel, a existat o situație în care obiectivul principal pentru Microsoft a fost victoria Windows NT asupra OS / 2, iar pentru Sybase - succesul sistemului său 10.
Chiar dacă System 10 nici măcar nu intrase în stadiul beta, existau deja discrepanțe în planurile celor două companii de a lansa noi versiuni ale produsului. De exemplu, Microsoft dorea să port Microsoft SQL Server pe Windows NT cât mai curând posibil, precum și să obțină o versiune de System 10 pentru Windows NT, OS/2 2.0 sau ambele. Ca urmare, s-a ajuns la un acord conform căruia Microsoft va porta SQL Server 4.2 pentru OS/2 la Windows NT și va începe imediat, iar Sybase va include Windows NT în lista de OS prioritare pentru System 10. Astfel, Windows NT va fi unul dintre primele OS , pentru care va fi lansată o versiune corespunzătoare a System 10. În schimb, Microsoft va relua suportul OS/2 pentru Sybase, astfel încât clienții care doresc să rămână pe OS/2 să poată face acest lucru. Deși Microsoft spera că majoritatea clienților vor migra la Windows NT, era clar că acest lucru nu se va întâmpla 100%. Prin urmare, în acest sens, un astfel de acord a fost chiar benefic pentru Microsoft.
În plus, un astfel de plan de acțiune a avut avantaje suplimentare în ceea ce privește dezvoltarea. Echipa de dezvoltare Microsoft trebuia să lucreze la o versiune stabilă și testată a 4.2, pe care la acel moment deja o înțelegeau perfect, ceea ce a facilitat foarte mult sarcina de a o porta la un nou sistem de operare. Sybase, la rândul său, s-ar putea concentra în întregime pe dezvoltarea unei noi versiuni, fără a-și face griji cu privire la problemele asociate cu versiunile de pre-lansare ale sistemului de operare. Ca urmare, conform planului de la acea vreme (1992), ambele versiuni (System 10 și SQL Server pentru Windows NT) urmau să fie lansate, iar companiile ar trebui să continue să dezvolte produsul împreună.
Echipa SQL Server de la Microsoft a început dezvoltarea rapidă a primei versiuni de SQL Server pentru Windows NT, deoarece echipa a trebuit să lanseze produsul în termen de 90 de zile de la Windows NT, dar planul era să respecte termenul limită de 30 de zile. Socoteala aici a fost că Windows NT era acum singura platformă pentru SQL Server, ceea ce înseamnă că dezvoltatorii nu trebuiau să-și facă griji cu privire la problemele de portare și, în special, nu trebuiau să dezvolte un strat abstract pentru a ascunde diferențele dintre sistemele de operare. Rolul stratului abstract urma să fie jucat chiar de Windows NT, care a fost inițial planificat ca un sistem de operare portabil, adică trebuia să-și lanseze versiunile pentru diferite arhitecturi de mașini.
Ca rezultat, dezvoltatorii au cuplat strâns funcționalitatea SQL Server cu funcționalitatea Windows NT, cum ar fi gestionarea evenimentelor într-o singură locație, instalarea SQL Server ca serviciu Windows NT, exportarea statisticilor de performanță DBMS în Windows NT Performance Monitor, etc. De la Windows NT a oferit posibilitatea aplicațiilor de a rula cod dinamic (folosind biblioteci dinamice), apoi SQL Server a oferit posibilitatea dezvoltatorilor terți de a-și crea propriile biblioteci dinamice. Ca urmare a acestor modificări, Microsoft SQL Server pentru Windows NT a devenit foarte diferit de versiunea originală 4.2 pentru OS / 2, deoarece s-a dovedit că Microsoft a rescris de fapt nucleul SQL Server (partea programului responsabilă cu interacțiunea cu sistemul de operare). ) pentru a lucra direct cu API-ul Win32.
Un alt obiectiv în dezvoltarea SQL Server pentru Windows NT a fost să ușureze tranziția de la instalările existente pe OS/2 la o nouă versiune de SQL Server și OS. Dezvoltatorii au dorit ca toate aplicațiile scrise pentru SQL Server 4.2 pentru OS/2 să ruleze neschimbate pe SQL Server pentru Windows NT. Deoarece Windows NT urma să poată porni dual cu MS-DOS sau OS/2, echipa a decis că SQL Server pentru Windows NT ar trebui să poată citi și scrie direct în bazele de date create în SQL Server pentru OS/2. Pentru a atinge aceste obiective, dezvoltatorii au reproiectat arhitectura internă a SQL Server, adăugând în același timp multe funcții pentru administrare, rețea și extensibilitate, în timp ce adăugarea de funcții externe la nucleul motorului a trebuit abandonată. O altă preocupare era compatibilitatea dialectelor SQL și caracteristicile versiunilor Windows NT și OS/2 ale SGBD, în timp ce noile caracteristici trebuiau adăugate la versiunea care urma să fie dezvoltată pe baza Sistemului 10. Pentru a face distincția între compatibilitatea cu versiunea 4.2 pentru OS/2 și noile dezvoltări Sybase, Microsoft a decis să numească noua versiune de SQL Server pentru Windows NT 4.2 (adică, adăugarea unui număr de versiune), cu numele de marketing al produsului să fie Microsoft SQL Server pentru Windows NT, iar denumirea internă să fie SQL NT.
În iulie 1992, Microsoft a organizat o conferință pentru dezvoltatorii de software pentru platforma Windows NT și a distribuit versiuni alfa de Windows NT participanților la conferință. În ciuda faptului că noua versiune de SQL Server nu avea nici măcar statutul de „versiune beta”, Microsoft a lansat totuși imediat prin CompuServe bibliotecile de software pe 32 de biți de care dezvoltatorii au nevoie pentru a-și porta aplicațiile de pe OS / 2 și 16 biți. versiuni de la Windows la Windows.NT. Acest lucru a fost realizat ținând cont de succesul distribuției NDK în rândul dezvoltatorilor de software pentru Windows 3.0 în 1990, dar Microsoft spera să repete acest succes oferind dezvoltatorilor toate instrumentele necesare pentru dezvoltarea de software pentru Windows NT.
În octombrie 1992, Microsoft a lansat prima versiune beta a SQL Server pentru Windows NT. Această versiune avea toată funcționalitatea principală (din cea declarată), iar toate componentele sale aveau suport complet pentru Win32. Această versiune a fost distribuită cu ajutorul a peste o sută de site-uri. Pentru un SGBD, acest număr de site-uri a fost fără precedent, deoarece numărul tipic de site-uri alocate pentru distribuția acestui tip de software, de regulă, nu depășea 10.
În paralel cu distribuția NDK, livrările versiunii OS/2 a SQL Server erau încă în curs (au continuat în anul următor). Până în martie 1993, Microsoft a lansat o versiune beta a produsului. Această versiune (SQL Server Client/Server Development Kit (CSDK)) a fost disponibilă gratuit pentru cumpărare pentru o taxă mică. Pentru a-l susține, Microsoft a organizat un forum deschis pe CompuServe și nu a cerut celor care l-au contactat să semneze un acord de confidențialitate. Astfel, a fost posibilă implementarea a peste trei mii de kituri CSDK. Până în mai 1993, suportul pentru produsul pre-lansare îl depășea numeric pe cel pentru versiunea OS/2. În ciuda numărului de trimiteri, răspunsul general la produsul de pre-lansare a fost destul de pozitiv.
În iulie 1993, Microsoft a lansat Windows NT 3.1. În 30 de zile de la lansare, echipa de dezvoltare SQL Server a lansat prima versiune a Microsoft SQL Server pentru Windows NT. Ieșirea a fost foarte reușită: vânzările atât ale DBMS-ului în sine, cât și ale sistemului de operare pentru acesta au crescut.
Până la începutul lui decembrie 1993, un număr semnificativ de clienți migraseră de la OS/2 la SQL Server pentru Windows NT. Sondajele au indicat că cei care nu au migrat încă la noua versiune pentru Windows NT au plănuit să facă acest lucru, în ciuda anunțului Sybase cu privire la intenția sa de a dezvolta System 10 pentru OS/2. Migrarea de la SQL Server pentru OS/2 la Windows NT pentru aplicații a fost destul de nedureroasă și au existat și câștiguri de performanță. Ca urmare, după 9 luni, vânzările SQL Server erau deja de două ori mai mari decât vânzările la începutul acestei perioade. În același timp, 90% din vânzări au venit din noua versiune pentru Windows NT, în timp ce versiunea veche pentru OS/2 a reprezentat restul de 10%.
Testele interne ale Microsoft au arătat că concentrarea pe o singură platformă (Windows NT) a dat roade: SQL Server pentru Windows NT (care rulează pe hardware mai ieftin) a depășit DBMS care rulează pe UNIX și hardware mai scump. În septembrie 1993, Compaq Computer Corporation a publicat primele rezultate ale testului Transaction Processing Council (TPC). La acel moment, conform testelor TPC-B, cel mai comun indicator era 1000 USD/TPS ( tranzacții pe secundă , tranzacții pe secundă). SQL Server, care rulează pe o mașină cu două procesoare Pentium de 66 MHz, a livrat 226 TPS la 440 USD per tranzacție, jumătate din prețul benchmark-urilor publicate anterior. În același timp, majoritatea serverelor de fișiere care rulează pe minicalculatoare UNIX au prezentat rezultate care nu depășeau 100 TPS. Și, deși au existat unele DBMS care au arătat rate semnificativ mai mari, echivalentul lor de preț a fost semnificativ mai mare decât 440 USD/TPS. Prin comparație, cu 18 luni mai devreme, o cifră de performanță de 226 TPS a fost cea mai mare atinsă vreodată de un mainframe sau mini PC.
Succesul Microsoft a determinat creșterea tensiunilor cu Sybase. Situația de pe piața DBMS la sfârșitul anului 1993 era deja foarte diferită de situația din 1987, când Microsoft și Sybase au semnat un contract. În 1993, Sybase era deja o companie de software de succes, pe locul doi după Oracle Corporation pe piața DBMS . La fel, din 1987, Microsoft a crescut semnificativ. Odată cu aceasta, a crescut și echipa de dezvoltare SQL Server (în 1990 erau aproximativ o duzină de oameni, iar în 1993 - mai mult de 50), fără a număra cei care s-au implicat în marketing și suport pentru produs. Acești dezvoltatori cunoșteau deja elementele interne ale SQL Server destul de bine și aveau, de asemenea, o experiență vastă în dezvoltarea unei versiuni similare pentru Windows NT. Astfel, Microsoft avea deja toate resursele necesare pentru a dezvolta independent SQL Server, dar acordul din 1987 cu Sybase îl lega, deoarece contractul însemna doar că licențiază dezvoltări de la Sybase. În conformitate cu termenii acestui contract, Microsoft nu putea adăuga funcționalități noi sau face alte modificări codului fără aprobarea prealabilă din partea Sybase.
Un alt motiv de nemulțumire reciprocă a fost divergența finală a nevoilor în dezvoltarea SQL Server. De exemplu, dezvoltatorii Microsoft au vrut să integreze suportul MAPI (Messaging API) în SQL Server, dar din moment ce această caracteristică era specifică Windows, dezvoltatorii Sybase nu s-au grăbit să dea undă verde implementării sale, deoarece Sybase era interesat să dezvolte un produs. pentru UNIX și nu pentru Windows NT. Deoarece Sybase nu a primit niciun beneficiu de la portarea produsului său pe alte sisteme de operare, inițiativele Microsoft au început să întâmpine o rezistență tot mai mare din partea acestuia. De fapt, portarea versiunii 4.2 la Windows NT a fost deja un punct de controversă, deoarece adăugarea de funcționalități specifice Windows NT în versiunea 4.2 a împiedicat în mod semnificativ dezvoltarea System 10 pentru alte platforme. Sybase și-a dezvoltat System 10 cu scopul de a simplifica portarea în continuare la diferite sisteme de operare (inclusiv Windows NT), dar din punctul de vedere al Microsoft, acest lucru a însemnat abandonarea utilizării maxime posibile a instrumentelor Windows NT, deoarece System 10 nu putea și avea a nu fi capabil de o astfel de abordare pentru a lucra pe Windows NT este la fel de eficient ca și cum ar fi fost inițial dezvoltat pentru acesta.
Toate acestea au dus la faptul că acum ambele companii nu aveau cu adevărat nevoie una de cealaltă, iar acordul lor din 1987 a încetat să mai funcționeze. Microsoft SQL Server pentru Windows NT era deja o alternativă viabilă la Sybase SQL Server care rulează pe UNIX, Novell NetWare și VMS. Clienții puteau acum achiziționa Microsoft SQL Server pentru o fracțiune din costul unei soluții similare UNIX, MS SQL Server rulând pe hardware mai puțin puternic (și, prin urmare, mai ieftin) și necesitând o persoană mai puțin calificată pentru a-l administra. Redevențele de la Microsoft, pe de altă parte, ar reprezenta doar o mică parte din venitul Sybase din vânzările produselor sale UNIX. Așa că ambele companii se luptau deja pentru practic aceiași clienți, dar în același timp ambele au înțeles deja că era timpul să schimbe natura relației lor.
Pe 12 aprilie 1994, Microsoft și Sybase au anunțat sfârșitul dezvoltării lor comune a SQL Server. Fiecare companie a decis să continue să lucreze la propria versiune de SQL Server. Microsoft a avut ocazia să dezvolte Microsoft SQL Server independent, fără a privi înapoi la Sybase. Sybase era acum liber să port System 10 pe Windows NT (prima dată când SQL Server cu sigla Sybase va fi disponibil pe o platformă Windows NT, deoarece acordul lor însemna doar drepturile de dezvoltare ale Microsoft pentru platforma sa). În același timp, ambele produse trebuiau să mențină compatibilitatea cu aplicațiile existente pentru SQL Server la acel moment, dar în viitor această idee nu a fost susținută în niciun fel din cauza obiectivelor prea diferite. Sybase și-a proiectat produsul în primul rând pentru compatibilitatea cu versiunile UNIX, în timp ce Microsoft sa concentrat pe compatibilitatea cu Windows NT. Curând, ambele linii de SQL Server au început să concureze direct între ele, iar Microsoft a căzut din nou într-o situație dublă: a trebuit să susțină un produs concurent (Sistemul 10) pe platforma Windows NT, deoarece disponibilitatea diferitelor produse a avut un efect pozitiv. efect asupra vânzărilor de sisteme de operare.
La începutul anului 1994, echipa de dezvoltare a SQL Server a plănuit să ia codul sursă Sybase System 10 pentru noua versiune, dar întreruperea acordului a schimbat complet aceste planuri. În afară de câteva remedieri, ultimele surse de la Sybase au fost primite la începutul anului 1992 (versiunea 4.2 pentru OS/2). Având în vedere că Sybase urma să lanseze System 10 pentru Windows NT până la sfârșitul acestui an, acesta ar fi un motiv bun pentru ca utilizatorii să își actualizeze versiunea DBMS de la Microsoft SQL Server 4.2 la Sybase System 10. La rândul său, pentru Microsoft, aceasta a însemnat pierderea unei baze de clienți și, prin urmare, a fost necesar să se pregătească rapid un răspuns.
Microsoft a planificat rapid o lansare ambițioasă care conține multe îmbunătățiri de performanță și funcționalitate. Versiunea viitoare a primit numele de cod SQL95, sugerând lansarea planificată a Windows 95 . În 1994, problema replicării datelor prin intermediul unui DBMS era relevantă, astfel încât replicarea a devenit piatra de temelie a unei viitoare versiuni. Același lucru a fost valabil și pentru cursoarele poziționate , un mecanism, potrivit dezvoltatorilor, pur și simplu necesar pentru a reduce decalajul dintre aplicațiile axate pe lucrul cu multe înregistrări și o bază de date relațională. Niciunul dintre SGBD-urile populare de la acea vreme nu avea încă o implementare completă de cursoare poziționate pentru arhitectura client-server, iar echipa de dezvoltare SQL Server credea că acest mecanism va afecta pozitiv reputația produsului lor. În plus, se lucrează la un set complet nou de instrumente de management, cu nume de cod Starfighter (numit mai târziu SQL Server Enterprise Manager), care era planificat să fie inclus în următoarea ediție. Lista de noi funcții s-a extins treptat din ce în ce mai mult.
Reacția generală a clienților la știrile despre planurile Microsoft de a dezvolta SQL Server în sine a fost destul de negativă. Pe 14 iunie 1994, Microsoft a ținut o conferință generală la San Francisco pentru clienți, analiști și jurnaliști. Jim Allchin, pe atunci vicepreședinte senior la Microsoft, a vorbit despre planurile viitoare și despre lansarea planificată a SQL95. Planurile și modelele prezentate au fost primite cu aprobare, dar mulți și-au exprimat deschis scepticismul cu privire la data lansării, îndoindu-se că Microsoft va putea lansa produsul promis până la sfârșitul anului 1995. Presa s-a referit chiar sarcastic la noua versiune ca SQL97 și chiar SQL2000. Conform planurilor interne, dezvoltatorii se pregăteau să prezinte lansarea în prima jumătate a anului 1995. Prima versiune beta a fost lansată în octombrie 1994. În acest moment, Starfighter nu era încă terminat, dar serverul în sine era deja finalizat și, din moment ce atunci când descărcați serverul creează cea mai mare încărcare pe site-urile cu versiuni beta, s-a decis să lanseze mai întâi versiunea sa beta. Lansarea a fost urmată de o serie de actualizări care au durat câteva luni, în paralel cu creșterea numărului de site-uri, ajungând la o cifră de 2000 de site-uri.
În plus, în 1993, Microsoft a luat decizia ca bazele de date să fie o tehnologie cheie în gama sa completă de produse, iar la sfârșitul anului 1994 Microsoft a început să solicite consultanță de specialitate de la DEC și alți furnizori cheie de pe piață pentru echipele de dezvoltare care lucrează la Microsoft Jet și SQL. Server. Scopul acestei consultări a fost planificarea componentelor pentru o nouă generație de produse de baze de date. În 1995, în paralel cu lansările echipei de bază ale SQL Server 6.0 și SQL Server 6.5, o a doua echipă a dezvoltat un nou procesor de interogări ca parte a ceea ce a devenit Microsoft Data Engine (MSDE). În paralel cu dezvoltarea MSDE, se lucrează la OLE DB , un set de interfețe care ar permite ca elemente ale produsului de bază SQL Server să fie dezvoltate ca componente independente. Astfel de componente ar putea comunica între ele folosind stratul OLE DB.
Timp de aproximativ nouă luni s-a lucrat și pe SQL Server noaptea. Pe 14 iunie 1995, produsul a fost lansat sub numele Microsoft SQL Server 6.0, respectând astfel termenele corporative. În urma lansării versiunii, au urmat o mulțime de publicații pozitive în presa de specialitate. Revista InfoWorld a clasat Microsoft SQL Server drept al doilea cel mai mare sistem de gestionare a bazelor de date în al doilea sondaj anual al 100 de companii cu cele mai inovatoare aplicații client/server. În același timp, SQL Server și-a crescut ponderea de la 15% la 18% în rândul respondenților care au indicat acest SGBD ca alegere, în timp ce ponderea SGBD-ului Oracle a scăzut de la 24% la 19%, respectiv. Cota Sybase a crescut, de asemenea, de la 12% la 14%. Trei dintre primele zece aplicații InfoWorld au fost construite folosind Microsoft SQL Server.
Cu toate acestea, au existat dovezi că cota de piață a Microsoft SQL Server este mult mai mică decât au arătat sondaje similare. O problemă a fost că Microsoft era încă nou în sectorul DBMS. La acea vreme, Oracle era liderul clar, iar Sybase, Informix și IBM aveau poziții serioase. Piața este de fapt o situație foarte îngrijorătoare pentru Microsoft, deoarece toate aceste companii au început să-și construiască tactici de vânzare împotriva Microsoft SQL Server. În același timp, Sybase, Informix și Oracle au plănuit să lanseze noi versiuni ale produselor lor. Ca parte a strategiei de dezvoltare SQL Server, Microsoft a continuat să consolideze în mod activ echipa de dezvoltare SQL Server, care la acel moment avea deja o istorie de mai bine de patru ani. Au fost angajați atât profesioniști deja cunoscuți la acea vreme, precum Jim Gray , Dave Lomet și Phil Bernstein cât și dezvoltatori mai puțin cunoscuți, inclusiv foști angajați DEC care au lucrat pe Rdb .
După lansarea versiunii 6.0, au început lucrările la versiunea 6.5. Ca parte a noii versiuni, s-a planificat implementarea acelor caracteristici care au fost amânate la lansarea versiunii 6.0, mai ales că în cele 18 luni de dezvoltare, cerințele pentru SGBD au crescut semnificativ. De exemplu, în 1995, internetul și transmisia de date au jucat deja un rol important. Lansarea versiunii 6.5 ar fi trebuit să satisfacă aceste solicitări. O versiune beta complet funcțională a versiunii 6.5 a fost lansată pe 15 decembrie 1995 prin intermediul a 150 de site-uri beta. Livrările oficiale ale noii versiuni au început în aprilie 1996, adică la aproximativ 10 luni de la lansarea versiunii 6.0.
Au fost adăugate, de asemenea, instrumente pentru a simplifica utilizarea produsului de către utilizatori, asistență extinsă pentru tranzacțiile distribuite și alte caracteristici. De asemenea, a primit un certificat de conformitate cu standardul de limbaj ANSI SQL.
Ulterior, în decembrie 1997, în paralel cu lansarea celei de-a doua versiuni beta a SQL Server 7.0, a fost lansat și SQL Server 6.5 EE, care avea suport pentru clustere de failover cu două noduri Microsoft Cluster Server, 8 procesoare și 3 GB spațiu de adrese.
La sfârșitul anului 1995, a început dezvoltarea următoarei versiuni de SQL Server , cu numele de cod Sphinx . Deja în prima etapă, viitorul cod MSDE a fost adăugat codului SQL Server, iar echipa de dezvoltare care a lucrat la el s-a alăturat echipei de dezvoltare de bază SQL Server. Dezvoltarea noii generații de SQL Server a avut un obiectiv principal: reproiectarea întregului motor de server de baze de date astfel încât să permită utilizatorilor să scaleze SQL Server în funcție de dorințele lor. Aceasta a însemnat creșterea progresivă a capacității de a profita la maximum de procesoarele mai rapide (precum și creșterea numărului acestora) și a cantității de memorie disponibilă pentru sistemul de operare. În plus, o astfel de extensie nu ar trebui să limiteze capacitatea de a adăuga funcționalități noi la oricare dintre componente, de exemplu, un nou algoritm pentru conectarea unui nou hard disk ar putea fi adăugat cu ușurință la codul de gestionare a cererii. Pe lângă această extindere, SQL Server a trebuit să accepte noi clase de aplicații de baze de date, ceea ce a însemnat, la rândul său, opusul creșterii, și anume reducerea cerințelor hardware, astfel încât produsul să poată funcționa pe sisteme mult mai slabe, cum ar fi acasă. PC-uri sau laptopuri.
Pe termen scurt, datorită unei astfel de reproiectări, s-a planificat atingerea a două obiective:
Un domeniu care a primit multă atenție în timpul dezvoltării a fost îmbunătățirea performanței aplicațiilor de nivel înalt, cum ar fi software-ul de planificare a resurselor întreprinderii. Aici au fost necesare scalabilitate și ușurință în utilizare, împreună cu fiabilitatea ridicată a motorului bazei de date. De asemenea, au fost dezvoltați mai mulți algoritmi care automatizează cea mai mare parte a configurației bazei de date și permit sistemului să gestioneze unele dintre problemele de configurare cu care se confruntă administratorul bazei de date. Conform acestor algoritmi, Microsoft a primit ulterior mai multe brevete. De asemenea, se lucrează pentru asigurarea unui mecanism de blocare la nivel record. Acest mecanism ar permite aplicațiilor să acceseze un anumit rând dintr-un tabel, mai degrabă decât o pagină întreagă, ceea ce ar reduce foarte mult numărul de conflicte atunci când există mai multe modificări simultane ale datelor din același tabel. În versiunea 6.5, acest mecanism avea o implementare foarte limitată, astfel că noua versiune presupunea deja implementarea blocării complete la nivel de înregistrare [11] .
În octombrie 1996, Microsoft a achiziționat tehnologia Plato de la compania israeliană Panorama Software Systems. Această tehnologie a fost una dintre implementările tehnologiilor OLAP pentru DBMS. La acel moment (precum și la momentul lansării SQL Server 7.0 în 1998), tehnologia OLAP era considerată foarte dificil de utilizat și, prin urmare, era subutilizată. Cu toate acestea, a fost luată decizia de a construi Plato în codul SQL Server 7.0, dar având în vedere cerințele de scalare ale noii versiuni de SQL Server, rezultatul a fost că Plato trebuia reproiectat pentru a îndeplini cerințe similare. Dezvoltatorii au fost însărcinați să-l transforme într-un produs care, în ceea ce privește scalabilitatea, ușurința de utilizare și integrarea cu software-ul corporației, nu ar fi diferit de niciun produs Microsoft. În viitor, serverul OLAP, care a devenit una dintre completările cheie la SQL Server 7.0, a fost numit Servicii OLAP [11] .
În decembrie 1996, a fost lansat Microsoft Transaction Server 1.0 (numit de cod Viper), combinând funcționalitatea unui monitor de tranzacții și a unui broker de solicitare de obiecte.
Iunie 1997 a avut loc lansarea limitată a primei versiuni beta a noului SQL Server 7.0. În decembrie același an, o a doua versiune beta a produsului a fost trimisă la câteva sute de utilizatori pentru testare. Datorită trecerii la o nouă arhitectură, la actualizarea unei versiuni de SQL Server, utilizatorii au necesitat o schimbare completă a bazelor de date și a structurilor acestora. Pentru a sprijini tranziția clienților la noua versiune, a fost anunțat un program special 1K Challenge, în cadrul căruia 1000 de clienți puteau trimite copii ale bazelor de date dezvoltatorilor SQL Server pentru a le porta la versiunea 7.0. Un laborator special pentru verificarea rezultatelor portului a fost creat în același campus din Redmond în care se afla echipa de dezvoltare SQL Server. În fiecare săptămână, din februarie până în august 1998, patru sau cinci companii de software terțe și-au trimis echipele de dezvoltare la Microsoft timp de o săptămână, timp în care au testat în laborator că produsele lor vor funcționa fără probleme cu SQL Server 7.0. Când au fost descoperite probleme, dezvoltatorii de top ai SQL Server s-au ocupat imediat de ele, discutând în prealabil soluțiile cu invitații.
În iunie 1998, Beta 3 a fost postat pe un site web dedicat. Împreună cu versiunea beta, au fost publicate mai multe exemple de soluții de problemă, care demonstrează noi caracteristici ale produsului. În plus, a fost lansat un server de știri special, astfel încât orice utilizator al versiunii Beta 3 să poată raporta erorile găsite sau să întrebe dezvoltatorii despre noile funcții ale produsului. În total, peste 120.000 de testeri au primit SQL Server 7.0 Beta 3. Acest număr include companiile care au comandat versiunea direct prin site-ul web Microsoft, abonații MSDN și membrii programului oficial Microsoft Beta (care primesc versiuni beta ale tuturor produselor Microsoft, deoarece sunt lansate).
Înainte de lansarea SQL Server 7.0, existau zvonuri că Microsoft intenționează să înlocuiască Access cu o versiune simplificată a bazei de date relaționale SQL Server. Corporația le-a respins, afirmând că noua versiune de Access pentru Office 2000 va avea două motoare alternative de baze de date: Jet, mediul de stocare nativ lansat acum pentru Access și noul MSDE. Conform informațiilor prezentate la acea vreme, MSDE nu trebuia să fie o versiune încorporată a SQL Server, ci o tehnologie de stocare a datelor compatibilă cu SQL Server, care are aceeași arhitectură componente, care la rândul său ar permite dezvoltatorilor să folosească Access ca un modul de interfață la SQL Server, aplicați MSDE pentru a construi aplicații care ar putea scala de la o bază de date desktop la un „frate mai mare” relațional la SQL Server sau SQL Server Enterprise [11] .
Pe 16 noiembrie 1998, la conferința COMDEX din Las Vegas, SQL Server 7.0 a fost lansat public. Noua versiune a fost prezentată personal de Steve Ballmer . În prezentarea sa, el sa concentrat pe îmbunătățirea performanței SQL Server 7.0 față de versiunea anterioară. El a remarcat, de asemenea, probleme legate de scalabilitate și disponibilitatea aplicațiilor. Potrivit acestuia, „furnizorii de ERP precum Baan, PeopleSoft și SAP vor putea folosi acest DBMS în aproape toate proiectele lor, cu excepția poate celor mai mari”. Conform previziunilor sale, în următorul an și jumătate, furnizorii independenți ar fi trebuit să creeze aproximativ 3.000 de aplicații pentru SQL Server 7.0. Până la lansarea acestei versiuni, existau mai mult de o duzină de implementări de succes ale acesteia, inclusiv în companii atât de mari precum HarperCollins , CBS Sportsline, Comcast Cellular și Southwest Securities. . Mai mult, 10 dintre ei au trecut deja la noua versiune, iar Pennzoil , Barnes & Noble și HarperCollins Publishers au testat-o de câteva luni până la acel moment. Reprezentanții de la Pennzoil, News America (o divizie a HarperCollins) și Barnes & Noble au confirmat performanța îmbunătățită a noii versiuni. Pe lângă produsul SQL Server 7.0 în sine, COMDEX a prezentat și un server special pentru funcționarea neîntreruptă a SQL Server 7.0, iar producătorul de sisteme ERP Baan Corporation a prezentat suita de aplicații BaanSeries '99, concepută exclusiv pentru SQL Server 7.0 [11] .
Întregul ciclu de dezvoltare, conform lui Doug Leland, manager de marketing pentru SQL Server la Microsoft, a durat 3,5 ani. De asemenea, el a poziționat noua versiune drept „primul SGBD relațional de la Microsoft care acceptă toate sistemele sale de operare pe 32 de biți din familia Windows”, iar Microsoft nu avea de gând să lanseze versiuni de SQL Server pentru alte sisteme de operare [11] .
Versiunea 7.0 a fost lansată pe 2 decembrie 1998 ca versiunea 7.00.623.07, în timp ce înghețarea codului a avut loc pe 27 noiembrie 1998. Produsul a devenit disponibil pentru comandă gratuită în ianuarie 1999.
Mulți analiști au considerat lansarea versiunii 7.0 ca „un pas semnificativ către cucerirea pieței de calcul pentru întreprinderi”. Potrivit acestora, Microsoft a contat pe faptul că datorită funcționalității reproiectate a SQL Server 7.0 va deveni standardul corporativ pentru bazele de date. Adăugarea procesării analitice online în SQL Server 7.0 a fost văzută de analiști ca o dezvoltare care „ar putea fi cea mai importantă dezvoltare care a avut loc pe piața OLAP de la începuturile sale”. Motivul pentru aceasta a fost că sistemele OLAP la acea vreme erau concepute exclusiv pentru segmentul corporativ și, deoarece strategia Microsoft presupunea crearea de versiuni și pentru computerele de acasă, datorită acestui fapt, tehnologiile OLAP devin disponibile companiilor mici, ceea ce în sine implică o popularizare semnificativă. din OLAP [11] .
Un alt argument în favoarea „standardizării SQL Server 7.0” a fost capacitatea SQL Server de a se integra cu restul sistemelor de întreprindere, care a fost critică în medii eterogene cu mai multe niveluri și prezența platformelor eterogene și a depozitelor de date. Pentru a avansa în acest domeniu, Microsoft a dezvoltat standarde interne pentru integrarea datelor, cum ar fi OLE DB și ADO și a lucrat, de asemenea, cu furnizori de software terți. Cu toate acestea, concurenții au criticat aceste standarde, afirmând că „unele dintre aceste standarde sunt pur interne”, ceea ce le limitează sever capacitatea de a fi aplicate de către clienții terți. Standardul OLE DB pentru OLAP, pe care Microsoft l-a oferit ca standard industrial și, în același timp, ca parte a pachetului său pentru crearea de depozite de date, a fost, de asemenea, supus unor critici semnificative. Așa că, de exemplu, Jeff Johns, manager de program pentru sistemele de management al datelor de marketing la IBM Corporation , a numit principalul dezavantaj faptul că acest standard a fost dezvoltat de Microsoft și nu de orice consorțiu de standardizare, așa cum era practicat pe scară largă. La o astfel de critică, reprezentanții Microsoft au răspuns că standardul a fost dezvoltat cu participarea a peste 60 de furnizori de stocare a datelor [11] .
Analiştii au remarcat că Microsoft a avut toate şansele să-şi atingă obiectivul. Acest lucru a fost susținut și de stimulentele active pentru producătorii terți de a crea software pentru SQL Server 7.0, iar modelul de distribuție arăta mai bine decât cel al concurenților Oracle și IBM, care în viitor ar putea permite vânzarea de loturi angro la un preț mai mic și, datorită acestui fapt, deveniți un jucător serios pe piața corporativă.baze de date [11] .
Era planificat vânzarea noii versiuni la nivel mondial prin revânzători, inițial versiunea originală în limba engleză, iar în următoarele două luni urmau să apară versiuni în franceză, germană, spaniolă și japoneză. Până la sfârșitul lunii februarie 1999, Microsoft plănuia să lanseze și o versiune chineză. În ceea ce privește versiunile de produs, s-a planificat lansarea versiunilor standard și enterprise în trei configurații fiecare (în funcție de numărul de utilizatori permisi). În plus, a fost anunțată o ofertă specială care permitea utilizatorilor să-și actualizeze sistemul la SQL Server sau să migreze din bazele de date concurente în 99 de zile de la anunț, plătind doar 99 USD per utilizator pentru SQL Server 7.0 [11] .
Analiștii au speculat că aceste prețuri ar putea forța concurenții de baze de date ai Microsoft să-și reducă prețurile tradiționale mari (deși Oracle, de exemplu, a refuzat oficial să facă acest lucru). Analiștii au fost, de asemenea, destul de sceptici față de noua versiune, considerând că SQL Server 7.0 a fost destinat în primul rând sistemelor din piața de baze de date low-end pentru Windows NT, mai ales că mai mulți testeri beta au confirmat că noua versiune îndeplinește pe deplin cerințele acestora. De exemplu, Herb Edelstein, analist la Two Crows, a declarat că „prețurile mici stabilite de Microsoft vizează eliminarea concurenței pe această piață”, în timp ce „chiar și ținând cont de toate noile funcții, SQL Server 7.0 va putea rezolva doar o parte din problemele cu care se confruntă utilizatorii marilor corporații. Betsy Barton, analist la Gartner Group, a considerat că, deși completările prezentate în noua versiune „merită atenție”, totuși, „fiabilitatea generală și scalabilitatea sistemului sunt încă sub semnul întrebării”. Cu toate acestea, reprezentanții companiilor în care a fost testată noua versiune au continuat să caracterizeze pozitiv produsul. Pe lângă companiile menționate anterior, Mark Mitchell, consultant de sisteme pentru Applied Automation, și Joe Misiazhek, manager de suport pentru aplicații pentru sistemul utilizat la Colorado Community College, au vorbit pozitiv despre produs. Ei au remarcat costul accesibil al produsului, performanța bună și ușurința relativă de dezvoltare [11] .
Asemenea mișcări ale Microsoft au provocat o reacție din partea concurenților. De exemplu, Oracle Corporation a fost nevoită să-și schimbe strategia de vânzări. Potrivit unei declarații larg răspândite, corporația a trebuit să înceapă să-și vândă DBMS-ul instalat pe „aparate server” preconfigurate care utilizează un sistem de operare simplificat dezvoltat cu participarea însuși Oracle. Potrivit șefului Oracle Larry Ellison, astfel de inovații trebuiau să „reducă costul de proprietate al bazei de date Oracle și, în același timp, să consolideze competitivitatea produsului în confruntarea cu SQL Server al Microsoft”. La mijlocul lunii noiembrie 1998, Oracle a semnat un acord cu Dell, Compaq, Hewlett-Packard și Sun Microsystems pentru a începe să vândă servere până la sfârșitul primului trimestru al anului 1999. Sistemul de operare instalat pe noile servere conținea componente Solaris (în viitor trebuia să folosească componente Linux ) și era atât de simplu încât această inițiativă s-a numit Raw Iron („Bare Iron”). Partenerii Oracle urmau să ofere trei tipuri de servere ("mici, medii și mari", așa cum le numea Ellison) preconfigurate pentru sarcini specifice, cum ar fi e-mail și IFS (Internet File System). Astfel, ar fi trebuit să aibă loc trecerea de la vânzările unei versiuni în cutie a SGBD-ului la vânzările de servere, al căror cost de proprietate este mult mai mic. Această strategie, conform lui Ellison, trebuia să ajute să ademenească unii dintre cumpărătorii SQL Server [11] .
Ca și în vremurile anterioare, munca pe SQL Server nu s-a oprit după lansarea celei de-a șaptea versiuni. Versiunea 7.0 nu includea toate funcționalitățile planificate inițial și, în plus, mai existau câteva dezvoltări care se aflau în etapele finale, destinate să fie incluse în următoarea versiune majoră. Astfel, a început dezvoltarea a două versiuni: Shilo ( English Shiloh ) - lansarea „junior” a versiunii 7.0 (relativ vorbind 7.5 prin analogie cu versiunea anterioară) și Yukon ( English Yukon ) - următoarea lansare majoră.
Managerii de produse SQL Server au fost inițial reticenți în a prezice popularitatea SQL Server 7.0. Motivul pentru aceasta a fost că această lansare se baza pe un cod de motor de server complet rescris, ceea ce i-a făcut pe mulți clienți să o considere doar ca o primă lansare și era evident că mulți dintre potențialii clienți ai celei de-a șaptea versiuni ar prefera să aștepte ceva. un fel de „versiune fixă” sau cel puțin primul pachet de service (pachet de service). Deci, Shiloh a fost planificat inițial ca un fel de pachet de servicii super și a fost planificat să includă funcționalități care nu erau incluse în versiunea 7.0 din cauza timpului scurt de dezvoltare, precum și remedierea tuturor erorilor găsite la acel moment, care era prea voluminos. pentru versiunea obișnuită „nenumerată. În consecință, sa planificat lansarea Shiloh în cel mult un an după lansarea SQL Server 7.0.
Cu toate acestea, mai mulți factori au influențat simultan schimbarea conceptului original de Shiloh. În primul rând, contrar așteptărilor, doar o mică parte dintre clienți s-au îndoit de necesitatea de a migra la versiunea 7.0, iar vânzările către clienți noi au depășit așteptările lor cele mai nebunești. Feedback-ul clienților a fost, de asemenea, destul de pozitiv. Chiar și după lansarea SQL Server 7.0, Microsoft a continuat să mențină un laborator de dezvoltare software terță parte, care a asigurat că dezvoltatorii primesc în mod constant feedback și feedback de la clienți. Comentariile și erorile găsite au fost corectate ușor în mod obișnuit, iar un pachet de corecții pentru SQL Server 7.0 a fost lansat în mai 1999 . Al doilea pachet de corecții a fost lansat în martie 2000 . Astfel, nevoia unui pachet de servicii super, așa cum arăta inițial Shiloh, a dispărut.
Al doilea factor au fost solicitările de caracteristici din partea clienților. De exemplu, implementarea inițial planificată a integrității referențiale pentru actualizările și ștergerile în cascadă nu a fost inclusă în cele din urmă în SQL Server 7.0. Clienții, pe de altă parte, și-au exprimat un interes extrem pentru un astfel de mecanism și au cerut ca acesta să fie implementat cât mai curând posibil. În plus, au existat numeroase solicitări de asistență pentru vizualizările partiționate și pentru optimizarea suportului pentru schema de proiectare în stele , care este utilizată pe scară largă în aplicațiile de inventariere a depozitelor .
Un alt factor a fost competiția dintre furnizorii de baze de date, cerând ca următoarea versiune să fie mai mare și mai bună decât era planificat inițial. Provocarea Million Dollar Challenge de Larry Ellison de la Oracle Corporation a avut, de asemenea, un impact mare , evidențiind unele dintre funcționalitățile care erau deja disponibile în Oracle, dar încă lipsesc în SQL Server. Adăugarea unei astfel de funcționalități a mers cu mult dincolo de o simplă remediere.
În cele din urmă, a fost luată decizia de a face din Shiloh o versiune majoră cu drepturi depline, cu un ciclu de dezvoltare de 18 luni, dar păstrând versiunea oficială cu numărul 7.5. Numărul de modificări la acel moment era greu de prezis și singura schimbare care era cunoscută cu siguranță la acel moment era o îmbunătățire a actualizărilor și ștergerilor în cascadă. Curând a devenit clar că lansarea creștea deja dincolo de planurile inițiale. În același timp, echipa de dezvoltare a crescut și ea, trecând din campusul principal Microsoft la o parte din birourile clădirii gemene. Creșterea numărului de dezvoltatori a făcut posibilă adăugarea unui număr mare de îmbunătățiri medii și mici produsului fără nicio schimbare semnificativă a momentului de lansare a produsului.
De asemenea, dezvoltatorii, pe lângă sarcinile de îmbunătățire și creștere a funcționalității, și-au stabilit așa-numitele. „misiuni flexibile”. De exemplu, au anunțat necesitatea obținerii unei creșteri de 20% a performanței pentru toate tipurile de aplicații, dar pentru a preciza sarcina s-a făcut o comparație cu anumite aplicații. De exemplu, unul dintre obiectivele principale a fost îmbunătățirea performanței în benchmark-ul de vânzări și distribuție SAP R/3 cu cel puțin 40%. Pentru a realiza sarcina, dezvoltatorii au făcut modificări speciale în optimizator care afectează direct cererile de la SAP, dar în același timp îmbunătățesc solicitările din alte aplicații. Pe 17 februarie 2000, la evenimentul de lansare Windows 2000 din San Francisco, au fost anunțate rezultatele benchmark-ului de vânzări și distribuție arătând o capacitate de încărcare de 6.700 de utilizatori, depășind semnificativ SQL Server 7.0 (4.500 de utilizatori) la același test și hardware (am folosit o mașină cu opt procesoare cu un Pentium III-550). Astfel, creșterea productivității a fost de 48%, ceea ce înseamnă că această sarcină a fost finalizată.
După ce s-a luat decizia de a prelungi perioada de dezvoltare la 18 luni, s-a luat o altă decizie pentru adăugarea de noi funcționalități. Această decizie a fost păstrată în cea mai strictă confidențialitate și nu a fost discutată nici măcar cu mulți directori de la Microsoft. Noua funcționalitate nu a fost menționată nici măcar după lansarea primei versiuni beta în noiembrie 1999 și nu a fost prezentată public până în februarie la evenimentul de lansare a Windows 2000. Acest proiect secret, cu numele de cod Coyote , a avut ca scop adăugarea suportului pentru SQL Server 2000 pentru vederi partiționate distribuite, care ar permite o scalabilitate ridicată atunci când lucrați cu date. Această funcționalitate a făcut posibilă stabilirea unui record mondial, care a fost anunțat la San Francisco în februarie 2000 . Aceste modificări de scalabilitate au fost inițial destinate unei ediții post-Shiloh, dar deoarece majoritatea componentelor necesare erau deja la locul lor, s-a decis să se adauge această funcționalitate la reprezentarea SQL Server 2000.
Prima versiune beta a Shiloh a fost lansată pentru teste inițiale și testare de către testerii beta în septembrie 1999 , iar Microsoft a anunțat curând că noua versiune a produsului va fi numită oficial SQL Server 2000. Au existat două motive principale pentru această schimbare de nume. În primul rând, având în vedere numeroasele și serioase modificări ale noii versiuni, a fost neprofitabilă lansarea acesteia ca versiune intermediară (7.5), ceea ce înseamnă că era nevoie de un număr nou. Dar, în al doilea rând, dacă noua versiune este lansată ca 8.0, atunci se va dovedi că din întreaga familie Microsoft BackOffice va fi singurul produs care nu are prefixul 2000 în nume. Pentru a menține unitatea numelor de produse, s-a decis denumirea produsului SQL Server 2000 (în acest caz, numărul versiunii interne arăta în continuare ca 8.00.194).
Din punctul de vedere al utilizatorului, SQL Server 2000 a oferit mult mai multe opțiuni decât versiunea anterioară. SQL Server 7.0 avea un motor complet rescris, suport pentru noi structuri stocate, metode de acces la date, tehnologii de blocare a înregistrărilor, algoritmi de recuperare, o nouă arhitectură de înregistrare a tranzacțiilor , o nouă arhitectură de memorie și un optimizator. Cu toate acestea, din punctul de vedere al unui dezvoltator sau al DBA, modificările și îmbunătățirile de limbaj din SQL Server 7 au fost minime. SQL Server 2000 a avut numeroase îmbunătățiri ale limbajului, precum și modificări majore la obiectele introduse anterior, cum ar fi constrângerile de tabel, vizualizările și declanșatoarele de care aveau nevoie toți dezvoltatorii și majoritatea DBA.
Deoarece modificările interne ale motorului au fost minime, au fost planificate doar două versiuni beta. A doua versiune beta, lansată în aprilie 2000 , a devenit o versiune beta publică și a fost trimisă mii de utilizatori interesați, participanți la conferințe din industrie, dezvoltatori de software terți și consultanți. Echipa de dezvoltare a înghețat codul pe 6 august 2000 la versiunea 8.00.194.01, iar produsul a fost lansat pe 9 august .
Dezvoltarea următoarei versiuni de SQL Server, cu numele de cod Yukon, a început în paralel cu dezvoltarea versiunii pe 64 de biți a SQL Server 2000, cu numele de cod Liberty. Liberty a fost în esență aceeași versiune pe 32 de biți în funcționalitate, dar diferența era în scalabilitate mult mai mare. Noua funcționalitate trebuia să fie implementată ca parte a Yukon.
În iulie 2002, Microsoft, ca parte a prezentării oficiale a noului său .NET Framework , a anunțat că următoarea versiune a SQL Server, cu numele de cod Yukon, va putea folosi capacitățile platformei .NET. În special, s-a afirmat că ar fi mai ușor să gestionezi datele distribuite în Yukon [12] .
Pe 24 aprilie 2003, la o conferință din San Francisco dedicată lansării Windows Server 2003 , Microsoft a anunțat lansarea versiunii pe 64 de biți a SQL Server 2000 (cunoscută anterior ca Liberty). Potrivit unui comunicat de presă publicat, noua versiune a SQL Server 2000 a fost proiectată să funcționeze cu versiunea pe 64 de biți a Windows Server 2003. Al treilea produs introdus împreună cu Windows Server 2003 și noua versiune a SQL Server 2000 a fost Visual Studio . NET 2003 . Acest trio de produse, conform Microsoft, a fost următorul pas în interconectarea sistemului de operare, a serverului SQL și a mediului de dezvoltare, apropiindu-se astfel de tranziția la o singură platformă .NET Framework , care a fost implementată mult mai complet în următoarea versiune. de SQL Server. În cadrul prezentării, Steve Ballmer și Paul Otellini au spus că serverul cu noua versiune de SQL Server 2000 instalată a stabilit două noi recorduri conform rezultatelor testelor efectuate de organizația non-profit Transaction Processing Performance Council . Ca și în cazurile anterioare, noua versiune a fost preinstalată pentru testare de către principalii parteneri Microsoft, inclusiv Cornell University , Information Resources, Inc ( SymphonyIRI Group ), JetBlue Airways , Liberty Medical Supply ( Liberty Medical ) și Universitatea Johns Hopkins , ca răspuns la care reprezentanții oficiali ai acestor organizații au dat un răspuns pozitiv noului produs [13] .
Scopul lansării versiunii pe 64 de biți a fost dorința de a începe să ocupe acea parte a pieței care anterior aparținea în întregime soluțiilor de înaltă performanță bazate pe sisteme care rulează sistemul de operare UNIX . Deși funcționalitatea a rămas în esență neschimbată față de versiunea pe 32 de biți, versiunea pe 64 de biți ar putea funcționa cu mult mai multă memorie, care a fost accesată de sistemul Windows Server 2003 pe 64 de biți, datorită căruia noua versiune de SQL Server 2000 ar putea scala. la nivelul sistemelor performante, cu care versiunea pe 32 de biți nu a putut concura din cauza limitărilor sale. Cumpărătorilor versiunii pe 32 de biți li sa oferit upgrade-ul la noua versiune fără costuri suplimentare [13] .
În noiembrie 2003, la conferința PASS din Seattle , directorii Microsoft au vorbit despre noile mecanisme ETL implementate în Yukon, care au fost folosite pentru a transfera informații acumulate anterior din aplicațiile existente în depozitele de date. Din punctul de vedere al Microsoft, aceste mecanisme ar fi trebuit să fie unul dintre argumentele pentru atragerea utilizatorilor corporativi. Arhitectura SQL Server ETL implementată în Yukon se numește Data Transformation Services (DTS). Potrivit lui Gordon Mangione, vicepreședinte Microsoft și șeful echipei SQL Server, DTS a fost destinat să implementeze concurența, permițând utilizatorilor să efectueze simultan mai multe sarcini complexe, cum ar fi traducerea datelor, citirea acestora și suprascrierea lor într-un singur fir [14] .
Pe lângă ETL, s-a pus accent și pe simplificarea configurației și gestionării DBMS, precum și pe îmbunătățirea scalabilității. În special, reprezentanții Microsoft au spus că, de exemplu, un proces care acoperă milioane de coloane de date, datorită scalabilității crescute, va putea rula în secunde, nu în minute. În plus, noua versiune de SQL Server a fost planificată să includă caracteristici care facilitează crearea și gestionarea depozitelor de date, precum și efectuarea de operațiuni legate de business intelligence. Microsoft a promis dezvoltatorilor un nou API care va suporta platforma .NET (și limbajul Visual Basic în special), eliminând necesitatea unui cod DTS specific [14] .
Tot în cadrul conferinței, Mangione a anunțat finalizarea Analizatorului de bune practici pentru SQL Server 2000, care menține o listă de 70 de reguli compilate în comun de dezvoltatorii Microsoft și utilizatorii SQL Server. O astfel de listă trebuia să simplifice procesul de configurare DBMS de către administratorii bazei de date și să îi ajute să evite cele mai frecvente greșeli. În același timp, au fost susținute funcțiile de backup și recuperare după defecțiuni, precum și managementul bazei de date și monitorizarea performanței. Mangione a promis că corporația va actualiza trimestrial acest set de instrumente [14] .
Versiunea de SQL Server care trebuia să înlocuiască SQL Server 2005 avea numele de cod Katmai. În perioada de dezvoltare activă, Microsoft a fost extrem de reticent în a împărtăși informații despre noua versiune. La prezentarea SQL Server 2005, Paul Flessner (pe atunci VP al afacerii Microsoft SQL Server) a declarat cu încredere că o nouă versiune va fi lansată nu mai târziu de doi ani după lansarea SQL Server 2005. Cu toate acestea, în aprilie 2007, nu a existat informații despre lansarea iminentă a produsului sau cel puțin despre începutul testării lui beta. Cu toate acestea, un blog austriac de pe TechNet a publicat informații despre Programul de adoptare a tehnologiei Katmai (TAP), care ar fi fost programat să înceapă în iunie 2007. Au mai fost menționate zvonuri că noua versiune va fi lansată în 2008, dar Microsoft la acea vreme nici nu a confirmat, nici a infirmat această informație. Unele surse au legat lansarea lui Katmai de lansarea Longhorn Server și Visual Studio Orcas, motiv pentru care noua versiune trebuia să fie lansată în prima jumătate a anului 2008 conform acestor informații. De asemenea, Microsoft a refuzat să comenteze aceste informații [15] .
Cu toate acestea, unii jurnaliști care au discutat cu reprezentanții corporației au declarat că zvonurile despre lansarea lui Katmai în 2008 sunt în concordanță cu planurile interne ale Microsoft însuși. Iar refuzul corporației de a dezvălui orice informații despre noua versiune a fost asociat cu tranziția la un nou model de dezvoltare și, din această cauză, era puțin probabil ca Katmai să fie lansat la începutul lui 2008. De asemenea, s-a menționat că Katmai nu va primi o etapă oficială de testare beta, ci, în schimb, testarea publică va avea loc în cadrul programului Community Technology Preview (abreviar CTP). În același timp, s-a afirmat că unii clienți Microsoft au avut deja în aprilie 2007 unele părți din Katmai pentru testare, fără a avea în același timp întreaga versiune în mână. În ceea ce privește funcționalitatea noii versiuni, jurnaliștii au scris că Katmai ar fi doar o dezvoltare a SQL Server 2005, și nu o nouă generație a produsului, care SQL Server 2005 a devenit cândva [15] .
SQL Server 2008 R2 a devenit oficial disponibil pentru cumpărare pe 21 aprilie 2010.
La sfârșitul anului 2010, Ted Kammert, vicepreședintele Microsoft Business Platform Division, a declarat că noua versiune a fost „introdusă foarte repede”, în special, la două luni după lansarea produsului, „a fost descărcată de pe Internet de aproximativ 700.000 de ori. ", care, potrivit lui, a fost "cea mai mare cifră pentru noua versiune de SQL Server" [16] .
În paralel cu aceasta, pe 30 iunie 2010, Scott Guthrie a anunțat pe blogul său lansarea unei noi versiuni mobile de SQL Server - SQL Server Compact 4.0 , concentrată în primul rând pe aplicații web create pe baza tehnologiei ASP.NET 4 . Ca avantaje ale noii versiuni, Guthrie a evidențiat absența necesității instalării programului, precum și compatibilitatea cu .NET Framework API (suport pentru tehnologii ADO.NET , Entity Framework , NHibernate etc., capacitatea de a lucra cu Visual Studio 2010 și Visual Web Developer 2010 Express ) și cele mai recente versiuni de SQL Server și SQL Azure [17] la acel moment .
Pe 7 iulie 2010, Ambrish Mishra, Manager de proiect SQL Server Compact, a lansat versiunea CTP1 a noului SQL Server Compact 4.0 pe blogul oficial al echipei SQL Server CE. Ca inovații (în plus față de cele indicate de Scott Guthrie), fiabilitate crescută, algoritm de criptare SHA 2 îmbunătățit, compatibilitate cu fișierele bazei de date Compact 3.5, instalare simplificată (inclusiv suport pentru moduri WOW64 și aplicații native pe 64 de biți), utilizare redusă a memoriei virtuale , Permite tehnologia de delegare a atributului apelantului de încredere parțial (APTCA), suport pentru WebMatrix Beta și Visual Studio 2010, suport pentru interogări de paginare în T-SQL . În același timp, versiunea CTP1 a avut anumite probleme (dezinstalare incorectă prin linia de comandă, probleme de compatibilitate cu versiunea actuală a ADO.NET Entity Framework CTP3 etc.) [18] .
În timpul conferinței PASS Summit, care a avut loc în perioada 8-11 noiembrie 2010 la Seattle, participanții săi (precum și abonații MSDN și TechNet) au primit copii ale versiunii Denali CTP (după un timp această versiune a fost postată pe site-ul oficial Microsoft site-ul web). În cadrul conferinței în sine, Ted Kammert și Quentin Clark, directorul general al Microsoft Database Systems Group, au prezentat noua versiune și au vorbit despre noua caracteristică AlwaysOn și tehnologia VertiPac (parte a SQL Server Analysis Services și Data Warehouse). De asemenea, s-a pus accent pe dezvoltarea instrumentelor de business intelligence în noua versiune, a instrumentelor de virtualizare interactive bazate pe Web (proiectul Crescent), precum și a instrumentelor de dezvoltare cu numele de cod Juneau [16] .
Pe 22 decembrie 2010, Ambrish Mishra pe blogul oficial al echipei de dezvoltare a anunțat lansarea SQL Server Compact 4.0 CTP2 și a setului de instrumente Visual Studio 2010 pentru lucrul cu această versiune a SQL Server CE [19] .
Versiunea finală a SQL Server Compact 4.0 a fost lansată oficial pe site-ul Microsoft pe 12 ianuarie 2011, completând astfel o fază de dezvoltare de aproximativ un an [20] .
Pe 11 iulie 2011, echipa de dezvoltare SQL Server a anunțat pe blogul lor oficial lansarea Community Technology Preview 3 (abreviar CTP3) și primul pachet de servicii pentru SQL Server 2008 R2 [21] . Ca cele mai semnificative inovații (relativ la SQL Server 2008 R2) implementate în versiunea CTP3 a noului produs, analiștii au remarcat componenta SQL Server AlwaysOn pentru crearea de copii de siguranță a bazei de date, capacitatea de a instala SQL Server într-un mediu Windows Server Core , o coloană. organizarea stocării datelor pentru a accelera interogările de execuție, îmbunătățiri ale limbajului T-SQL (introducerea obiectelor Sequence și a funcțiilor ferestrei), capacitatea de a urmări modificările datelor (CDC) pentru DBMS Oracle, capacitatea de a defini rolurile de server de către utilizator (anterior erau fixate rigid), Data Quality Services (baze de cunoștințe), definirea regulilor de metadate), un nou instrument de vizualizare a datelor numit Project Crescent, suport pentru bazele de date offline (pentru trecerea între instanțe SQL Server și SQL Azure) și un nou SQL Server Developer Tools cu nume de cod Juneau [22] .
SQL Server 2008 R2 SP1 conținea remedieri de erori pentru care Microsoft a primit plângeri de la clienți prin serviciul de raportare a erorilor Windows, precum și unele îmbunătățiri ale funcționalităților ( Vizualizări de gestionare dinamică , viteză crescută de execuție a interogărilor folosind tehnologia ForceSeek, Cadrul de componente de aplicație de nivel de date (abbr. DAC Fx) pentru a simplifica actualizările bazei de date, controlul spațiului disponibil pe hard disk pentru PowerPivot) [21] .
La sfârșitul anului 2010 (adică înainte de lansarea SQL Server 2012), Ted Kammert, vicepreședintele Diviziei Microsoft Business Platform, a vorbit într-un interviu despre planurile de dezvoltare ulterioară a produsului (atât SQL Server 2012, cât și viitor). versiuni). În special, Kammert a spus că munca pe SQL Server este în contextul ideilor Information Platform Vision, care este un set de caracteristici diverse care formează baza platformei. SQL Server va continua să fie un singur produs pe desktop, centru de date și cloud (atât pe 32 de biți, cât și pe 64 de biți). Una dintre domeniile prioritare va continua să fie business intelligence ( ing. business intelligence , BI ). Din punctul de vedere al Microsoft, dezvoltarea de instrumente BI self-service , precum și dezvoltarea ecosistemului de cloud computing , vor rămâne o prioritate în domeniul business intelligence . În plus, atunci când mută instrumentele de business intelligence în „nori”, Microsoft încă lucrează la implementarea principiului coerenței cu privire la modelele și instrumentele de programare implementate (aceasta include, în special, creșterea capacității SQL Server Management Studio de a lucra cu Mediul SQL Azure ). De asemenea, se acordă multă atenție problemelor de scalare a DBMS (în același timp, limita sistemului SQL Server ar trebui crescută la un prag de câteva sute de terabytes), virtualizării aplicațiilor într-un mediu de bază de date, precum și reprezentării spațiale a datelor [ 16] .
Lansarea SQL Server 2014 a devenit disponibilă la 1 aprilie 2014.
Lansat în iunie 2016.
Lansat în februarie 2017. Prima versiune care include suport Linux.
Lansat în noiembrie 2019. Versiunea actuală din decembrie 2020.
Microsoft SQL Server | |||||||||
---|---|---|---|---|---|---|---|---|---|
Companii de dezvoltare | |||||||||
Versiuni |
| ||||||||
Servicii | |||||||||
Utilități |
| ||||||||
Extensii SQL |
| ||||||||
În plus |
|
Sisteme de management al bazelor de date (DBMS) | |
---|---|
Client server | |
Motoare | |
Server de fișiere |
Bază de date | |
---|---|
Concepte |
|
Obiecte |
|
Chei | |
SQL |
|
Componente |