Informatica Jobs at Tx

Description

Informatica Jobs at Tx document sample

Shared by: srm71221
-
Stats
views:
56
posted:
2/25/2011
language:
Spanish
pages:
61
Document Sample
scope of work template
							             SQL Server 2005


Jordi Rambla
Certia
Microsoft MVP
jordi@ramblainf.com
Yo (Jordi Rambla – jordi@ramblainf.com)
  Director técnico de Certia
  Consultor y profesor de Reporting y BI
  Mentor Asociado de Solid Quality Learning
  Iberoamericana
  MVP SQL Server
  Regional Director de Microsoft circa1997-2004
  Consultor de P&P,XML, ES y WS en Ciclo .NET UOC
Certia (http://certia.ramblainf.com)
  Es la marca de servicios de rambla informàtica
     Consultoría, formación y aplicaciones en BI y .NET
     Trabajando en informática empresarial desde 1985
                 More than just training

Mentores Principales:
  Itzik Ben-Gan, Kalen Delaney, Fernando G. Guerrero,
  Michael Hotek, Brian Moran , Ron Talmage
Iberoamericana:
  Miguel Egea, Alejandro Leguízamo, Jesús López, Pablo
  Pelaez, Jordi Rambla, Eladio Rincón, Daniel Seara,
  Guillermo Som, Antonio Soto, Adolfo Wiernik
Ayudando a obtener lo mejor de SQLServer y .Net con
  Formación
  Consultoría
  Mentoring
Solid Quality Learning University Summits
  ¿Qué son los SQL University Summits?
    Intensos, avanzados, esencialmente útiles
    Temarios aplicados a sistemas empresariales
    Eventos formativos, no de marketing
    2 grupos de sesiones simultáneas
    4 seminarios de día completo
    9 mentores presentando 28 sesiones
    En castellano
  ¿Dónde?
    Madrid (del 25 al 29 de Abril del 2005)
    Barcelona (¿2005?); también en:
       Milán, Washington DC, Los Angeles, Chicago, Dallas, Monterrey, San Salvador,
       Singapore, Hong Kong
Agenda
 ¿Qué hay de nuevo?
 Integración con .NET
 XML y SQL Server 2005
 Service Broker
 Mejoras en T-SQL
 Mejoras en ADO.NET
¿Qué hay de nuevo?
 ¿Qué hay de nuevo?
.NET Framework                              Database Maintenance                             Replication
     Common Language Runtime Integration         Backup and Restore Enhancements                 Auto-tuning Replication Agents
     User-defined Aggregates                     Checksum Integrity Checks                       Oracle Publication
     User-defined Data Types                     Dedicated Administrator Connection              Improved Blob Change Tracking
     User-defined Functions                      Dynamic AWE                               OLAP and Data Mining
     SQL Server .NET Data Provider               Fast Recovery                                   Analysis Management Objects
     Extended Triggers                           Highly-available Upgrade                        Windows Integrated Backup and Restore
Data Types                                        Online Index Operations                         Web Service/XML for Analysis
     FileStream Storage Attribute                Online Restore                                  DTS and DM Integration
     Managed SQL Types                           Parallel DBCC                                   Eight new DM algorithms
     New XML Datatype                            Parallel Index Operations                       Auto Packaging and Deployment
SQL Server Engine                           Management Tools                                 Data Transformation Services
     New Message Service Broker                  MDX Query Editor                                New Architecture (DTR + DTP)
     HTTP Support (Native HTTP)                  MDX Intellisense                                Complex Control Flows
     Database Tuning Advisor                     T-SQL Intellisense                              Control Flow Debugging
     Enhanced Read ahead & scan                  Version Control Support                         For Each Enumerations
     Extended Indexes                            XML/A                                           Property Mappings
     Multiple Active Result Sets                 SQLCMD Command Line Tool                        Full Data Flow Designer
     Persisted Computed Columns            Performance Tuning                                     Full DTS Control Flow Designer
     Queuing Support                             Profiler Enhancements                           Graphical Presentation of Pkg Execution
     Snapshot Isolation Level                    Profiling Analysis Services                     Immediate Mode and Project Mode
     Scale Up Partitioning                       Exportable Showplan                             Package (Advanced) Deployment Tools
     VIA support                                 Exportable Deadlock Traces                      Custom Tasks and Transformations
     NUMA support                          Full-text Search                                 Reporting Services
Database Failure and Redundancy                   Indexing of XML Datatype                        Multiple Output Formats
     Fail-over Clustering (up to 8 node)   MDAC                                                   Parameters (Static, Dynamic, Hierarchical)
     Enhanced Multi-instance Support             Side by Side installation                       Bulk Delivery of Personalized Content
     Database Mirroring                          Microsoft Installer base setup                  Support Multiple Data Sources
     Database Viewpoints                         Support for Active Directory Deployment         STS (Web Parts, Doc Libraries)
XML                                         SQL Client .NET Data Provider                          Visual Design Tool
     XQUERY Support (Server & Mid Tier)          Server Cursor Support                           Charting, Sorting, Filtering, Drill-Through
     XML Data Manipulation Language              Asynch                                          Scheduling, Caching
     FOR XML Enhancements                  Security                                               Complete Scripting Engine
     XML Schema (XSD) Support                    All Permissions Grantable                       Scale Out architecture
     MSXML 6.0 (Native)                          Fine Grain Administration Rights                Open XML Report Definition
     .Net XML Framework                          Separation of Users and Schema            Notification Services
¿Qué hay de nuevo?
Contexto

   Otros                                      Otros
  servicios                                  servicios
                Servicios    Formularios
                  Web
                       Biz      Web
                 Tier Logic
  Browsers
  estándar
                   Lógica aplicación


   Clientes         OS
 inteligentes
                  Services SO
                    Servicios
                                              Servicios
                                           building blocks
 Dispositivos
   móviles
¿Qué hay de nuevo?
Contexto

   Otros                                      Otros
  servicios                                  servicios
                Servicios    Formularios
                  Web
                       Biz      Web
                 Tier Logic
  Browsers
  estándar
                   Lógica aplicación


   Clientes         OS
 inteligentes
                  Services SO
                    Servicios
                                              Servicios
                                           building blocks
 Dispositivos
   móviles
Integración con .NET
Integración con .NET
Alternativa a T-SQL

                                    Lenguajes
                            T-SQL
                                      .NET
           Funciones
         definidas por el
             usuario
         Procedimientos
          almacenados

            Triggers

         Tipos definidos
          por el usuario

           Aggregates
Integración con .NET
Creación
  Registro de assemblies
    Almacenados en la base de datos
    CREATE ASSEMBLY NombreAssembly FROM c:\assembly.dll



  Referencias
    Se almacenan automáticamente
    Sólo dependencias que no estén en la GAC
Integración con .NET
Creación (II)
  Definición de:
     UDFs, procedimientos almacenados, triggers
        Enlazando a función estática y pública
     UDTs, aggregates
        Enlazando a clase

  CREATE FUNCTION NombreFuncion () RETURNS int
         AS EXTERNAL NAME NombreAssembly.[clase]:funcion
Integración con .NET
Seguridad
  CAS deja de tener validez
  Tres nuevos niveles gestionados por SQL
    Safe
    External
    Unsafe
  Validados al dar de alta el assembly
    Ej. Type safe, finalizers, mutable statics…
  Llamadas al BCL restringidas
    Nuevo atributo HostProtectionAttribute
Integración con .NET
Acceso a datos
  Comunicación mediante SqlAccess.dll
    System.Data.Sql
  Proveedor ADO.NET inprocess
    Acceso al contexto de la conexión
      Pipe
      Estado servidor
      Tablas triggers
      Petición
    Cursores de servidor
Procedimiento almacenado en .NET
Documentación disponible

 Using CLR Integration in SQL Server 2005
   Balaji Rathakrishnan
   Christian Kleinerman
   Brad Richards
   Ramachandran Venkatesh
   Vineet Rao
   Microsoft – Noviembre 2004 – 41 páginas
   http://msdn.microsoft.com/SQL/2005/2005Articles/default.aspx?pull=
   /library/en-us/dnsql90/html/sqlclrguidance.asp

 Managed Data Access Inside SQL Server with ADO.NET
 and SQLCLR
   Pablo Castro - Microsoft – Abril 2005 – 26 páginas
   http://msdn.microsoft.com/library/default.asp?url=/library/en-
   us/dnsql90/html/mandataaccess.asp
XML y SQL Server 2005
XML y SQL Server 2005
Novedades
 Tipo de dato XML
   Índices sobre campos XML
 Gestión de esquemas XSD
 Consulta XQuery
 Vistas XML (SQLXML)
 Mejoras en FOR XML y OPENXML
XML y SQL Server 2005
Nuevo tipo XML
 Almacena documentos XML
   Puede utilizarse como cualquier otro tipo
     Columnas, parámetros, retorno de funciones …
   Validación well-formed y XSD
   Se guarda como un BLOB (b1)
 Escenarios
   Información compleja
   Datos semiestructurados
   Gestión documental (ej. e-mail), mensajería (SOAP)
   Intercambio de documentos (B2B, B2C…)
XML y SQL Server 2005
Esquemas
 Los campos XML pueden asociarse con
 esquemas
 CREATE TABLE Invoices(
        id INT PRIMARY KEY,
        factura XML(EsquemaFactura)
        ...


 Esquemas almacenados en la base de datos
 CREATE XML SCHEMA COLLECTION geocoll
        '<xs:schema ...
        targetNamespace=urn:geo>
        ...
        </xs:schema>'
XML y SQL Server 2005
Acceso a campos XML
 XQUERY
   Standard W3C (Last Call Working Draft 4/4/2005)
     Con extensiones para la actualización
   Basado en XPath
     Mucha mayor riqueza para búsquedas complejas


   for $s in /doc[@id = 123]//sec[@num >= 3]
   return <topic>{data($s/heading)}</topic>
XML y SQL Server 2005
XQuery desde T-SQL
 xml.query: devuelve un tipo XML
 xml.exist: devuelve un booleano si hay resultado
 xml.value: devuelve un valor simple (escalar)
 xml.nodes: devuelve una tabla con una columna
 xml.modify: modifica el XML

   SELECT id, xDoc.query(
   'for $s in /doc[@id = 123]//sec[@num >= 3]
   return <topic>{data($s/heading)}</topic>')
   FROM docs
XML y SQL Server 2005
T-SQL desde XQuery
 sql:variable
   Acceso a variables T-SQL desde Xquery
 sql:column
   Acceso a la columna a la que pertenece el XML
    select CV.query(
    'for $elem in /CV/DatosPersonales
       return
       <Nombre>
       { sql:column("Nombre") }
       </Nombre> '
    ) from DatosPersonales
XML y SQL Server 2005
Índices
  Pueden definirse índices en columnas XML
    Aceleran las sentencias XQuery
  Cuatro tipos
    PRIMARY: Indexa los nodos
    PATH: Indexa por path de nodo
    VALUE: Indexa por contenido de nodos
    PROPERTY: Indexa por nodos comunes
XML y SQL Server 2005
Documentación disponible

 XML Options in Microsoft SQL Server 2005
   Microsoft – Enero 2005 – 34 páginas
   http://msdn.microsoft.com/SQL/2005/2005Articles/default.aspx?pull=
   /library/en-us/dnsql90/html/sql2k5xmloptions.asp

 XML Support in Microsoft SQL Server 2005
   Shankar Pal, Mark Fussell, Irwin Dolobowsky
   Microsoft Corporation – Mayo 2004 – 39 páginas
   http://msdn.microsoft.com/SQL/2005/2005Articles/default.aspx?pull=
   /library/en-us/dnsql90/html/sql2k5xml.asp
Service Broker
Service Broker
¿Qué es?
 Sistema de mensajería asíncrona
   Implementado 100% en SQL Server
 Destinatarios
   La misma BBDD
   Otra BBDD en la misma instancia o en otra instancia
   Otro servidor SQL Server remoto
 Incluye
   Nuevos objetos
   Nuevas sentencias T-SQL
 Utilizado internamente en SQL Server 2005
   Query Notifications
   Event Notifications
 Lo pueden usar otras aplicaciones
Service Broker
Y con éste ya van 4…
 MSMQ
   Necesita usar DTC para transacciones con BD
   No garantiza ordenamiento de mensajes
 Biztalk messaging
   Incorpora orquestación
   Automatiza proceso
 Indigo messaging
   Es interoperable
Mensajería asíncrona
(¿Cómo dice?)
 Usamos una cola para:
   Que el proceso deje un mensaje en la cola y
   recupere inmediatamente el control del proceso
   (asincronía)
   El software de gestión de colas se encarga de
   gestionar la entrega de ese mensaje en su destino
     Con todos los matices adicionales (persistencia, garantía,
     secuencia, entrega única, transacción, trazabilidad…)
     Esas son las diferencias con un socket TCP
   El receptor puede procesar los mensajes a su
   conveniencia (con/sin prioridad, p.e.)
Mensajería asíncrona
(¿Dónde está el truco?)
  Es necesario disponer del software cliente de la
  cola y de un servidor
  Es necesario “diseñar/definir” una serie de
  mensajes y de diálogos entre emisores y
  receptores
  Si se utiliza en muchas aplicaciones
    Definimos un “canal” para cada cola (muchas)
    Mezclamos varias comunicaciones en una misma
    cola (control)
  En algunos aspectos es similar a una conexión
  a la BBDD (abrir/cerrar, coste, estado, …)
Service Broker
Mensajes
 Unidad de comunicación
 Tres tipos
   Binarios
   Cabecera
   XML (tipados o sin tipar)

   CREATE MESSAGE TYPE
   [http://www.company.com/messages/Invoice]
     VALIDATION = VALID_XML
       WITH SCHEMA COLLECTION invoice_xsd
Service Broker
Contratos
 Define los mensajes que se pueden
 intercambiar
    CREATE CONTRACT
     [//company.com/Expenses/ExpenseSubmission]
       (
         [//company.com/Expenses/SubmitExpense]
           SENT BY INITIATOR,
         [//company.com/Expenses/ApprovedOrDenied]
           SENT BY TARGET,
         [//company.com/Expenses/ExpenseReimbursed]
           SENT BY TARGET
       )
Service Broker
Colas
 Puntos de entrada a los servicios
   Pueden leerse desde T-SQL
   Pueden llamar a un procedimiento

   CREATE QUEUE ExpenseQueueC
      WITH STATUS = ON
      ACTIVATION (
      PROCEDURE_NAME = expense_activation,
      MAX_QUEUE_READERS = 5,
      EXECUTE_AS USER = 'sa')
Service Broker
Servicios
  Funcionalidad expuesta en las colas
  Compuesto por
    Una cola
    Varios contratos

    CREATE SERVICE [//company.com/Expenses]
      ON ExpenseQueue

      ([//company.com/Expenses/ExpenseSubmission],
       [//company.com/Expenses/ExpenseProcessing])
Service Broker
Envío de mensajes
 1.- Creación del diálogo
   Un diálogo ordena y correlaciona los mensajes
 2.- Envío del mensaje
   Mediante comando SEND
   SET @ExpenseReport = “<report>…</report>”;

   BEGIN DIALOG @dialog_handle
   FROM SERVICE [//Adventure-Works.com/Expenses/ExpenseClient]
   TO SERVICE '//Adventure-Works.com/Expenses'
   ON CONTRACT [//Adventure-Works.com/Expenses/ExpenseProcessing] ;

   SEND ON CONVERSATION @dialog_handle
       MESSAGE TYPE [//Adventure-Works.com/Expenses/SubmitExpense]
       (@ExpenseReport) ;
Service Broker
Recepción de mensajes
 Comando RECEIVE
   Especifica la cola y el diálogo
   Es posible quedar a la espera con WAITFOR


   WAITFOR (
     RECEIVE *
       FROM ExpenseQueue),
     TIMEOUT 60000
Colas simples
Documentación disponible

 An Introduction to SQL Server Service Broker
   Roger Wolter – Julio 2004 – 10 páginas
   Kit de Recursos SQL Server 2005 Beta 2
   Conceptos básicos

 A First Look at SQL Server 2005 Service Broker
   Roger Wolter – Julio 2004 – 20 páginas
   http://msdn.microsoft.com/SQL/2005/2005Articles/default.aspx?pull=
   /library/en-us/dnsql90/html/sqlsvcbroker.asp
   Conceptos y ejemplos de código
Mejoras en T-SQL
Mejoras en T-SQL
Control de excepciones
 Se acabó el acceso a @@ERROR
 Bloques TRY…CATCH
   Anidables
   Nuevas funciones disponibles en el CATCH
      ERROR_NUMBER, ERROR_MESSAGE…

    BEGIN TRY
       SELECT * FROM authors
     END TRY
     BEGIN CATCH
      SELECT ERROR_NUMBER()
     END CATCH
Mejoras en T-SQL
Common Table Expressions
 Resultset temporal
   Sólo vive en la sentencia actual
   WITH mid AS
   (
   SELECT (MAX(ListPrice) + MIN(ListPrice))/2 as midval
   from production.product
   )
   SELECT * FROM Production.Product, mid
   WHERE ListPrice > midval


 Mejor que las subqueries si hay varias iguales
 Admite recursividad
Mejoras en T-SQL
Ranking
 Añade una columna basada en rankings
   ROW_NUMBER
   RANK
   DENSE_RANK
   NTILE (n)
 Pueden agruparse en particiones
   PARTITION BY
Mejoras en T-SQL
Ranking (2)
 SELECT orderid, customerid,
   ROW_NUMBER() OVER(ORDER BY    customerid)     AS    num,
   RANK()       OVER(ORDER BY    customerid)     AS    [rank],
   DENSE_RANK() OVER(ORDER BY    customerid)     AS    [denserank],
   NTILE(5)     OVER(ORDER BY    customerid)     AS    ntile5
 FROM orders



                   orderid       customerid   num      rank     denserank   tile5
                   -----------   ----------   ------   ------   ---------   ------
                   10308         ANATR        1        1        1           1
                   10365         ANTON        2        2        2           1
                   10355         AROUT        3        3        3           2
                   10383         AROUT        4        3        3           2
                   10278         BERGS        5        5        4           3
                   10280         BERGS        6        5        4           3
                   10384         BERGS        7        5        4           4
                   10265         BLONP        8        8        5           4
                   10297         BLONP        9        8        5           5
                   10360         BLONP        10       8        5           5
Mejoras en T-SQL
Otras
 Pivot
   Convierte filas a columnas
 OUTPUT
   Permite especificar una salida a sentencias de
   actualización distinta al número de filas
   Ej. Registros borrados, identities, etc.
 Aislamiento snapshot
   Escritores no bloquean a lectores
Mejoras en T-SQL
Ranking (2)
 DECLARE @DeletedOrders TABLE
 (    orderid INT,
     orderdate DATETIME,
     empid INT,
     custid VARCHAR(5),
     qty INT )
 WHILE 1=1
    BEGIN
       BEGIN TRAN
          DELETE TOP(5000) FROM Orders
          OUTPUT deleted.* INTO @DeletedOrders
          WHERE orderdate < '20030101'
          INSERT INTO OrdersArchive
          SELECT * FROM @DeletedOrders
       COMMIT TRAN
       DELETE FROM @DeletedOrders
       IF @@rowcount < 5000
       BREAK
    END
Mejoras en T-SQL
Otras (2)
  DRI
    SET NULL y SET DEFAULT
        (…)
        CONSTRAINT FK_Orders_Customers
        FOREIGN KEY(customerid)
        REFERENCES Customers(customerid)
        ON DELETE SET NULL
        ON UPDATE SET DEFAULT

  TOP
    Permite expresiones
    También para actualizaciones
T-SQL
Documentación disponible
 SQL Server 2005 Beta 2 Transact-SQL
 Enhancements
   Itzik Ben-Gan – Solid Quality Learning
   Diciembre 2004 – 49 páginas
   http://msdn.microsoft.com/library/en-
   us/dnsql90/html/sql_05TSQLEnhance.asp

  Hands On Lab 115
    Microsoft - 18 páginas
    Kit de recursos Beta 2


  SQL Server 2005 Beta 2 Snapshot Isolation
    Kimberly L. Tripp - SQLSkills.com – Febrero 2005 – 59 páginas
    http://msdn.microsoft.com/SQL/2005/2005Articles/default.aspx?pull=
    /library/en-us/dnsql90/html/sql2k5snapshotisol.asp
Mejoras en ADO.NET
 para SQL Server 2005
Mejoras en ADO.NET
MARS
 Múltiples resultsets y transacciones simultáneas
 por conexión
    SqlCommand cmd = new SqlCommand("select * from
    authors",conn);

    SqlCommand cmd2 = new SqlCommand("select * from
    jobs",conn);
    conn.Open();
    SqlDataReader rdr = cmd.ExecuteReader();

    SqlDataReader rdr2 = cmd2.ExecuteReader();
    rdr2.Read();
    rdr.Read();
Mejoras en ADO.NET
Dependencias SQL
 Notificación cuando cambia un resultset
   Útil para invalidar caché o vistas
 Basado en Service Broker
   SqlNotificationRequest
     Recibe un objeto comando y un servicio
     Envía un mensaje al servicio cuando cambia el resultset
   SqlDependency
     Abstrae el Service Broker
     Evento OnChanged
Notificaciones
Documentación disponible

 Multiple Active Result Sets (MARS) in SQL Server 2005
   Christian Kleinerman - Microsoft – Octubre 2004 – 19 páginas
   http://msdn.microsoft.com/library/default.asp?url=/library/en-
   us/dnsql90/html/MARSinSQL05.asp


 ADO.NET and System.Xml v.2.0--The Beta Version 2ªed
   Alex Homer, David Sussman, Mark Fussell
   Addison Wesley – Marzo 2005 – 560 páginas (cap.muestra – 38 págs.)
   http://www.awprofessional.com/content/images/0321247124/samplec
   hapter/homer_ch05.pdf
   http://www.daveandal.net/books/7124/ (código)
Mejoras en ADO.NET
Transacciones
 System.Transactions
   API manejada para definir transacciones
   Sin EnterpriseServices (COM+)
 Promotable
   Comienza como local (10 ms)
   Sigue local en accesos a SQL Server 2005
   Sólo se promueve a DTC si
     Se accede a SQL Server 2000, MSMQ, Oracle…
     Se acceden a dos SQL Server 2005
Mejoras en ADO.NET
Transacciones (2)
   using (TransactionScope ts = new TransactionScope())
   {
     SqlConnection conn1 = new SqlConnection(
       "server=.;integrated security=sspi;database=pubs"))
     // Local tx si SQL 2005, si no distribuida
     conn1.Open();
     SqlCommand cmd1 = new SqlCommand(
        "INSERT jobs 'job1', 10, 10", conn1);
     cmd1.ExecuteNonQuery();

       SqlConnection conn2 = new SqlConnection(
         "server=other;integrated security=sspi;database=pubs"))
       // promueve a distribuida
       conn2.Open();
       SqlCommand cmd2 = new SqlCommand(
          "INSERT jobs 'job2', 10, 10", conn2);
       cmd2.ExecuteNonQuery();

       ts.Complete(); // commit transaction
   }
Transacciones
Documentación disponible

 ADO.NET and System.Transactions
   John Papa - Microsoft – MSDN Magazine Febrero 2005 – 5 páginas
   http://msdn.microsoft.com/msdnmag/issues/05/02/DataPoints/defaul
   t.aspx
BI Operaciones diversas
    SSIS
    UDM
    SSAS (OLAP)
    SSRS
jordi@ramblainf.com

						
Related docs
Other docs by srm71221