SQLServer 2008 För utvecklare 4/7/2017 SQLServer 2008 För utvecklare André Henriksson & Anders Wedahl ISV DE DPE Microsoft Corporation © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Agenda Historik och Framtid Nyheter; T-SQL i SQL Server 2008 4/7/2017 Agenda Historik och Framtid Data som en plattform Nyheter; T-SQL i SQL Server 2008 Datatyper, TSQL Ny funktionalitet i SQLServer 2008 som berör hur vi designar våra applikationer. ServiceBroker, CDC, Change Tracking © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Minns du? Credit: Euan Garden
IT & Reglering Compliance Data Explosionen Form Faktor Ny Spelplan Data typer IT & Reglering Compliance Lagring Hard Drive Prices
Dataplattformen för företag Services Query Analysis Reporting Integration Synch Search Dynamisk utveckling Entity Data Model OLAP FILE XML RDBMS Mer än relationsdatabas Mobile and Desktop Cloud Server Djup insikt “Enabling customers of all sizes to derive value from ALL data, birth through archival”
LINQ ESQL EDM Entity Data Model Object modell __________________________________________ Konceptuell modell Fysiks datamodell ESQL
EDM & LINQ
Agenda Datatyper SQL Query Language Procedural Language MGB 2003 Agenda Datatyper SQL Query Language Procedural Language CLR Integration Globalisering Mer än relationsdatabas Annat © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
När kan jag få… Separata datatyper för tid och datum Större precision tider < 1 sekund Större datumintervall Tids-/datumdatatyper som hanterar tidszoner
Nya datatyper för tid och datum Date Endast datum 0001-01-01 till 9999-01-01 Gregorian Time Endast tid Precision upp till 100 nanosekunder DateTimeOffset Tidszoner sparas, UTC DateTime2 Stora datumintervall Hanterar inte tidszoner
Stöd på klientsidan SQL ODBC OLEDB ADO.NET DATE SQL_TYPE_DATE/SQL_DATE DBTYPE_DBDATE DateTime TIME SQL_TIME/SQL_SS_TIME2 DBTYPE_DBTIME/DBTYPE _DBTIME2 TimeSpan DATETIMEOFFSET SQL_SS_TIMESTAMPOFFSET DBTYPE_DBTIMESTAMPOF FSET DateTimeOffset DATETIME2 SQL_TYPE_TIMESTAMP SQL_TIMESTAMP DBTYPE_DBTIMESTAMP
Exempel – Date/Time CREATE TABLE t1 (c1 DATE, c2 TIME(3), c3 DATETIME2(7) NOT NULL DEFAULT GETDATE(), c4 DATETIMEOFFSET CHECK (c4 < CAST(GETDATE() AS DATETIMEOFFSET(0))) ); INSERT INTO t1 VALUES ('0001-01-01', '23:59:59', '0001-12-21 23:59:59.1234567', '0001-10-21 23:59:59.1234567 -07:00'); INSERT INTO t1 VALUES ('9999-12-31', '23:59:59', '9999-12-31 23:59:59.1234567', '1111-10-21 23:59:59.1234567 -07:00'); SELECT c4, DATEPART(TZOFFSET, c4), DATEPART(ISO_WEEK, c4), DATEPART(MICROSECOND, c4) FROM t1;
Date and Time
Stöd för stora UDTs SQL Server™ 2005 SQL Server 2008 User-Defined Types (UDTs) hanterade 8K Räckte för många objekt men vissa tex spatiala objekt blev för stora SQL Server 2008 UDTs kan vara lika stora som de “inbyggda” – konceptuellt identisk med varbinary(max) Storleken på en UDT definieras av datatypen Konverteras till varbinary(max) eller image för äldre klienter
Kan man inte repetera följande... DECLARE @NewCustomer TABLE ( [CustomerID] int NULL, [FirstName] varchar(50) NOT NULL, [LastName] varchar(50) NOT NULL, [CompanyName] [nvarchar](128) NULL )
Table Types Egendefinierade tabelldatatyper Fördelar CREATE TYPE myT 4/7/2017 Table Types Egendefinierade tabelldatatyper Ny datatyp definierad av användaren Formad i linje med definitionen på tabellvariabler Kan användas för att definiera tabellvariabler Kan definiera index och “constraints” Ny vy för att se definierade typer: Sys.table_types Fördelar Användarvänligt, Typmatchning CREATE TYPE myT AS table (a int, b varchar(100)) © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Exempel - Table Type CREATE TYPE myTableType AS TABLE ( STOCK VARCHAR(10) PRIMARY KEY CLUSTERED, TradeDate DATE CHECK (TradeDate < convert(date,SYSDATETIME())), Quantity INT); DECLARE @stockTrades myTableType; INSERT INTO @stockTrades VALUES ('MSFT',convert(date,SYSDATETIME()),1) INSERT INTO @stockTrades SELECT Stock, MAX(CONVERT(DATE, TradeTime)), SUM(Quantity) FROM DailyTrades GROUP BY Stock SELECT * FROM @stockTrades WHERE stock = 'MSFT' UPDATE @stockTrades SET stock = 'microsoft' WHERE stock = 'MSFT'
Agenda Datatyper SQL Query Language Procedural Language MGB 2003 Agenda Datatyper SQL Query Language Procedural Language CLR Integration Globalisering Mer än relationsdatabas Annat © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Source kan vara en tabell eller en fråga 4/7/2017 MERGE Nytt DML-uttryck som kombinerar multipla DML-operationer Byggsten för effektiv ETL Uppfyller SQL-2006 standarden Source XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX Source kan vara en tabell eller en fråga © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Target kan vara en tabell eller en uppdaterbar vy 4/7/2017 MERGE Nytt DML-uttryck som kombinerar multipla DML-operationer Byggsten för effektiv ETL Uppfyller SQL-2006 standarden Source Target XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXXXX X XXXX XXX XXX Target kan vara en tabell eller en uppdaterbar vy © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Om source matchar target, 4/7/2017 MERGE Nytt DML-uttryck som kombinerar multipla DML-operationer Byggsten för effektiv ETL Uppfyller SQL-2006 standarden Source Target XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XX XXX XXX XXXXX X XXXX XXX XXX Om source matchar target, UPDATE © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
MERGE Nytt DML-uttryck som kombinerar multipla DML-operationer Byggsten för effektiv ETL Uppfyller SQL-2006 standarden Source Target XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXX XXX Ingen träff, INSERT
MERGE Nytt DML-uttryck som kombinerar multipla DML-operationer Byggsten för effektiv ETL Uppfyller SQL-2006 standarden Source Target XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXX XXX Om source INTE matchar, DELETE
Exempel (MERGE) CREATE TABLE Source (id INT, name NVARCHAR(100), qty INT); CREATE TABLE Target (id INT, name NVARCHAR(100), qty INT); -- Synchronize source data with target MERGE Target AS t USING Source AS s ON t.id = s.id WHEN MATCHED AND (t.name != s.name OR t.qty!= s.qty) THEN -- Row exists and data is different UPDATE SET t.name = s.name, t.qty = s.qty WHEN NOT MATCHED THEN -- Row exists in source but not in target INSERT VALUES (s.id, s.name, s.qty) WHEN SOURCE NOT MATCHED THEN -- Row exists in target but not in source DELETE OUTPUT $action, inserted.id, deleted.id;
Grouping Sets Tillägg till GROUP BY Möjligt att definiera flera grupperingar i samma fråga Producera ett resulatat set som är ekvivalent med UNION ALL på rader som är grupperade olika. Följer SQL 2006 standarden Mycket lättare och snabbare att skriva frågor med aggregat som ofta är underliggande vid rapportunderlag.
Exempel (GROUPING SETS) -- Use UNION ALL on dual SELECT statements SELECT customerType,Null as TerritoryID,MAX(ModifiedDate) FROM Sales.Customer GROUP BY customerType UNION ALL SELECT Null as customerType,TerritoryID,MAX(ModifiedDate) FROM Sales.Customer GROUP BY TerritoryID order by TerritoryID -- Use GROUPING SETS on single SELECT statement SELECT customerType,TerritoryID,MAX(ModifiedDate) FROM Sales.Customer GROUP BY GROUPING SETS ((customerType), (TerritoryID)) order by customerType
Agenda Datatyper SQL Query Language Procedural Language MGB 2003 Agenda Datatyper SQL Query Language Procedural Language CLR Integration Globalisering Mer än relationsdatabas Annat © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Hur arbetar vi med tabelldata idag? 4/7/2017 Hur arbetar vi med tabelldata idag? Använder lokala temporära tabeller Skapar mycket disk I/O Känsligt “Locking and Blocking” Kräver att DU städar bort dina temporära tabeller. Leder ofta till omkompilering av SPar Multiparameteranvändning Ger många “round trips” Multipla anrop till samma SP Ineffektiv kod… © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Table-valued Parameters (TVP) 4/7/2017 Table-valued Parameters (TVP) Parametrar av typen “Table Type” Input parameter till SPs/Funktioner Måste använda det nya nyckerlordet “ReadOnly”. /* Create a procedure to receive data for the table-valued parameter. */ CREATE PROCEDURE usp_InsertProductionLocation @TVP LocationTableType READONLY AS TVPs “lever” inom en SP/Funktion Bättre på att hantera större datamängder. Fungerar som BCP fast inne i servern… En enklare programmeringsmodell Starkt typad Reducerar antalet klient/server “round trips” Orsakar inte omkompileringar © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Kodexempel (TVP) -- Create a user TABLE type CREATE TYPE myTableType AS TABLE (id INT, name NVARCHAR(100), qty INT); -- Create a stored procedure that accepts a table-variable -- of type TABLE as a parameter CREATE PROCEDURE myProc (@tvp myTableType READONLY) AS UPDATE Inventory SET qty += s.qty FROM Inventory AS i INNER JOIN @tvp AS tvp ON i.id = tvp.id GO -- Declare & populate variable of the TABLE type DELCARE @list AS myTableType; INSERT INTO @list VALUES (1, ‘Bicycle’, 10), (2, ‘Roller blades’, 5), (3, ‘Soccer ball’, 25); -- Execute the stored procedure with TVP EXEC myProc @list;
Table-valued Parameters Support för klienten Full support i ADO.Net 3 Ny parameter typ: SqlDbType.Structured Kan skickas som en; DataTable IEnumerable<SqlDataRecord> (fully streamed) DbDataReader Supporterad i ODBC/OLEDB Ny parameter typ SQL_SS_Table Bind med den familjära: SQLBindParameter Effektiv implementation i TDS lagret
Table-valued Parameters ADO.Net Exempel– using DataTable Using (MyConnection){ //Create a data table DataTable dt = new DataTable(“TVPOrdersDataTable”); dt.Columns.Add(“ProductType”, typeof(string)); dt.Columns.Add(“Quantity”, typeof(int)); // Add rows dt.Rows.Add(“Canon Digital Camera”, 20); dt.Rows.Add(“June”, 10); dt.Rows.Add(“Xbox-360”, 8); // Create a command and bind parameter SqlCommand tvp_cmd = new SqlCommand(“sp_UpdataInventory”, MyConnection); SqlParameter tvpParam = tvp_cmd.Parameters.AddWithValue( @OrdersTvp, dt); //Execute command tvp_cmd.ExecuteNonQuery();
Merge, TVP
TSQL
T-SQL Upprepa dina VALUES i en enda INSERT Använda operatorerna: +=, -=, *=, /= Initializera variablerna redan vid variabel deklarationen INSERT INTO contacts VALUES ('John Doe', '425-333-5321'), ('Jane Doe', '206-123-4567'), ('John Smith', '650-434-7869'); UPDATE Inventory SET quantity += s.quantity FROM Inventory AS i INNER JOIN Sales AS s ON i.id = s.id DECLAER @v int = 5; DECLARE @v1 varchar(10) = ‘xxxxx’;
Mera T-SQL Använd CONVERT funktionen att konvertera data mellan binary och char data: select convert(char(4), col1_of_type_binary,1), .... from t1 ...... select ...... from t1, t2 where convert(char(4), t1.col1_of_type_binary,1) = t2.col1_of_type_char ;
ServiceBroker Nytt i SQLServer 2005 Nu vaknar det... Conversation Priorities Prioritera de meddelanden som är viktiga så att resurserna spenderas på rätt saker vid rätt tidpunkt. SSB Diagnose Hjälper till vid felsökning... External activation
Change Tracking och CDC CDC (Change Data Capture) Synkron mekanism för att hålla koll på förändringar. Är en del av transaktionen; görs inom samma DML operation. Betyder att “Change tracking” kan användas för två vägs sync scenarion då konflikter kan upptäckas. Designad för “delta” scenarios. Senaste datat är det viktiga! Låg kostnad! Asynkron process för att bestämma och fånga förändringar genom att läsa Transaktionsloggen. Inte lämpligt för två väg synkronisering. Fångar ALLA förändringar med alla värden inte bara det senaste. Ger möjlighet att fånga alla förändringar inom ett tidsintervall. Datawarehouse bästa vän! Alla data förändingar. Overheadkostnaden ca 10% (CPU)
Change Data Capture Mekanism för att enkelt kunna hålla koll på förändringar på en tabell Alla ändringar fångas asynkront från transaktionsloggen Information om VAD som förändrats i ursprungstabellen Table-Valued Functions (TVF) för att fråga på det fångade datat Enkelt att använda från Integration Services XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX Capture Process Transaction Log Source Table XXX XXXXXX Change Table CDC Functions
Change Data Capture Mekanism för att enkelt kunna hålla koll på förändringar på en tabell Alla ändringar fångas asynkront från transaktionsloggen Information om VAD som förändrats i ursprungstabellen Table-Valued Functions (TVF) för att fråga på det fångade datat Enkelt att använda från Integration Services XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX Capture Process sys.sp_cdc_enable_db_change_data_capture sys.sp_cdc_enable_table_change_data_capture Transaction Log Source Table XXX XXXXXX cdc.fn_cdc_get_all_changes_<instance> cdc.fn_cdc_get_net_changes_<instance> Change Table CDC Functions
Agenda Datatyper SQL Query Language Procedural Language MGB 2003 Agenda Datatyper SQL Query Language Procedural Language CLR Integration Globalisering Mer än relationsdatabas Annat © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
SQL/CLR Enhancements Multi-input aggregates Stora aggregat Ingen 8K gräns längre Multi-input aggregates Specificera sorteringsordning i (TVFs) Bättre performance Möjlighet att registrera statiska metoder som User Defined Functions (UDFs)
Agenda Datatyper SQL Query Language Procedural Language MGB 2003 Agenda Datatyper SQL Query Language Procedural Language CLR Integration Globalisering Mer än relationsdatabas Annat © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Nya Collations Stödjer Windows Vista® collations MGB 2003 Nya Collations Stödjer Windows Vista® collations Adderar Windows nya collations i SQL Server 2008 Adderar nya versioner av existerande Windows collations (*_100_*) För vissa sker MYCKET STORA ÄNDRINGAR Chinese_Taiwan_Stroke_100 and Chinese_Taiwan_Bopomofo_100 har nu culture-correct viktning för varje character, speciellt för Ext. A + B © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Agenda Datatyper SQL Query Language Procedural Language MGB 2003 Agenda Datatyper SQL Query Language Procedural Language CLR Integration Globalisering Mer än relationsdatabas Annat © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Spatial så in i Norden Utökar SQL Server med typer, operationer och index för spatial geometry Enklare att spara lokations data Gör SQL Server till en plattform för geo-spatial lösningar (ISV) Standardbased data och programmeringsmodel Baserad på STORA UDT:er
Semi-Structured Data SQL Server är med SQLServer 2008 en bättre spelar för att hantera semi-strukturerad data XML: Förbättrad schema och data modell support. Hierarchy Id Sparse Columns: Breda tabeller med mycket luft hanteras effektivt. Filtered Indexes: Index på subset av data
HierarchyID En system data typ med variable längd CLR UDT Microsoft.SqlServer.Types Varbinary encoding ( < 900 bytes) Representera en position i en hierarki. Håller en representation av den logiska positionen Inbyggda metoder för att manipulera hierarkier Förenklar sparande och frågande på hierarkist data Insert och delete kan göras på vilken nod som helst.
Sparse Columns ... “Sparse” sätts som ett attribute på en kolumn Lagringsoptimering: 0 bytes sparas för NULL värden NULL komprimeras I (Tabular Data Stream) TDS lagret Ingen förändring vid frågor/DML // Sparse as a storage attibute in Create/Alter table statements Create Table Products(Id int, Type nvarchar(16)…, Resolution int SPARSE, ZoomLength int SPARSE); // No Change in Query/DML Behavior Select Id, Type, Resolution, ZoomLength from Products; Update Products set Resolution=3, ZoomLength = 105 where Id = 101;
Filestream Kernel Transactions I Windows Server 2008? Varbinary(max) with FILESTREAM Filsystems datat manageras av SQL Server Supporterar Win32 “file streaming” för bästa performance Backup och Restore Kernel Transactions I Windows Server 2008?
Agenda Datatyper SQL Query Language Procedural Language MGB 2003 Agenda Datatyper SQL Query Language Procedural Language CLR Integration Globalisering Mer än relationsdatabas Annat © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Deprecation Deprecation nivåer Announcement/Warning Final support/Removal Future deprecation SQL Server 2008 implementerar “deprecation policy” Det finns Perfcounters för alla “deprecated features” Trace events för att hålla koll på “deprecated feature” användning DEPRECATION_ANNOUNCEMENT DEPRECATATION_FINALSUPPORT
SQL Server Resurser Microsoft SQL Server www.microsoft.com/sql/default.mspx Microsoft SQL Server Books Online http://msdn2.microsoft.com/en-us/library/ms130214.aspx SQL Server Developer Center http://msdn2.microsoft.com/en-us/sql/default.aspx T-SQL Programmability Resources http://msdn2.microsoft.com/en-us/sql/aa336296.aspx Microsoft SQL Server 2008 June CTP www.microsoft.com/sql/prodinfo/futureversion/default.mspx Microsoft SQL Server 2008 MSDN forums http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=428&SiteID=1
Mera Resurser Technical Communities, Webcasts, Blogs, Chats, and User Groups www.microsoft.com/communities/default.mspx Microsoft Learning and Certification www.microsoft.com/learning/default.mspx MSDN, the Microsoft® Developer Network, and TechNet http://microsoft.com/msdn http://microsoft.com/technet Trial Software and Virtual Labs www.microsoft.com/technet/downloads/trials/default.mspx
4/7/2017 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.