02 TSQL Enhancements

Embed Size (px)

Citation preview

  • 7/31/2019 02 TSQL Enhancements

    1/73

    SQL Server 2008 for DevelopersUTS Short Course

  • 7/31/2019 02 TSQL Enhancements

    2/73

    Loves C# and .NET

    Specializes in Application architecture and

    design

    SQL Performance Tuning andOptimization

    Agile, ScrumCertified Scrum Trainer

    Technology aficionado Silverlight

    ASP.NET

    Windows Forms

    Eric Phan SA @ SSWw: ericphan.info | e: [email protected] | t: @ericphan

  • 7/31/2019 02 TSQL Enhancements

    3/73

    http://sharepoint.ssw.com.au/Training/UTSSQL/Pages/

    Course Timetable

    Course Materials

    Course Website

    http://sharepoint.ssw.com.au/Training/UTSSQL/Pageshttp://sharepoint.ssw.com.au/Training/UTSSQL/Pages
  • 7/31/2019 02 TSQL Enhancements

    4/73

    SQL Management Studio

    SQL Configuration Manager

    Consoles

    SQLCMD

    PowerShell

    SQL Profiler

    SQL Database Tuning Advisor

    Last Week

  • 7/31/2019 02 TSQL Enhancements

    5/73

    Course Overview

    Session Date Time Topic

    1Tuesday

    06-03-201218:00 - 21:00 SQL Server 2008 Management Studio

    2Tuesday

    13-03-201218:00 - 21:00 T-SQL Enhancements

    3Tuesday

    20-03-201218:00 - 21:00 High Availability

    4 Tuesday27-03-2012 18:00 - 21:00 CLR Integration

    5Tuesday

    03-04-201218:00 - 21:00 Full-Text Search

  • 7/31/2019 02 TSQL Enhancements

    6/73

    1. How to setup maintenance plans over night

    2. Database encryption

    1. Data

    2. Source code (Stored procs)

    3. Best practices

    1. Typical maintenance plans2. Policies

    Last Week - Additional

  • 7/31/2019 02 TSQL Enhancements

    7/73

    1. Modify maintenance plan

    2. 2nd page in wizard (new plan)

  • 7/31/2019 02 TSQL Enhancements

    8/73

    Encrypting data - Transparent Data Encryption (TDE)

    http://msdn.microsoft.com/en-us/library/bb934049.aspx

    http://www.acorns.com.au/blog/?p=147

    Encrypting Connections to SQL Server

    http://msdn.microsoft.com/en-us/library/ms189067.aspx

    Encrypting source code

    http://www.codeproject.com/KB/database/ProtectSQLCodeObject.aspx

    Database encryption

    http://sharepoint.ssw.com.au/Training/UTSSQL/http://ola.hallengren.com/?p=147http://msdn.microsoft.com/en-us/library/bb630263.aspxhttp://www.ssw.com.au/ssw/standards/Rules/RulestoBetterSQLServerdatabases.aspxhttp://www.ssw.com.au/ssw/standards/Rules/RulestoBetterSQLServerdatabases.aspxhttp://www.ssw.com.au/ssw/standards/Rules/RulestoBetterSQLServerdatabases.aspxhttp://www.ssw.com.au/ssw/standards/Rules/RulestoBetterSQLServerdatabases.aspxhttp://msdn.microsoft.com/en-us/library/bb630263.aspxhttp://msdn.microsoft.com/en-us/library/bb630263.aspxhttp://msdn.microsoft.com/en-us/library/bb630263.aspxhttp://msdn.microsoft.com/en-us/library/bb630263.aspxhttp://msdn.microsoft.com/en-us/library/bb630263.aspxhttp://ola.hallengren.com/?p=147http://ola.hallengren.com/?p=147http://ola.hallengren.com/?p=147http://sharepoint.ssw.com.au/Training/UTSSQL/http://sharepoint.ssw.com.au/Training/UTSSQL/http://sharepoint.ssw.com.au/Training/UTSSQL/http://sharepoint.ssw.com.au/Training/UTSSQL/http://sharepoint.ssw.com.au/Training/UTSSQL/
  • 7/31/2019 02 TSQL Enhancements

    9/73

    http://ola.hallengren.com/

    Steps Backup

    Integrity check

    Index optimization

    Solution used in mission-critical environments in

    many organizations.

    Best practices - Maintenance

    http://www.conceptdevelopment.net/Database/Geoquery/http://msdn.microsoft.com/en-us/library/ms182418.aspxhttp://msdn.microsoft.com/en-us/library/ms182418.aspxhttp://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/
  • 7/31/2019 02 TSQL Enhancements

    10/73

    Security Best Practices

    http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.doc

    Security Best Practices Checklist

    http://technet.microsoft.com/en-us/library/cc966456.aspx

    Best practices - Security

    http://ola.hallengren.com/Organizations.htmlhttp://ola.hallengren.com/Organizations.htmlhttp://blogs.msdn.com/blogfiles/manisblog/WindowsLiveWriter/SQLServer2008HierarchyID_13519/BF.gifhttp://blogs.msdn.com/blogfiles/manisblog/WindowsLiveWriter/SQLServer2008HierarchyID_13519/BF.gifhttp://blogs.msdn.com/blogfiles/manisblog/WindowsLiveWriter/SQLServer2008HierarchyID_13519/BF.gifhttp://blogs.msdn.com/blogfiles/manisblog/WindowsLiveWriter/SQLServer2008HierarchyID_13519/BF.gifhttp://ola.hallengren.com/Organizations.htmlhttp://ola.hallengren.com/Organizations.htmlhttp://ola.hallengren.com/Organizations.htmlhttp://ola.hallengren.com/Organizations.htmlhttp://ola.hallengren.com/Organizations.htmlhttp://ola.hallengren.com/Organizations.htmlhttp://ola.hallengren.com/Organizations.htmlhttp://ola.hallengren.com/Organizations.htmlhttp://ola.hallengren.com/Organizations.htmlhttp://ola.hallengren.com/Organizations.html
  • 7/31/2019 02 TSQL Enhancements

    11/73

    Create a schema called Salary

    Create a table called Employees in Schema

    Create a user called Manager

    Give only manager permission to update/insert/delete in

    schema

    Create a user called Peter

    Give Peter only read to schema (=salary)

    Create a user Alice

    Deny everything for Alice in Salary

    Homework?

  • 7/31/2019 02 TSQL Enhancements

    12/73

    New Data Types

    Inline variable assignment

    Table Value Parameters

    DDL Triggers

    CTE (Common Table Expressions)

    TOP %, XML Queries

    PIVOT/UNPIVOT

    ADO.NET

    Agenda

  • 7/31/2019 02 TSQL Enhancements

    13/73

    bigint, int, smallint, tinyint

    -2^63 ... 2^63-1

    0..255

    Bit (0 or 1)

    decimal = numeric

    Exact type

    Numbers -10^38 +1 ... 10^38

    Money, smallmoney accuracy to a ten-thousandth money unit

    Smallmoney = smaller money

    Datatypes - Exact Numerics

  • 7/31/2019 02 TSQL Enhancements

    14/73

    Floating point numeric data

    float real

    Datatypes Approximate Numerics

  • 7/31/2019 02 TSQL Enhancements

    15/73

    char

    Fixed length varchar

    Variable length

    Datatypes - text

  • 7/31/2019 02 TSQL Enhancements

    16/73

    char, varchar, text

    Ascii - 1 byte nchar, nvarchar, ntext

    Unicode - 2 bytes

    binary, varbinary, image

    Datatypes - text

  • 7/31/2019 02 TSQL Enhancements

    17/73

    SQL 2008 now has the following data types to represent time:

    DateTime SmallDateTime

    Date

    Time

    DateTime2 really a BigDateTime

    Min Date is 1st Jan 0000 Max date 31st Dec 9999 Y10K BUG!!

    DateTimeOffset

    Date and Time

  • 7/31/2019 02 TSQL Enhancements

    18/73

    Date Time details

    Data type Format Range AccuracyStorage size(bytes)

    User-definedfractional secondprecision

    Time zone offset

    timehh:mm:ss[.nnnnnnn]

    00:00:00.0000000 through23:59:59.9999999

    100 nanoseconds 3 to 5 Yes No

    date YYYY-MM-DD 0001-01-01 through 9999-12-31

    1 day 3 No No

    smalldatetimeYYYY-MM-DD

    hh:mm:ss

    1900-01-01 through 2079-06-

    061 minute 4 No No

    datetimeYYYY-MM-DD

    hh:mm:ss[.nnn]

    1753-01-01 through 9999-12-

    310.00333 second 8 No No

    datetime2

    YYYY-MM-DD

    hh:mm:ss[.nnnn

    nnn]

    0001-01-01 00:00:00.0000000

    through 9999-12-31

    23:59:59.9999999

    100 nanoseconds 6 to 8 Yes No

    datetimeoffset

    YYYY-MM-DD

    hh:mm:ss[.nnnnnnn] [+|-]hh:mm

    0001-01-01 00:00:00.0000000

    through 9999-12-3123:59:59.9999999 (in UTC) 100 nanoseconds 8 to 10 Yes Yes

    http://www.codeproject.com/KB/database/ProtectSQLCodeObject.aspxhttp://www.acorns.com.au/blog/http://www.brentozar.com/sql/blitz-minute-sql-server-takeovers/http://msdn.microsoft.com/en-us/library/aa933242(SQL.80).aspxhttp://msdn.microsoft.com/en-us/library/ms189067.aspxhttp://msdn.microsoft.com/en-us/library/bb934049.aspxhttp://msdn.microsoft.com/en-us/library/bb934049.aspxhttp://msdn.microsoft.com/en-us/library/ms189067.aspxhttp://msdn.microsoft.com/en-us/library/aa933242(SQL.80).aspxhttp://www.brentozar.com/sql/blitz-minute-sql-server-takeovers/http://www.acorns.com.au/blog/http://www.codeproject.com/KB/database/ProtectSQLCodeObject.aspx
  • 7/31/2019 02 TSQL Enhancements

    19/73

    cursor

    table

    Timestamp = rowversion

    binary number

    Reflects data modifications

    uniqueidentifier = Guid

    Format: 04c4ce04-16c1-406f-a895-5dd321db7f0b

    Datatypes - Other

  • 7/31/2019 02 TSQL Enhancements

    20/73

    Filestream

    Sparse Columns

    Filtered Indexes

    Spatial Data

    HierarchyID

    DATE and TIME data types

    New Data Types

  • 7/31/2019 02 TSQL Enhancements

    21/73

    I am designing an Employee table that needs to cater for

    employee photographs. What should I do?

    Example: Storing images

  • 7/31/2019 02 TSQL Enhancements

    22/73

    I am designing an Employee table that needs to cater for

    employee photographs. What should I do?

    You can store the image in the database (blob)

    You can store a URL to the image in the database

    (Recommended for SQL2005)

    http://www.ssw.com.au/ssw/standards/Rules/RulestoBetterSQ

    LServerdatabases.aspx#ImageReplaceWithURL

    blob vs. file system

    http://msdn.microsoft.com/en-us/library/ms345117.aspxhttp://msdn.microsoft.com/en-us/library/ms345117.aspxhttp://msdn.microsoft.com/en-us/library/ms345117.aspxhttp://msdn.microsoft.com/en-us/library/ms345117.aspx
  • 7/31/2019 02 TSQL Enhancements

    23/73

    You can store the image in the database (blob)

    Database grows really bigBackups take longer

    Your code needs to convert the bytes back into an image

    Your images are in sync with your data

    blob

  • 7/31/2019 02 TSQL Enhancements

    24/73

    You can store a URL to the image in the database

    (Recommended for SQL2005)

    Database is smaller

    Easily validate or change the image (you can look at it on

    the file system)

    Data could become out of sync with the file system

    Need to backup the database and the file system

    File system

  • 7/31/2019 02 TSQL Enhancements

    25/73

    Filestream to the rescue

    Implemented as a special varbinary(max) where data isstored as a blob on the file system

    Allows you to have transactionally consistent

    Integrated backup and restore of your binary images

    Size limitation is the size of your hard drives free space

    Filestream

  • 7/31/2019 02 TSQL Enhancements

    26/73

    Q:\ Ive got an Contacts table with 200,000 rows. To support

    the latest Web 2.0 trends we want to also record the contacts

    blog address. What should I do?

    Problem

  • 7/31/2019 02 TSQL Enhancements

    27/73

    A:\ Just add a new BlogUrl column in

    Solution?

  • 7/31/2019 02 TSQL Enhancements

    28/73

    A:\ Just add a new BlogUrl column in

    Q:\ Whats the problem with that?

    A:\ Most of the entries in your table will be null, it wastes a lot

    of database space

    Solution?

  • 7/31/2019 02 TSQL Enhancements

    29/73

    Use a sparse column

    These columns are new to SQL 2008 They are optimized for storing NULL values

    Solution

  • 7/31/2019 02 TSQL Enhancements

    30/73

    Sparse Columns

    Data type Nonsparse bytes Sparse bytes NULL percentage

    bit 0.125 4.125 98%

    tinyint 1 5 86%

    smallint 2 6 76%

    int 4 8 64%

    bigint 8 12 52%

    real 4 8 64%

    float 8 12 52%

    smallmoney 4 8 64%

    money 8 12 52%

    smalldatetime 4 8 64%

    datetime 8 12 52%

    uniqueidentifier 16 20 43%

    date 3 7 69%

  • 7/31/2019 02 TSQL Enhancements

    31/73

    Sparse Columns

    Data type Nonsparse bytes Sparse bytes NULL Percentage

    datetime2(0) 6 10 57%

    datetime2(7) 8 12 52%

    time(0) 3 7 69%

    time(7) 5 9 60%

    datetimetoffset(0) 8 12 52%

    datetimetoffset (7) 10 14 49%

    decimal/numeric(1,s) 5 9 60%

    decimal/numeric(38,s) 17 21 42%

    vardecimal(p,s)Use the decimal type asa conservative estimate.

  • 7/31/2019 02 TSQL Enhancements

    32/73

    Sparse Columns

    Data type Nonsparse bytes Sparse bytes NULL Percentage

    sql_variantVaries with the

    underlying data type

    varchar orchar 4+avg. data 2+avg. data 60%

    nvarchar ornchar 4+avg. data 2+avg. data 60%

    varbinary orbinary 4+avg. data 2+avg. data 60%

    xml 4+avg. data 2+avg. data 60%

    hierarchyId 4+avg. data 2+avg. data 60%

  • 7/31/2019 02 TSQL Enhancements

    33/73

    Allows you to add an index to a column with a where clause

    Useful for indexing columns with null values in them

    Filtered Indexes

  • 7/31/2019 02 TSQL Enhancements

    34/73

    Geometry

    Geography

    Virtual Earth Integration

    Planar vs Geodetic Algorithms

    Separate install for spatial assemblies

    http://www.conceptdevelopment.net/Database/Geoquery/

    Spatial Data Types

    http://msdn.microsoft.com/en-us/library/bb677335.aspxhttp://msdn.microsoft.com/en-us/library/bb677335.aspxhttp://msdn.microsoft.com/en-us/library/bb677335.aspx
  • 7/31/2019 02 TSQL Enhancements

    35/73

    Spatial Datatypes Hierarchy

  • 7/31/2019 02 TSQL Enhancements

    36/73

    Geometry allows you to represent and process polygons

    Spatial Data Types

  • 7/31/2019 02 TSQL Enhancements

    37/73

    Employee with a ManagerID column (self join)

    New HierarchyID data type

    Can be indexed using:

    Depth First

    Breadth First

    How do I represent an Org Chart?

  • 7/31/2019 02 TSQL Enhancements

    38/73

    A depth-first index, rows in a subtree are stored near each

    other. For example, all employees that report through a

    manager are stored near their managers' record.

    Depth First Search

  • 7/31/2019 02 TSQL Enhancements

    39/73

    A breadth-first stores the rows each level of the hierarchy

    together. For example, the records of employees who directly

    report to the same manager are stored near each other.

    Breadth First Search

    http://msdn.microsoft.com/en-us/library/bb677243.aspx
  • 7/31/2019 02 TSQL Enhancements

    40/73

    Instead of:

    DECLARE @myVar intSET @myVar = 5

    You can:

    DECLARE @myVar int = 5

    Inline Variable Assignment

  • 7/31/2019 02 TSQL Enhancements

    41/73

    Pass in a table as an argument to a SPROC

    Instead of:

    exec sp_MySproc

    'murphy,35;galen,31;samuels,27;colton,42

    SPROC needs to then parse that string

    Table Value Parameters

  • 7/31/2019 02 TSQL Enhancements

    42/73

    You can do this instead

    CREATE TYPE PeepsType AS TABLE (Name varchar(20),Age int)

    DECLARE @myPeeps PeepsType

    INSERT @myPeeps SELECT 'murphy', 35

    INSERT @myPeeps SELECT 'galen', 31

    INSERT @myPeeps SELECT 'samuels', 27

    INSERT @myPeeps SELECT 'colton', 42exec sp_MySproc2 @myPeeps

    Table Value Parameters

  • 7/31/2019 02 TSQL Enhancements

    43/73

    The SPROC would look like this:

    CREATE PROCEDURE sp_MySproc2(@myPeeps PeepsType

    READONLY)

    Table Value Parameters

  • 7/31/2019 02 TSQL Enhancements

    44/73

    Auditing, regulating schema changes, capture events on

    create_table, alter_procedure, drop_login etc

    DDL Triggers

  • 7/31/2019 02 TSQL Enhancements

    45/73

    PIVOT

  • 7/31/2019 02 TSQL Enhancements

    46/73

    CTE (Common Table Expression)

    Before

  • 7/31/2019 02 TSQL Enhancements

    47/73

    CTE (Common Table Expressions)

    After

  • 7/31/2019 02 TSQL Enhancements

    48/73

    ROW NUMBER see example

    TRY/Catch in queries

    see example

    Top % WITH TIES

    select top with tie feature( if top 10 and there are 15

    that match number 10 will bring back all 15)

    More features

  • 7/31/2019 02 TSQL Enhancements

    49/73

    SELECT TOP 3 Person.FirstName, Person.LastName,

    PersonPhone.PhoneNumber

    FROM AdventureWorks.Person.Person

    INNER JOIN AdventureWorks.Person.PersonPhone ON

    PersonPhone.BusinessEntityID =

    Person.BusinessEntityID

    FOR XML RAW

    Working with XML - RAW

  • 7/31/2019 02 TSQL Enhancements

    50/73

    Working with XML - RAW

  • 7/31/2019 02 TSQL Enhancements

    51/73

    What happened to our relationships?

    RAW doesnt show our table relationships but gives us a flatXML hierarchy

    Working with XML - RAW

  • 7/31/2019 02 TSQL Enhancements

    52/73

    SELECT TOP 3 Person.FirstName, Person.LastName,

    PersonPhone.PhoneNumber

    FROM AdventureWorks.Person.Person

    INNER JOIN AdventureWorks.Person.PersonPhone ON

    PersonPhone.BusinessEntityID =

    Person.BusinessEntityID

    FOR XML AUTO

    Working with XML - Auto

  • 7/31/2019 02 TSQL Enhancements

    53/73

    Working with XML - Auto

  • 7/31/2019 02 TSQL Enhancements

    54/73

    Great, but what if I needed to format the XML to output into a

    certain schema

    Working with XML - Auto

  • 7/31/2019 02 TSQL Enhancements

    55/73

    SELECT TOP 3

    1 AS TAG,

    NULL AS PARENT,

    BusinessEntityID AS [Person!1!BusinessEntityID],

    FirstName AS [Person!1!FirstName!ELEMENT]

    FROM AdventureWorks.Person.Person

    FOR XML EXPLICIT

    Working with XML - Explicit

  • 7/31/2019 02 TSQL Enhancements

    56/73

  • 7/31/2019 02 TSQL Enhancements

    57/73

    Can control how the XML gets output

    Ugly query

    Is there a better way?

    Working with XML - Explicit

  • 7/31/2019 02 TSQL Enhancements

    58/73

    SELECT TOP 3

    BusinessEntityID "Person/@BusinessEntityID",

    FirstName "Person/FirstName"

    FROM AdventureWorks.Person.Person

    FOR XML PATH ('')

    Working with XML - PATH

  • 7/31/2019 02 TSQL Enhancements

    59/73

  • 7/31/2019 02 TSQL Enhancements

    60/73

    DECLARE @x XML

    SET @x = ''

    XQuery Declaring our XML string

  • 7/31/2019 02 TSQL Enhancements

    61/73

    SELECT @x.exist('/christmaslist/person[@gift="socks"]')

    SELECT @x.exist('/christmaslist/person[@gift="lump of coal"]')

    SELECT @x.exist('/christmaslist/person[@gift="Socks"])

    SELECT @x.value('/christmaslist[1]/person[1]/@name',

    'VARCHAR(20))

    SELECT @x.query('/christmaslist/person')

    XQuery - Querying

  • 7/31/2019 02 TSQL Enhancements

    62/73

    query()

    value()

    exist()

    nodes()

    modify()

    XQuery - Querying

  • 7/31/2019 02 TSQL Enhancements

    63/73

    http://msdn.microsoft.com/en-us/library/ms345117.aspx

    XQuery - Resources

    http://msdn.microsoft.com/en-us/library/ms187819.aspxhttp://msdn.microsoft.com/en-us/library/ms187819.aspxhttp://msdn.microsoft.com/en-us/library/ms187819.aspxhttp://msdn.microsoft.com/en-us/library/ms187819.aspx
  • 7/31/2019 02 TSQL Enhancements

    64/73

    ADO.NET gives you full control over how you

    access and retrieve data from the data source

    Strongly typed data sets

    Work in disconnected mode

    ADO.NET

  • 7/31/2019 02 TSQL Enhancements

    65/73

    SQLConnection

    Manages the connection to the database

    SQLCommand

    Defines the data to be read, updated etc.

    SQLDataAdapter

    Runs the SQLCommand against the database

    DataSet

    A complete in-memory copy of the data (tables, relationships, data types)

    Search, filter, navigate your data without even being connected to the database!

    ADO.NET

  • 7/31/2019 02 TSQL Enhancements

    66/73

    Randomize Select output

    Repeat statements with GO x

    TSQL Tricks

  • 7/31/2019 02 TSQL Enhancements

    67/73

    Spatial Data playground

    http://www.conceptdevelopment.net/Database/Geoquery/

    Hidden Features in SQL Server

    http://stackoverflow.com/questions/121243/hidden-

    features-of-sql-server

    Top 10 Hidden Gems in SQL Server

    http://technet.microsoft.com/en-au/library/cc917696.aspx

    Resources 1/2

    http://technet.microsoft.com/en-us/library/cc966456.aspxhttp://technet.microsoft.com/en-us/library/cc966456.aspxhttp://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.dochttp://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.dochttp://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.dochttp://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.dochttp://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.dochttp://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.dochttp://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://www.conceptdevelopment.net/Database/Geoquery/http://technet.microsoft.com/en-us/library/cc966456.aspxhttp://technet.microsoft.com/en-us/library/cc966456.aspx
  • 7/31/2019 02 TSQL Enhancements

    68/73

    What to do when you take over a new SQL Server box?

    http://www.brentozar.com/sql/blitz-minute-sql-server-takeovers/

    Resources 2/2

    http://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspxhttp://msdn.microsoft.com/en-us/library/bb630289.aspx
  • 7/31/2019 02 TSQL Enhancements

    69/73

    T-SQL Enhancements

    Download from Course Materials Site (to

    copy/paste scripts) or type manually

    http://sharepoint.ssw.com.au/training/UTSSQL/

    Session 2 Lab

    http://msdn.microsoft.com/en-us/library/bb630352.aspxhttp://msdn.microsoft.com/en-us/library/bb630352.aspx
  • 7/31/2019 02 TSQL Enhancements

    70/73

    Free chats and webcasts

    List of newsgroups

    Microsoft community sites

    Community events and columns

    Where Else Can I Get Help?

    www.microsoft.com/technet/community

    Where else can I get help?

  • 7/31/2019 02 TSQL Enhancements

    71/73

    3 things

    [email protected]

    http://ericphan.info

    twitter.com/ericphan

  • 7/31/2019 02 TSQL Enhancements

    72/73

    3 things

    [email protected]

    http://blog.ozdemir.id.au

    twitter.com/mozdemir_au

  • 7/31/2019 02 TSQL Enhancements

    73/73

    Thank You!

    Gateway Court Suite 10

    81 - 91 Military Road

    Neutral Bay, Sydney NSW 2089

    AUSTRALIA

    ABN: 21 069 371 900

    Phone: + 61 2 9953 3000

    Fax: + 61 2 9953 3105

    [email protected]

    www.ssw.com.au