SQL Server 2008: Innovationsübersicht

    SQL Server 2008: Innovationsübersicht


    Microsoft SQL Server ist ein proprietäres Datenbankverwaltungssystem,
    das Mehrbenutzerzugriff über das Netzwerk ermöglicht und
    die erweiterte T-SQL-Abfragesprache verwendet.
    Es stammt aus dem Jahr 1989, die ursprüngliche Version wurde von Sybase erstellt.
    In der vorherigen Version von 2005 wurde die CLR-Unterstützung eingeführt, mit der Sie
    Prozeduren in Sprachen schreiben können, die auf der .NET-Plattform ausgeführt werden.

    Versionsgeschichte:
    • 1992 - SQL Server 4.2
    • 1993 - SQL Server 4.21 für Windows NT
    • 1995 - SQL Server 6.0, Codename SQL95
    • 1996 - SQL Server 6.5, Codename Hydra
    • 1999 - SQL Server 7.0, Codename Sphinx
    • 1999 - SQL Server 7.0 OLAP, Codename Plato
    • 2000 - SQL Server 2000 32-Bit, Codename Shiloh (Version 8.0)
    • 2003 - SQL Server 2000 64-Bit, Codename Liberty
    • 2005 - SQL Server 2005, Codename Yukon (Version 9.0)
    • 2008 - SQL Server 2008


    SQL Server mit dem Codenamen Katmai (Version 10.0) wird von vielen Unternehmen verwendet. Die 2000-Version wird immer noch von vielen Unternehmen verwendet,
    und viele Datenbankadministratoren geben an, dass Microsoft vor
    allem in Management Studio keine besseren Ergebnisse als 2000 erzielt hat .

    SQL Server 2008 wurde im August 2008 veröffentlicht.

    Weitere Informationen zur Geschichte von MSSQL finden Sie in WikiPedia



    1. Zuweisen von Variablen in einer einzelnen Zeile.

    Jetzt statt: Sie können Folgendes schreiben: 2.
       DECLARE @myVar intSET @myVar = 5


        DECLARE @myVar int = 5


    Mathematische Syntax 3. Komprimierung. a) Sie können die Komprimierung für Tabellen / Partitionstabellen und Indizes aktivieren. b) Komprimierungsstufen - 2: 1) Zeile, 2) Seite c) Die Zeilenkomprimierung wird in die Seitenkomprimierung einbezogen.     Bei der Seitenkomprimierung gibt es eine Komprimierungsart, die auf der Übereinstimmung mit dem Spaltenpräfix basiert. D) Backups werden automatisch komprimiert. Im Allgemeinen wird berichtet, dass die Prozessorlast zunehmen und die Speichernutzung sinken kann. Sie können die Komprimierung über Management Studio aktivieren:  Anstelle von PAGE können Sie ROW verwenden und Tabellenpartitionen auswählen. Und das generierte Komprimierungsskript: Entweder dies: Zusätzliche Informationen
       
    DECLARE @myVar int = 5
    SET @myVar += 1


















    USE [test_db]

    ALTER TABLE [dbo].[TestTable] REBUILD PARTITION = ALL
    WITH (DATA_COMPRESSION = PAGE)




    USE [test_db]

    CREATE NONCLUSTERED INDEX IX_INDEX ON TestTable (TestTableVarFieldOne)
    WITH ( DATA_COMPRESSION = PAGE ) ;




    Lizenz-Nachteile: Die Komprimierung ist nur in den Editionen SQL Server 2008 Enterprise und Developer verfügbar.



    4. Es gibt Indizes mit Filterung. Es stimmt, aus irgendeinem Grund haben sie nicht für mich gearbeitet. Anscheinend war es unmöglich, den Primärschlüssel zu organisieren ... Beispiele sind hier beschrieben: [1] [2] Warum es benötigt wird: Zum Beispiel wissen wir, dass eine Spalte oft eine Art Textanforderung aus der Kategorie = 'SampleText', setzen Sie diesen Index und unserem Plan hat die Erfüllung der Anfrage wird lecker und schnell. 5. In SQL Server 2008 gibt es eine automatische Prüfung. Er wird von Management Studio aus der Sicherheitsgruppe aufgerufen

    CREATE NONCLUSTERED INDEX IX_TestTable_OneON TestTable(TestTableVarFieldOne)
    WHERE TestTableVarFieldOne = 'SampleText'
















     Erstellen wir übrigens eine Überwachungsregel. Der Parameter „Maximum“ nach dem Parameter „Dateipfad“ gibt an, wie viele Dateien im Ordner erstellt werden.

    Jetzt legen wir das Audit auf dem Server als Ganzes oder in der Datenbank ab.

       


    Zum Beispiel müssen wir jemanden prüfen, der sich die Daten aus der TestTable-Tabelle mit den Rechten db_datareader angesehen hat:



    Definieren Sie dazu die Art der Aktion (es gibt übrigens ungefähr 30 davon), Objektklasse (DB / Schema / Objekt), Objektname und die gruppe hat recht.

    Dasselbe können Sie in T-SQL tun: Vergessen Sie dann nicht, unser Audit „Enable“ durchzuführen. Weitere Informationen zum Audit finden Sie hier oder hier. 6. Neuer Debugger. Hier können Sie den Screencast sehen: http://www.screencast.com/t/Dgohd2wCkfG

    USE [test_db]
    GO

    CREATE DATABASE AUDIT SPECIFICATION [TestTableAuditOnView]
    FOR SERVER AUDIT [TestAudit]
    ADD (SELECT ON OBJECT::[dbo].[TestTable] BY [db_datareader])WITH (STATE = OFF)GO









    Tatsächlich ähnelt der einfache Debugger stark dem Debugger in Visual Studio,
    durchläuft die Pausen und gemäß Step Into / Step Out können Sie Watch einstellen, Call Stack beobachten und
    die Trigger automatisch eingeben.

    In der Version 2005 konnte dies entweder von Visual Studio
    oder, soweit ich mich erinnere, von Business Intelligence Studio aus erfolgen. Dies ist nicht sehr praktisch,
    und Sie müssen den Entwicklern nicht mehr Rechte gewähren, nicht weniger als "sysadmin".

    Lesen Sie mehr zum Debuggen in SQL Server 2005


    7 . Transparente Verschlüsselung Datenbank.

    Transparente Verschlüsselung ist auch TDE, eine sehr nützliche Funktion, die jedoch höchstwahrscheinlich nur für bestimmte Aufgaben nützlich ist, wenn Daten aus Sicherheitsgründen kritisch sind oder wenn Sie ein Problem lösen müssen:
    „Wer bewacht die Wachmänner selbst?“ - Wenn ein Administrator Zugriff auf einen, den zweiten bis zweiten und den dritten bis dritten Administrator haben muss und einer dieser drei das Journal oder die Backup- oder MDF-Dateien entfernt, sind sie aufgrund der Verschlüsselung unbrauchbar.



    Weitere Informationen: [hier] oder [hier]

    Nachteile der Lizenz: Nur in Developer / Enterprise-Versionen verfügbar.


    8. Abfrageplan einfrieren (Einfrieren planen).

    Wie Sie wissen, versucht SQL Server manchmal, den Abfrageplan zu ändern, je nachdem, wie sich die Daten geändert haben (Datenbankschema).

    Dies ist aus zwei Gründen erforderlich:
    1) damit der Server keine Zeit damit verschwendet, den Plan neu zu berechnen,
    2) damit der Server den Plan nicht "optimiert"
    Dies ist eine ziemlich große Menge an Arbeit, schauen Sie sich also Virtual Lab genauer an.

    Wenn dieses Thema später interessant ist, kann es aufgedeckt werden.

    Virtual Lab


    9. Resource Governor.

    In Management Studio befindet sich das Menüelement in der Gruppe "Management" im Fenster "Objekt-Explorer".


    Sie können lesen Sie [hier]
    Und siehe [hier]


    10. Neue Datentypen (auf Datum, Uhrzeit, Datetime, datetime2, hierarchyid, Geometrie-, Erdkunde, das Filestream)

    a) am DATE - Öffnungs nur Datum
    b) TIME - Öffnungs nur Zeit
    c) DATETIMEOFFSET - Datum und Uhrzeit mit Versatz "+" oder "-" speichern
    d) DATETIME2 - Datum und Uhrzeit vom 1. Januar 0001 bis 31. Dezember 9999
    speichern. e) HierarchyId - Hierarchiedaten speichern, und der Hierarchiebaum ist recht kompakt.

    Dieser Typ ist übrigens im XaocCPS-Artikel ( http://habrahabr.ru/blogs/sql/27774/ ) beschrieben.


    F) Geometrie und Geographie sind spezielle Typen, die Vektorobjekte enthalten:

    ObjektBeschreibung
    PunktEin Ort
    MehrpunktEine Reihe von Punkten.
    LinienzugEine Reihe von null oder mehr Punkten, die durch Linien verbunden sind.
    MultiLineStringEine Reihe von Linestrings
    PolygonEine zusammenhängende Region, die durch eine Reihe geschlossener Linienfolgen beschrieben wird.
    MultipolygonEine Reihe von Polygonen.
    GeometryCollectionEine Sammlung von Geometrietypen.
     g) FileStream - Wir speichern Daten im Dateisystem.
    Sie können [hier] lesen. Der

    Unterschied besteht darin, dass die Entfernungen im Geografietyp in Längen- und Breitengraden und die Geometrie in bestimmten Einheiten angegeben werden.

    Sie können es lesen [hier] ,   Screencast von Geography


    11. Tabellenwertparameter (Sie können Tabellen als Parameter übertragen)

    Warum muss möglicherweise eine Tabelle aus der Anwendung in die Datenbank übertragen werden?

    1) Um die Anzahl der INSERT / UPDATE - Operationen zu reduzieren ,
    2) Um ein Teil der Business - Logik - Schicht zu ermöglichen , wird auf den Server überträgt

    Vorteile:
    Starke Typisierung 1)
    2) Sortieren
    3) Wir können Index (Primärschlüssel in den Tabellen verwenden)
    4) Einfachheit

    Nachteile:
    kann schlecht, vor allem Menschen , aufblasen , die sehr einfallsreich sind (beispielsweise Verfahren erzeugten HTML - Code)


    Beispiel SQL - Code: Da C # Datatable bzw. Parameter übertragen. Screencast ansehen 12. Goodies des neuen Management Studios: a) IntelliSense (überlebt) b) Praktische Hervorhebung (Tooltips): Leider ist „+ =“ nur ein mathematischer Operator. ( C) Es werden Add-Ins unterstützt. D) Neue Serverchips integriert und Bequemlichkeit - Tipo gibt mir "nur 1000 Zeilen" e) Aktualisierter Aktivitätsmonitor

    Use testDatabase
    GO
    CREATE TYPE Customer AS TABLE (id int, CustomerName nvarchar(50), postcode nvarchar(50));
    GO
    CREATE TABLE Customers (id int, CustomerName nvarchar(50));
    GO
    CREATE TABLE CustomerPostCodes(id int, postcode nvarchar(50));
    GO
    /*
    INSERT INTO Customers VALUES (1, 'Bob')
    INSERT INTO CustomerPostCodes VALUES (1, 'ASD')
    INSERT INTO Customers VALUES (2, 'Jack')
    INSERT INTO CustomerPostCodes VALUES (2, 'QWE')
    INSERT INTO Customers VALUES (3, 'Gill')
    INSERT INTO CustomerPostCodes VALUES (3, 'ZXC')
    GO
    */
    CREATE Procedure AddCustomers (@customer Customer READONLY)
    AS
    INSERT INTO Customers
    SELECT id, CustomerName FROM @customer

    INSERT INTO CustomerPostCodes
    SELECT id, postcode FROM @customer
    GO

    DECLARE @myNewCustomer Customer;
    INSERT INTO @myNewCustomer VALUES (1, 'Harry', 'NEW')
    EXEC AddCustomers @myNewCustomer
    GO

    SELECT * FROM Customers
    SELECT * FROM CustomerPostCodes
    GO

    Drop table Customers;
    go

    Drop table CustomerPostCodes;
    go

    Drop procedure AddCustomers;
    go

    Drop type Customer;
    go

























    Es ist einfacher zu schreiben, dass Sie hier das "große Ganze" sehen können, obwohl es besser ist, sich die privaten Details mit SQL Profiler anzuschauen. Es ist besser dafür geeignet, und diese Leistungsindikatoren sind teilweise von Windows Server 2008 / Vista "Performance Monitoring" entlehnt.

    Im Allgemeinen schauen wir uns an, wer, warum, wo, was und wie viel es nm-Ressourcen kosten wird.


    Ein ganz netter "Logger der letzten ressourcenintensiven Abfragen":


    Es ist besonders schön, den Ausführungsplan für Abfragen sofort zu sehen:


    Nachteile: Sie können nicht benötigte Spalten nicht entfernen oder austauschen ...


    f) Abfragen mit mehreren Servern.

    Sie können Abfragen auf einer Gruppe von Servern ausführen. Dazu müssen Sie den Menüpunkt (Ansicht -> Registrierte Server -> Neue Abfrage) öffnen.



    PS

    SQL Server 2008 scheint in Bezug auf die Speichernutzung effizienter zu sein als 2005. Management Studio ist komfortabler geworden. Neue Datentypen bieten mehr Komfort bei der Entwicklung. Ich sehe auch, dass eine Menge hinzugefügt wurde, aber für ein weiteres Jahr werde ich es aufgrund dessen nicht auf Produktionsservern installieren Ich werde auf zahlreiche Testberichte über das Produkt warten, insbesondere die Testberichte derjenigen, die TDE, DataTable in Form von Parametern und Stabilität verwenden werden.


    PSS

    Stark nicht minus, der erste Beitrag, ich mache die Bilder später, ich rannte zur Arbeit.

    Jetzt auch beliebt: