SQL Server 2008 ????????? ????? ?????? ??????????? ????????? ???????? ??????, ??? ??? ??????????????, ??, ????????, ?? ??? ??? ???????, ??? ????? ???????????? ??? ??? ????? ?????????? ??? ???????? ????????????????? ????????? ?????? ??? ????????? ??????? ????? ????????? ?????. ??, ????????, ????? ?????? ??????, ????? ??????? ??????? ???????? ?????? ?????????????????? ??? ???????? ? ??????? ????????? ??????? ? ????? ????????? ?????????????????? ??????? ??????? ?? ????? ?????? SQL Server?.
?? ???? ??????????? ????????? ???????, ????????????? ??? ?????? ????????. ?? ????????, ??? ???? ????????? ????? ????????? ????????? ??????? ???????? ?????? SQL Server 2008, ????????? ? ???????????????????, ??????? ??? ?????????????.
?????????????? ??????-?????????? ?????? ????? ??????????????? ????? ???? ??????. ?????????? ????????? ????? ???? ?????? ??? ??????????? ???????? ?????? ?? ??? ??????? ? ?????????????. ?????? ??????????? ????????? ??????????? ???????? ?????? ???????? ?? ??????? ???????????? ?????????????, ??????? ???? ????????? ????? ?????? ????? ?????? ???????? (Ralph Kimball) ? ?????? ???? (Margy Ross) ?The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling? (?????????????? ????????? ??????: ?????? ??????????? ?? ???????????? ?????????????).
??, ??? ???????? ? ??????????? ??????, ????????? ??????? ? ???????? ??????? ??? ??????????? ???????? ?????? (?????, ??? ???????? ? ??????????). ? ??????????? ????????????? ?????????? ??????? ????????? ? ??????? ??????. ??????? ????????? ???????? ???????? ?????? (????????, ???????, ???????? ??? ??????), ? ??????? ?????? ???????? ?????? ?????????? (???????, ??????, ??????? ??? ????????).
??????? ????????? ? ?????? ????? ????? ?????????? (PK)-??????? (FK) ?????. ?????? ????????? ?????? ?? ?????????? ??????????? FK ??? ?????????? ?????????? ? ?????? ?????????. ??? ??????? ?? ?????????????? ?????? ?? ???????? ?????????? ???????? ? ????????? ????????? ??????????? ??????? ??????. ??????? ????????? ? ????????? ?????? ?????? ?????????, ??? ???????? ? ??????? ?????? ? ?? ?????????? ????????? ?????. ??????? ??????, ? ?????? ???????, ????? ???? ????? ???????? ? ????????? ?? ????? ????????? ?? ?????????? ?????. ??????? ?????????? ????????? ?????? ??????? ?????? ???????? ??????????? ??????? ?????? ? ?????? ?????????.
???? ?????? ??????? ?????? ?? ??, ????? ???? ??????? ??????? ?? ??????? ?????????, ????? ???????????? ??????????? ??????? ?????? ? ??????? ?????????. ????????? ?????, ?????????? ?? ??????-????? ????????? (?? ???? ?? ???????? ?????????????? ???????, ??????????????? ??????????), ?????? ???????? ????????? ????????. ??????? ?????, ??? ??? ???????? ??? ???????????????? ???????? ????? ? ??????? ??????, ?????? ??? ????????? ???? ?? ?????????? ???????? ????? ??????????? ??? ?????? ?????? ??????? ??????.
????? ????? ?? ????, ??? ?????????? ????????? ????? ???????? ?????? ? ?? ??????????? ????? ????????? ????????? ??????????? ?????. ??????????? ???? ? ??? ??????? ??????????????? ???? integer, ??????? ?????? ????????????? ????????? ?????? ??????? ?????????. ??????? ??????? ??????, ??????????? ?? ????????? ??????????? ?????, ??????? ??????? ?????? ?????. ?? ???. 1 ???????? ????? ????????? ?????? ?? ?????? ??????????? ??????, ???????????? ??????? ?????? ? ????????? ? ???????????? ???????.
???. 1 ?????? ????? ???????? ? ???????? ?????? ? ????? ????????? ?????????
????? ?????????? ?????????????? ???? ??? ????????? ????????? ?? ????????? ??????? (????????, ??????, ?????? ? ?????? ??? ????????? ????????), ?????????? ??????? ?????????, ??????? ????? ???? ??????????? ??????????? ???????. ?????? ???????????? ?????????? ?????????, ??????? ????? ?????? ?? ????????. ????????? ????? ????????, ????????, ?? ?????????????? ????????? ?? ???????. ??? ????? ????? ????? ??????, ??? ??????? ?????? ??????? ??????, ? ?????? ??? ??????? ??????? ?????????.
? ?????? «??????» ??? ??????????, ??????????????? ??????????, ??????? ????????? ??????? ??????? ????? ???????? ??????????????????: ?????? ???????? ????????? ?????? ??? ?? ??????? ??????, ?????????? ?????? ?????? ? ????? ??? ??????????? ??????????? ?????? ? ???????????? ???????, ????????? ????????? ???????? ? ??????-??????? ?????? ?????????, ?????????? ?? ????? ??? ?????????? ??????-???????? ? ???????? ????, ?????????? ?? ??????? ?????? ?? ?????????? ???????. ???? ????????? ??? ??????????????????, ??????? ?????? ???????? ??????? ???? ?????????:
select ProductAlternateKey, CalendarYear,sum(SalesAmount) from FactInternetSales Fact join DimTime on Fact.OrderDateKey = TimeKey join DimProduct on DimProduct.ProductKey = Fact.ProductKey where CalendarYear between 2003 and 2004 and ProductAlternateKey like 'BK%' group by ProductAlternateKey,CalendarYear
?????? ??????? SQL ? ??????????? ????????? ?????? ??????? ????? ????????? ??????? ???? ????????. ??? ?? ?????, ??????? ????????? ??????? ???????? ?? ????????, ?????? ??? ???????????? ????????? ???????? ???????? ????????? ??????????????? ?????? ??????? ?????? ?????????. ?????? ??????? ? ??????? ????????? ?? ????????? ?????? ????? ????????????????? ????????. ??? ????????? ?????????? ?????? ???????? ????????? ??????? ? ????? ?????????? ???????????????? ????????? ??????.
?????? ??? SQL Server ???????????? ???????? ?????? ???????? ? ????? ??? ?????????? ??????, ??????? ??? ???????? ? ???????????? ?? ???? ???????? ??????? ????????. ?? ?????? ??????????????? ????? ?????? ??? ??????????? ????? ????????? ??????. ? ???? ??????, ?? ????????? ? ????????????? ??? ?????????? ?????????? ??????? ??? ??????, ?????, ??? ??????????? ?? ???????? ?? ???? ??????????? ???????? ??? ?????????? ? ?????????? ???????? ? ?????? ?????????.
???? ?????? ???? ???????? ?? ???????? ????? ??????? ???????? ? ?? ?????? ??????? ??????? ?? ??????? ??????. ???????????????? ?????? ??????? ?????? ?????????? ????????? ???????? ??????????? ?????? ????????? (??????? ???????? ?????) ? ???????? ?????? ???????. ???????, ???????????? ???? ?????, ?????? ????????? ? ?????? ?????? ???????. ?? ???????? ?????????, ??? ????? ??????? ????????????? ?????????? ??????? ???? ??????? ??? ???????? ?????? ???????? ? ??????? ????????.
????? ????, ???? ??????? ?????????????????? ?????? ? ???? ??????? ??? ??????? ??????? ????????? ????????? (???????? ?????) ? ??????? ??????. ??? ???????????? ????????????????? ???? ??????? ??? ????????, ????? ????????????? ? ????? ?? ?????????.
?????? ????????????????? ??????? ? ?????????? ??????? ?????????????????? ??? ??????????? ???????? ??????? ????????. ????? ?????????????????? ???????? ???????????? ??? ????????, ?????????? ???? ??????? ?????? ??? ????????????? ??????? ??? ????????. ??? ?????????????????? ??????? ?????????, ????????, ???????????? ???? ??????? ?????? ??? ?????? ?????? ? ???????? ?????? ???????.
???????? ???? ? ???????? ?????????, ????? ????????? ??????? ??? ?????? ??????? ?????????. ??? ?????????????????? ?????? ??????????? ?????????? ????? ?? ??????? ???????????? ????? ????????? ? ???????????????? ?????? ???????? ??????-????? ??????? ?????????. ??? ??????? ?????? ????????? ????? ???????? ?????????????????? ??????? ??? ????????, ??????? ????? ???????????? ? ????? ????????????? ??????????.
???????????????? ?????? ??????????? ????????????? ??????????, ?????????????? ? ???????? (ETL) ? ?????? ???????????? ????????? ??????, ??????? ????? ?????????? ?? ???????. ????????, ? ?????? ???????? ?????????? ?????????, ???????????? ?????? ??????????? ?? ?????, ? ????? ? ??????????? ? ??????? ?????????. ????? ????? ??????? ????? ???? ??????????? ?????? ??? ??????? ????????? ? ?????????? ??????? ????????? ?? ????? ETL.
????, ????????? ????, ?????? ??????? ????????? ?????? ??? ?????????? ??????? ??????????? ???????? ?????? ?? SQL Server. ??????????? ?? ???? ???????? ?????????? ???????????? ????????? ??????, ?? ????? ??????????? ???????? ????? ??????? SQL Server 2008.
????????? ??????? ?????? ? ?????? ????? ??????????????? ????? ?????????? ??????? ???????? ? ??????????? ????????? ?????? ?? ??????????? ??????. ? ???? ????? ?????????, ?????? ??? ???? ????? ????????????? ??????? ???????? ?? ??????? ?????? ????? ?? ??????? ??????, ?????? ?? ?????? ?????????. ??????? ????????????? ?????????? ???? ??????? ? ??????? ?????? ????? ??? ??????? ?????????????????? ???????.
SQL Server ?????????? ??????????? ??????? ?? ?????? ?????????, ?? ???? ???????? ??????? ???? ?????????? ? ??????????? ????????? ??????????. ? ????????? ???????? ??????, ??????? ?????? — ?????????, ??? ??????????? ??????? ????????? ??????????? ???????????? ????? ??????? ??? ????? ?????????? ??????? «???????. ? ??????????? ???????? SQL Server ???????? ????????? ???????, ????????????? ?????????????? ???????????????? ????? ?????????? ???????? ???? ????????.
??????? ???? ???????? ????? ??????????? ???? ???????????? ?? ??? ??????, ??? ?? ???. 2. ??? ??????? ?????? ????? ????????? SQL Server ?????????? ?????????? ????? ??? ????? ????????. SQL Server ??????? ?? ??????? ???????? ??????????????? ???????? ?? ????????? ? ??????? ??????. ?????? ??? ????? ???????????, ??? ?????? ????? ?? ??????? ?????? ?? ???????????. ???????? ?????, ?????????? ?? ??????? ??????, ???????????? ??? ???????? ??????? ????????. ??? ???????? ???????? ???????? ?? ???????? ???????? ????????, ?? ?? ???????? ???????? ????????? ??? ???????? ??????????? ???? ???????.
Figure 2 ????????? ??????????????? ??? ???????? ???? ????????
? ?????? ????? ???????? ??????????????????? ???????, ?????????????? ?? 10 ????????? ????? ??????? ??????. ?????? ?????, ?? ??????? ????????????????, ???????? ???????, ?????????????? ?? 10 ?? 75 ????????? ????? ??????? ??????. ??????? ? ??????? ??????, ? ?????? ????????????????, ??????? ????????? ????? 75 ????????? ????? ??????? ??????. ?????????????? ?? ??????? ?????????? ???????? ????? ?????????? ???????? ??? ??????? ?????? ???????????????.
??? ??? ??????????????????? ??????? ???????? ?????? ???????? ?? ????? 10 ????????? ????? ??????? ??????, ?? ???? ????????? ????????? ?????? ? ???????. ??????? ????? ???????? ??? ????? ?????? ???????? ?? ??????????? ????????? ?????? ?????? ? ???????? ???????? (??????????????????) ? ??????? ???????? ? ??????? ??????. ??? ??? ??? ????????? ???????????? ????/????? ? ??????? ??????, ???????????????? ????/?????, ??? ????????? ??????? ????????? ??????? ??????, ?????????? ????? ????????????????. ??????? ?? ???? ????? ?????????? ?????, ?????????? ?? ??????? ??????, ???? ????????????? ???????, ??????????? ?????? ???? ???????.
??? ??? ??????? ???? ???????? ??????? ??????????????? ???????????? ???????????? ????? ????? ??????? ??????, ??? ??????? ? ??????? ?????? ?????? ??????????? ???-?????????? ?? ????????????? ??????? ?????? ??? ???????????? ????????? ??????? ??????. SQL Server ?????????? ????????? ??????? ??? ????????? ?????????????????? ???-??????????.
?? ???. 3 ????????, ??? SQL Server ?????????? ????????? ??????? ??? ????????? ?????????????????? ?????????? ??? ?????????? ??????? ???? ????????. ?? ??????? ??????? ???? ??????? ? ???? ???????? ?????????, ???????? ? ???????, ??????? ??????????? ? ???????? ?????? ????? ??????????? ?????. ?????? ?????????? ????????? ????????, ?????, ??? ???????? WHERE, ?????? ????? ?????? ????????? ???, ??? ?????? ???? ?????? ???????? ??? ??????? ?????????. ??? ?????????? ?????????? ???????? ????????? ????? ? ????? ??????????? ??????????.
??? 3 ???? ??????? ???? ???????? ? ?????????? ?????????? ??????????
?????????? ?????????? ??? ??????? ?????????? ? ???-??????????, ??????? ????????? SQL Server ????? ?????????? ? ??????????????? ??????? ?? ?????? ????????? ? ???????? ??, ??? ?? ???????? ??????????? ?? ?????????? ??????????, ??? ????? ?????? ?????????. ???????? ??????? ?? ??????? ?????????? ????????? ?????? ?????????? ?? ?????????? ??????????. ???????? ?? ?? ?????????? ?????? ?????????, SQL Server ????????????? ???????? ?? ????? ?????????? ??????? ??? ????????? ?????? ?????????, ??????????????? ??????? ??????, ??????, ??? ???????????? ???????. ???? ???????? ?????????? ?????????? ? ??????? ??????? ?????????, ????? ????????? ?????? ??????? ??????, ??????? ?? ????????????? ???????? ?????????? ?????? ?????????.
SQL Server ??????? ??? ?????? ??????? ?????? ????? ???? ? ???????? ????????? ??????? ? ????? ????????? ?????? ?? ??????? ??????. ??? ????????? ????????? ????? ?????? ?? ?, ????????, ????????? ????/????? ? ?????, ?????? ??? ???????? ?????? ?? ????? ???????????? ? ?????????? ?????????? ????? ???????. SQL Server ?????????? ????????? ?????????????, ????? ?????????? ??????????? ????????? ?????? ?????????? ?? ?????????? ?????????? ?? ????? ?????????? ???????.
??????? ??????????? ?????????? ??????????? ????????? ??? ??????????? ???????, ????? ??????? ???????? ????? ????????? ????? ?????????? ???????. ????? ?????????? ??????????? ??????????, ????? ??????? ?????????????? ???????? ????? ???????.
? ?????? ???????? ?????? ?????????? ?????????? ????? ???? ????????, ????? ???? ??????????, ?????????????????? ??????? ???????? ? ????????? ??????????????? ??????? ???????????? ??????? ??????. ???? ????? ? ????? ??????? ????????????? ???????????????????, SQL Server ????????????? ????????? ??????????? ????? ??????? ? ???????????? ??????, ??????? ????? ????????????? ???????????? ?? ?????????, ????? ??????? ??? ?????????? ?????? ???? ???????.
?? ????? ?????????? ???????, SQL Server ?????? ?? ??????????? ???????????????? ?????????? ?????????? ??? ??????????. ???? ??????????????? ????????, SQL Server ??????????? ??????????? ????????? ?????? ?????????? ?? ?????????? ?????????? ???, ????? ????? ??????????? ??????????? ?????.
?????? ?????????? ?????? ???????? ?????? ?????????? ????? ????????, ?? ?? ????????? ????????? ????????? ????? ????????? ????????? ? ??????, ???, ????????, ? ??????????? ???? ????????????? ???????? ?????. ???? ??????????? ???????? ????? ?? ?????? ????, SQL Server ?????? ?????????? ?????????????????? ???????? ? ????? ???????? ? ??????? ?????????. ??? ????? ??????????? ????????? ?????????.
????????, ??? ??? ??????? ?????????. ? ???????????????? ????????, ? ??????? ????????? ?????????? ??????? ?????? ? ???????? ?????????, ???????. ??? ?????? ?? ????? ?????, ?? ?? ???????? ???????????? ?????????? ?????. ???????? ??????????, ??????????? ? ?????? ???? ????????, ????? ??????????? ?? ???????? ???????????????. ??????????????? ?????????? ? ???? ????????? ???????????? ??? ????????? ???????? ????? ??????? ?????? ? ???????? ???????? ??????????, ?? ???? ??????????????? ?????????? ????????, ????????? ???????????? ????????? ????????? ???????? ??????? ??????. ? ????? ?????? ??????? ????????????? ?????????? ? ??????? ???????????????? ???????.
????????? ??????? SQL Server ????????????? ????????? ??????????? ? ????????, ??????????????? ????? «??????» ? ?????????? ???? ????????, ????? ?????????? ????? ??????? ??????????? ??? ????????. ??????? ??? ????????????? ???????? ???? ??????????, ????? ??????????????? ???? ???????? ?????????? ??????????????????. ????????, ??? ????????? ?? ??????????? ??????? ???? ????????, ?????, ??? ?????????? ??????????, ???????? ?????? ? ?????? ??????? SQL Server Enterprise Edition.
? ?????? ??????? ?? ??????????? ?????????? ???? ???????? ? SQL Server 2008, ?? ????????? ????????? ???????????? ??????????????, ??????????? ?? ????????????????? ? ???????? ?????????? ??????? ?????????. ????? ?????????? ?? ?????????? ???? ?? ???? ????????.
????????? ?????? ?? ??????????? ?????? ?????????? ?????????? ??? ??????? ???????? ???????????? ?????????????? ????????? ??????, ??????????????? ??? ????????? ???????? ??????? ? ?????? ??????????? ?????? ?????????? ??????????. ?? ????? ???????? ???? ?????? ???????? ????? 750 ?? (??????? ???????). ??????? ??? ??????? ???????? ?????? ??? ?????????, ??? ??? ?????? ????? ????? 10 ??????????.
????????? ???????? ??? ????? ????????????? ???????? ?? ????????? ?????? ???????, ???????? ? ????????? ???????? (??????? ??????? ? ?????? ? ?????????). ??????????? ??????? ? ??????????? ????? ???? ?????????? ? ??????? ??????? ???? «??????». ??? ?????????? ????????? ????????? ?? ???????????? ? ????? ????????????? ????? 100 ?? ?????????????? ??????.
??????? ???????? ????????? ??????? ??? ????? ????????????? ????????? ?????????????????? ??????? ???????? ????????? ??????? ? ??????????? ???? ?????? ???????? 100 ??. ?? ???. 4 ???????? ?????????? ???? ???? ????????. ?? ??????? ????????? ?????? ??????? ?????? ?? ?????? ??? ???? ???????? ??????? ????????. ??? ???? ? ??????? ?????????? ????, ????? ?????? ???? ?????????????????? ??????? ??? ?????????? ???????????? ???????? ?? ??????? ????????. ??????? ?? ??????? ?????????? ??????? ?????????????????? (1.0) ??? ????????????? ??????????? ??????? ???? ???????? ? ???????????????????, ???????????????? ??? ?????? ???????. ??? ????? ???? ????????? ?? SQL Server 2008.
??? 4 ????????? ?????????????????? ?? ???? ??????????? ?????????? ???? «??????»
??? ????? ?? ???????, ??? ??????? ???????? ??????????? ??????????, ?? 12 ?? 30 ?????????. ?????????? ????? ????? ??????????, ?? ?? ???????????? ????????? ??????? ???????? ????????? ??????? ???????????? SQL Server Engine ?? 15-20 ????????? ?? ???? ?????????? ??????????? ???????? ???? ????????, ??????? ???????? ? SQL Server 2008.
????? ???????? ????????? ???????? ? ??????? ?????????? ??????, ?????????????? ????? ???????????? ??????? ??????? ?????? ?? ????. ?????? ??????????? ?? ?????? ??????, ???????? ????? ??????, ??????? ????? ??????????? ??? ????????? ????? ? ???????????? ?????????; ????? ??? ????????? ???????????? ???????????? ?????????????????? ?????????? ???????? ???????, ????? ?????? ????? ??????????? ?? ?????? ?????????? ??????.
? SQL Server 2005 ???? ????????? ??????????? ?????????????? ??????? ??????????? ?? ??????? ?????????? ?????????, ????? ???????? ?????????? ? ????????????????? ??????? ??????. ??? ????? ??????? ??????????? ??? ????????? ????????? ????????, ???????? ? ??????? ??????????? ????????? ???????.
? ?????????, ????????? ???????, ???????????? SQL Server 2005, ??????????? ? ?????????? ??????????????????, ???????? ??? ?????? ?? ????????????????? ??????????? ? ???????????? ????????? ???????????? ???????. ??? ????????? ???????????? ???????? ?? ???????????????? ???????? ? SQL Server 2005, ????? ????????? ????????, ??? ??????? ?????? ????? ????????? ??????? ???????????? ??? ?????????? ????????.
??????? 64-????????? ????????, ??? ??????? ????? ???????????? ?? 64 ??????? ????????????. ?????? ??? ???? ??????????? ??? ??????. ? SQL Server 2005 ?? ??????? ?????? 2 ?? 64 ???????, ?????????, ????? ???????, ?????? 2/64 (3.1 ????????) ???????? ?? ??????????. ??? ????????? ???????? ?????????? ? ????????????? ????????? ?????????????????? ??? ??????????????? ?? ????????? ? ??????????? ???? ?? ??????? ?? ??? ?? ?????????? ?? ?????????????????? ?????? ??? ?? ??????? ??????.
??????? ????????, ??? SQL Server 2005 ??? ????????????? ??? ?????? ? ?????????, ?????????????? ???? ??????. ? ???? ?????? ????????? ???????? ???????? ??? ????????? ?????? ??? ?????????? ????????????. ??? ?????? ??????????? ??????? ? ????????????? ?????????? ?????????????????? ?????????????? ???????? ?? ???????????? ???????????, ??????? ???????, ????????????, ??????? ???? ?? ?? ????????, ????????????? ????????? ??????.
????? ??????? ? SQL Server 2008, ??????????? ???????????????? ?????? (PTP), ???????? ?????????????????? ???????? ? ?????? ???????????????, ????? ????????? ?????????????? ???????? ?????????? ????????????, ?????????? ?? ????, ??????? ?????? ??????????? ??????, ??? ????? ????????????? ?????? ????????? ??????. ? ???????? ?????? ????????? ?????? ? ???????????????? ???????? ??????, ???????????? ?????? ???????? ???????????? ????????? ????????, ????????????? ???????????, ???????? ???? ?????????? ????????? ???? ?????????? ?????? ????? ??????, ????????????? ????????. ? ??? ????? ??????? ???????? ?????, ??? ?????????????? ????????? ??? ?????????.
????? ? ??? ???? ??????? ??????, ?????????????? ?????? ??????, ??????????? ?? ???? ??????? ?? ?????? ??????. ??????????? ???? ??? ??????? ????????? ?? ???. 5. ????????, ??? ?????? ?????? ????????????????? ??????? ??? ????? ????????? ??????, ??? ? ????? ??? ???????????????, ?????? ???? ???????????????? ?????? ? ??????? ?????? ??? ?????? ?????? ??????? ??????. ???????????, ??? ?????? Q ????????? ??????? ?? ????????? ???? ????. ??? ??? ????? ?????? ? ???????? ????????? ??????????? ? ??????? ?????? ????? ????????? ?????? (???????????? ??? P4), ?????? ????? ??????????? ????????? ??????, ? ??????????? ?? ????, ????? ?? ???????????. ??? ???????? ? ?????? ???? ?????????, ??? ?????? Q1 ??????????? ?????? ???? ??????, ? ?????? Q2 — ???, ??? ??? ??????????????? ?????? ?? ????? ?????????? ????????? ? ??????? P3 ? P4.
??? 5 ????? ??????? PTP ? ??????
?????? ???????????, ??? ???????? ?????? ???????. ?????????? Q1 ? Q2 ??? SQL Server 2005 ????? ???????? ? ???????????? ?????????. SQL Server 2005 ??????? ???, ??? ??????????? ????? ?? ????? ??????????, ??? ???????? ????? ????????? ?????? ???? ??????, ??? ?????? ????? ????????? ????? ?????????????????? ???????? ? ??? ????? ?????? ????, ?????????? ?????? ? ??????? ????? ??? ????????? ??????.
? ?????????? ??? Q1, ?????????????? ???? ?????? (P3), ????????? ????, ???????????????? ??????? ???????? (?? ???????? ?? ???????). ? ?????? Q2, ??????? ??????????? ??? ??????, ??????????? ???????? ?????? ?????? ?? ?????? ??????, ???? ???? ???????????? ????? ?????????????? ????????? ??????. ??????? Q2 ????? ???????????? ?????? ????? ????? ???????? ?? ? ????????? ????? ??????????? ??????????? ?????????, ??? Q1.
??? ?????????? Q1 ? Q2 ??? SQL Server 2008 ????????? ???????????? ????? ?????????????? ??????, ??? ????????? ?????? ?????????????????? ? ????????????? ?????????. ? ?????? Q1, ??????????? ????? ???????? ??? ?????? ????????? ??????? ????????? ?????? ? P2 (?? ???????? ?? ???????). Q2, ??? ????????, ??????? ???????????? ????, ? ??????? ??????????? ???????? ??? ????????? ?????? ? P3 ? P4 ??????????? ????????, ?????? ???? ????? ?????? ? ?????? ???? ?????????, ??? ??? ?????? ???????? ?? ?????? ??????. ?? ?????? ?????????, ? ?????????????????? Q1 ? Q2 ????????.
????? ??????????? ????????????? ??????? ????????? ??? ??????? ????????? ???????, ??? ?????? ???????? ???? ??????????, ?? ????????? ? ?????? ??????, ????????????? ????????. ? ?????????, ?? ?? ???? ??????? ????????????? ??????? ?? ??????? ??? ??????, ??? ? ???? ???????.
??????? ? ?????????????????? SQL Server 2008 ?? ????????? ? SQL Server 2005 ??? ?????? ????????????? ?????????? ???????????????? ??? ?? ???. 6. ???? ??????????? ?????? ????????????? ?????????????????? ???????????? ??? ???????????????? ??????. ??? ????? ?????, ??????? ?????????? ? ??????? ? 64 ?????? ? 256 ?? ??????????? ??????, ?? ????????? ???? ??????? ???????? 121 ?? ?? 11 ?????? ?? 11 ??. ??? ?????? ?????? ?? ???? ??????? ?? ???????????? ????? ? ????????? ???????????? ??????, ??? ? ????????, ??? ? ? ??????? ????????. ??? ??????? ?????????? ??????? ???????????? ??????.
??? 6 ?????????????????? ???????????? ??? SQL Server ??? ????????? ????? ??????? PTP
?? ??? ??????? ???????? ????? (? ????????), ? ?? ??? ??????? ? ??????? ???????????? (DOP), ??????? ?????????? ?????????? ???????, ???????? ???????. ????? ??????, ??? ? ??? ???????, ? ??? ???????? ???????? ????? ??????? ??????????? ?? ??? ???, ???? DOP ?? ????????? 22. ? ???? ?????? ??? ?????? ????????? ??????? ?????????? ??????? ?????-??????. ??? ??????? ? ???, ??? ?????? ? ???? ??????? ??????? ?? ?????-??????. ??? ????? ??-??????????????? ???????? ??? ??????????? ????? ?? ????????? ??? ????????? ??? ????? ??????? DOP.
??????, ?????????????? ?????? ???????? ???????, ??? ?? ?????, ?????????? ?????????? ?????????? ??????? ??????? ? ??????????? ?????? DOP. ? SQL Server 2005 ??? ?????? ?????? ?? ?????? ???????? ?? DOP 11, ?????? ??? ??? ?????? ? ??????????? ???????? ?????????? ??????? ?? ?????? ???? ?? ?????????? 1.
????? ????????, ??? ?? ???????? ?????????? ??????? ??????? ??? ?????????? ????? DOP ?? ?????? ????????. ????????? ????????? ?????? ?????????? ????????? ????????, ?????? ??? ?????? ???? ????? ????????? ?????. ????????, ???? ???????? ??? ???? ????? ? ????????????, ????? ????? ?? ??????????, ???? ?????? ?? ??????? ?? ?????? ? ????????? ?????????????, ????? ??? ???? ????? ??????????.
?? ??????? ?????????????? ????????????, ????? ????????? ????????? PTP ??? ?????? ???????????? ???????????? ? ??????. ??? ???? ?? ???????? ??????? ????????? ? ?????????? ?????????? ??????????? ??? ?????? DOP ???????, ??? ???? ????? ?? ??????.
???????, ??? ???????????, ????? ??????? PTP ? SQL Server 2008 ???????? ??????????????? ?????? ???????? ? ????????? ????? ?????? ?????????? ????????? ??????? ????????. ????????, ????????? ??????? PTP, ?????????? ??, ??? ???????????? ? Showplan XML ???????????? ? ???????? ?????, ????? ????????????????? ?????????????? ?????????? ? ??????????????? ??? ?????? ??? ?????????? ? ?????? ??? ??????????.
?? ???? ????, ??? ??????-????????? ?????????? ??????????, ??????????? ????????? ??? ?????? ?????? ??? ??????? ? ???? ?????????. ????????? ? ???????????????? ???? ?????? ??????????? ??????. ? 1995 ?????? ???????????? ??????? ??? ?????? ??????????? Winter Corporation ????????? ????????, ??? ?????????? ??????? ? ???? ??????? ???????? ??????. ?????? ?????? ??? ?????????? ???? ?????? ???? ??? ? 100 ??? ??????. ?????????? ??, ??? ?????? ???????? ?????? ??????????? ?????? ??? ????. ??? ?????? ????? ??????? ?? ?????????? ?????? ???????? ???????? ?????? ? ??????????? ???????????? ???????? ?????????? ???????? ? ?????????? ??????. ??? ??????? ?????? ???????, ?????????? ????? ?????????? ? ?????????, ?? ????? ?????? ? ??????? ??????? ??????. ? ?????? ??????? ? ??????? ???????? ??????? ?? ?????-??????.
??? ???????? ???????? ?????? ??????????? ?????? ??????. ? SQL Server 2005 SP2 ??? ??????? ????? ?????? ???????? ?????????? ????? ??? ????????? vardecimal, ??? ?????????? ? ???????? ??????. ???? ????? ?????? ???????? ????? ??????????? ????????? ?????? ??? ??????. ??????? ? ?????? ?????, ? ???? ???????, ????? ????????? ???????? ?????????????????? ????????, ????????? ?? ?????-??????. ??-??????, ????? ????????? ?????? ???????, ? ??-??????, ??? ??? ?????? ???????? ? ???????? ???? ???????, ????????????? ????????? ????? ????? ???????? (????? ??????, ????????????? ???????????, ??? ?????? ???????? ???????? ? ??????). ???????, ?????? ? ?????? ?? ?????? ?????? ???????? ? ???????? ?? ?? ? ???????? ?????? ? ?????????? ??????.
SQL Server 2008 ?????????? ?????? ???????? vardecimal, ??????????? ??? ???? ??????: ?????? ROW ? PAGE. ?????? ROW ????????? ?????? ???????? vardecimal ?? ???? ???????? ???? ????? ?????? ????????????? ????? ? ??????? ???????? ?????????? ?????.
????????? ??????? ????? ?????? ????????????? ????? — integer, char ? ????????? ???? ??????. ???????? ?? ??, ??? SQL Server ?????? ??? ???? ?????? ? ??????? ?????????? ?????, ?? ????????? ?? ???????? (? ????? ?????? ??????????, ??? ?????? ?????????? ???? ????????????? ?????). ??? ??????, ??? ????? ??????????????? ?????????????? ?????? ??????, ?? ??????? ???? ??????????.
?????? PAGE ????????? ???????????? ?????? ? ???????? ? ????? ??? ????? ?????? ?? ?????? ????????. ??? ?????????? ??????????? ?????????? ????????? LZ78 (???????-????), ???????? ?????????? ?????? ???????? ?? ????????, ???????? ????? ?? ??? ?? ?????? ????????. ????????, ??? ???? ?? ??????????? ?????? PAGE, ?????? ROW ???? ????????????.
?????? ROW ? PAGE ????? ???????? ??? ???????, ??????? ??? ????? ? ????? ?????? ???????????????? ?????? ? ????????. ??? ???? ?????? ???????? ?????? ??????, ???????? ? ?????? ??? ??????, ???????? ????? ?????? ????? ????????? ? ?????? ? ????????? ?? ??. ?? ???. 7 ??? ????????????????? ? ??????? ??????? ??????, ???????????????? ?????????? ????????? ? ???????????? ?????????.
??? 7 ???????????????? ??????? ? ?????????? ??????????? ??????
?????? ?????? ???????????? ???????, ????????? ??????? ? Oct-Dec. ???????????, ??? ?????? ??? ?????? ???????????? ?????, ?????? ? ??????, ? ????????? ? ???????? ???????. ? ???? ?????? ????? ???????? ?????? PAGE ??? ?????? ???? ??????, ????? ??????? ???????????? ???????? ?????, ????????? ???????? ?????????????????? ??????? ????????, ?????? ROW ??? ??????? ?????? ? ?? ??????? ?????????.
?????? ????? ???????? ? ?????????? ??? ??????????? ?????? ? ??????? ????????? Alter Table ??? Alter Index ????? DDL. SQL Server ????? ????????? ??????? ???????? ?????. ?????????? ???????? ????? ????? ???????? ?? ????????????? ?????? ? ????? ?????????? ???????.
?? ????????? ??????????? ?????? ??? ?????? ?????? ????????, ????? ????????????, ??? ??????????? ???????? ?????? ????????? ?????? ???? ?????? ?? 50-64 ????????? ? ?????????? ????????? ?????????????????? ????????, ????????? ?? ?????-??????. ??????, ?????? ?????????????????? ????????, ???????? ? ??, ????????? ? ??????? ?? ????????? ???????. ? SQL Server ???????? ?? ?????????? ????????? ?????? ??? ??????? ? ??????? ??? ????????. ???? ????????????? ???????? ?? ?? ?????????? ???????????? ???????? ?? ????????? ? ????? ????????? ??????? ?? ??, ??? ?????? ?????? ? ??????????? ??????, ??????? ?? ????????????? ?? ?? ?????? ????????? 20-30 ?????????.
? SQL Server 2008 ??????????????? ?????????????, ?????????? ?? ???????, ????????? ????? ?????????? ????????? ? ????????? ?????? ?????????? ? ??????????? ????????? ??????, ? ????? ???????????? ?? ? ??? ?????????, ? ??????? ?????? ??? ???? ????????????. ??? ???????? ?????????????????? ???????. ? ???????? ??????, ???? ??????? ??????, ???????????????? ?? ????. ??????????????? ????????????? (??? ????? ????????) ???????????? ?? ???? ???????, ????? ???????? ???????. ??? ???????????? ?? ????? ?????? ??????? ??????????????? ?????? ??????????????? ?????????????, ??????????? ?? ???????, ???????????? ?? ???????????????? ???????, ???? ?????????????, ?????? ?????????????.
??? ??????????? ?????, ??? ? SQL Server 2005, ??? ????? ???? ??????? ??? ??????????????? ?????????????, ???????????? ?? ???????????????? ???????, ?????? ??? ???????????? ???????? ALTER TABLE SWITCH, ????? ?????????? ??? ????????? ??????. ??????? ??????????????? ?????????????, ??????????? ?? ???????, ???? ? SQL Server 2008 ???????????? ??????????????? ????????????? ?? ??????? ???????????????? ???????? ??? ????????????? ????????????? ???????? ?? ???? ???????????????? ???????. ? ???? ????????????? ????????? ?????????????? ??????????? ????????? ? ????????????? ???????????????? ?????????????.
SQL Server ???????????? ??????????????? ?? ?????????, ??????????? ?????????????? ?????? ??? ???????? ?????????? ??? ???????????? ?????? ?? ????????? ????? ?????????????. ???, ????????, ?????? ?????? ????? ?????????????? ?? ??????? ??? ?????????. ????? ??????????? ?????? ? ?? ???????? ???????, ? ???????? ??????, ? ???? ???????, ? ??????? ??????. ??? ???? ??? ????????????. ??-??????, ????? ????????? ????????? ????? ? ??????????????? ?????? ??? ??????????? ???????. ??-??????, ????? ??????????? ???????? ?????? ? ??????? ??? ????????? ??????????? ?????-??????, ? ??????????? ?? ????? ????????????? ??? ???????? ?????????.
?????????? ?????? ? ????? ??????? ? ??????. ??????? ? ???????? DML ????? ????????? ? ??????? ??? ???????????? ?????? ? ?????? ??????. ??????? ???? ??, ????????, ???????????? ?????? ?????? ?? 2004 ???, ??? ????????? ?????? ?????? ? ??????????????? ???????; ? ????????? ????????, ???????, ???????????? ? ?????? ? ?????? ???????, ?? ?????? ????????? ?? ??? ???????? ??????? (?? ?????? ???????? ???????). ? SQL Server 2005 ????????????? ?????? ? ????????? ??????? ????? ???????? ? ?????????? ???????, ??????? ????? ?????????? ?????? ? ?????? ???????.
????? ????????? ??? ??????, ? SQL Server 2008 ??????? ?? ?????? ?????? ????????, ??????????? ?????????????? ?????????? ?????????? ?? ?????? ?????? ??? ???????. ?? ????????? ?????????? ?????????? ???????? ?? ?????? ??????, ??? ? ? SQL Server 2005. ??????, ???????? ?????????? ?????????? ??? ??????? ????? ????????. ????????, ????? ?????????? ????? ?????????? ??????????:
Alter table <mytable> set (LOCK_ESCALATION = AUTO)
??? ??????? ???????????? SQL Server ??????? ?????????? ??? ????? ??????? ????????????? ?????????? ??????????. ???? ??????? ?? ??????????????, ?????????? ?????????? ????? ?? ?????? TABLE (???????). ???? ??? ??????????????, ?? ????????????? ?????????? ?????????? ????? ?? ?????? ??????. ???? ???????? ????? ???????????? ? SQL Server ??? ?????? ????????? ??????????? ????????????? ?????????? ?? ?????? ???????.
?? ??????????? ???????? ????? ????? ??????? SQL Server 2008, ??????? ??????? ??? ??????? ??????? ?????????????????? ???????? ????????? ??????? ? ??????????? ?????????? ??????. ?? ?? ?????????, ???, ???? ??????? ???????? ??????? ?? ??????? ????????? ??????? ????? ?????, ???? ? ?????? ?????????????? ???????, ?? ????????? ? ???? ??????.
? ????????? ?????????????? ????????, ??????? ????????? ? ???????????? ???????? ??????, ?????????:
?? ???????? ???????????? ? ????? ?????? ??????????? ? ???? ???? ????????????? ???????? ?? ???????? SQL Server ? ?????????, ?? ?????? microsoft.com/sql.
?c??????: TechNet Magazine
Tags: nat, SQL, SQL Server