Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TSQL in SQL Server 2012

In this presentation we include the main TSQL changes in SQL Server 2012.


Eduardo Castro Martinez

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

TSQL in SQL Server 2012

  1. 1. Ing. Eduardo Castro,
  2. 2. References Whats new in SQL11 by Roger Noble DAT303 SQL Server “Denali” High Availability: The next generation high availability solution services-roadmap-for-sql-server-denali-and-beyond.aspx DAT303 SQL Server “Denali” High Availability
  3. 3. References• What’s new BOL -• HADR - &• Atlanta -• T-SQL - Tobias Ternström• Sequence Generators - &• Contained Databases - denali-contained-databases.aspx• Data Quality Services - Denise Draper• Column Store - 3EE521C25CE9/Columnstore Indexes for Fast DW QP SQL Server 11.pdf• UDM & BISM - roadmap-for-sql-server-denali-and-beyond.aspx & good-the-bad-and-the-ugly.aspx• SSIS - Matt Masson• SSIS Resolve References - denali-resolve-references.aspx• BISM vs SSAS -• Crescent -
  4. 4. T-SQL Enhancements Robust Discovery of Result Set Metadata (replacing SET FMTONLY) Improved Error Handling  Introduces the THROW, which allows us to re-throw an exception caught in an exception handling block FileTable Sequence Generators Paging Construct Support for UTF-16  Collations can be used with the data types: nchar, nvarchar, and sql_variant
  5. 5. T-SQL Result Sets  Suppose that you need to write code against SQL Server that uses result sets returned from stored procedures and dynamic batches  You need a guarantee that the result sets will have very specific metadata. if the shape of the result is different than what you expect, you need it to fail.
  6. 6. T-SQL Result Sets You can specify the new option with the EXECUTE statement when executing a stored procedure or a dynamic batch EXECUTE <batch_or_proc> WITH <result_sets_option>;
  7. 7. T-SQL Result Sets RESULT SETS UNDEFINED  this is the default, meaning that never mind what’s the shape of the result sets RESULT SETS NONE  you have a guarantee that no result set will be returned. If a result set is returned, an error is generated and the batch terminates
  8. 8. T-SQL Result Sets RESULT SETS <definition>  Specify the metadata of one or more result sets, and get a guarantee that the result sets and their number will match the metadata defined in the RESULT SETS clause
  9. 9. Demo
  10. 10. SQL Server Denali THROWcommand The THROW command can be invoked in two main ways:  Without any parameters within the CATCH block of a TRY/CATCH construct. This will essentially re-throw the original error.  With parameters to throw a user defined error.
  11. 11.  Demo SQL-at-a-Glance-THROW.aspx
  12. 12. T-SQL Enhancements File TableFileTable• A merging of the FILESTREAM and HierarchyID• Can store files and folders• FileTables are accessed via windows share• Created table has predefined schemaCREATE TABLE DocumentStore AS FileTable WITHFileTable_Directory Document FILESTREAM_ON FILESTREAMGroup1;
  13. 13. T-SQL Enhancements Sequence GeneratorSEQUENCE• Generates a predicatble number of values• Global• Can be ascending, descending, minimum, maximum and cycle• Supports getting a range via sp_sequence_get_range
  14. 14. T-SQL Enhancements Sequence GeneratorCREATE SEQUENCE ComWinSchema.IdSequence AS INT START WITH 10000 INCREMENT BY 1;GOINSERT INTO ComunidadMembers (MemberId, Name)VALUES (NEXT VALUE FOR ComWinSchema.IdSequence, Juan);INSERT INTO ComunidadAdmin (AdminId, Name)VALUES (NEXT VALUE FOR ComWinSchema.IdSequence, ‘Juan);
  15. 15. T-SQL Enhancements Paging -- Before Denali WITH a AS ( SELECT ROW_NUMBER() OVER (ORDER BY Name) AS RowNum ... ) SELECT * FROM a WHERE a BETWEEN 11 AND 20 ORDER BY RN ORDER BY RowNum;
  16. 16. T-SQL Enhancements Paging-- In DenaliSELECT...ORDER BY ...OFFSET 10 ROWSFETCH NEXT 10 ROWS ONLY Not a performance improvement, there for ease of use Perf is similar to using ROW_NUMBER
  17. 17. Demo
  18. 18. VertiPaq VertiPaq Storage Engine  Lots of cheap RAM => In-memory storage  Column-oriented data compression > 10:1  Support for column-oriented DAX queries
  19. 19. Column Store Indexes• PowerPivot in SQL Server• An index is created across columns instead of rows• Can give a massive query performance increase• Read only• Reduced IO• Compressed• Not a NoSQL implementation / alternative
  20. 20. Denali Columnstore Indexes Denali introduces a new type of index called the columnstore. This new type of index is built up on the values across columns instead of traditional row based indexes. As data tends to be less unique across a column it allows the columnstore to efficiently compress and store data.
  21. 21. Denali Columnstore Indexes The columnstore is currently read-only, however it can be updated via dropping and recreating the index, or switching in a partition. Due to the ability to compress and keep the index in memory the Columnstore can give massive (10x, 100x, 1000x…) increase in speed to warehouse queries Not all queries can benefit and some can regress. In general typical star join queries found in a Data Warehouse when only a portion of the columns are selected will get the biggest benefit.
  22. 22. Denali Columnstore Indexes C1CE06B-DE2F-40D1-9C5C- 3EE521C25CE9/Columnstore%20Indexes%20for%20Fa st%20DW%20QP%20SQL%20Server%2011.pdf
  23. 23. Column Store Index Columnstore%20Indexes%20for%20Fast%20DW%20QP%20SQL%20Server%2011.pdf