Microsoft SQL Server

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

Microsoft SQL Server es un sistema propietario de gestión de bases de datos relacionales desarrollado por Microsoft mediante Lenguaje de Consulta Estructurado (SQL, a menudo pronunciado "secuela"). Como servidor de bases de datos, es un producto de software cuya función principal es almacenar y recuperar datos según lo solicitado por otras aplicaciones de software, que pueden ejecutarse en el mismo equipo o en otro a través de una red (incluido Internet). Microsoft comercializa al menos una docena de ediciones diferentes de Microsoft SQL Server, dirigidas a distintos públicos y para cargas de trabajo que abarcan desde pequeñas aplicaciones para una sola máquina hasta grandes aplicaciones conectadas a Internet con muchos usuarios simultáneos.

Historia

La historia de Microsoft SQL Server comienza con el primer producto de Microsoft SQL Server —SQL Server 1.0, un servidor de 16 bits para el sistema operativo OS/2 en 1989— y se extiende hasta la actualidad. Su nombre es completamente descriptivo, ya que se trata de un software de servidor que responde a consultas en lenguaje SQL.

Hitos

  • MS SQL Server for OS/2 comenzó como un proyecto para port Sybase SQL Server en OS/2 en 1989, por Sybase, Ashton-Tate y Microsoft.
  • SQL Server 4.2 para NT es lanzado en 1993, marcando la entrada en Windows NT.
  • SQL Server 6.0 es lanzado en 1995, marcando el final de la colaboración con Sybase; Sybase seguiría desarrollando su propia variante de SQL Server, Sybase Adaptive Server Enterprise, independientemente de Microsoft.
  • SQL Server 7.0 es lanzado en 1998, marcando la conversión del código fuente de C a C++.
  • SQL Server 2000, publicado en 2000. SQL Server 2000 SQL Server 8 SQL Server 8.0 codename Shiloh Fecha de lanzamiento: 2000-11-30.
  • SQL Server 2005, lanzado en 2005, termina la revisión completa del antiguo código Sybase en el código Microsoft.
  • SQL Server 2008, lanzado en 2008, admite datos jerárquicos, añade tipos de datos FILESTREAM y SPATIAL.
  • SQL Server 2012, lanzado en 2012, añade columnar en memoria aka xVelocity.
  • SQL Server 2017, lanzado en 2017, añade soporte Linux para estas plataformas Linux: Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Ubuntu & Docker Engine.
  • SQL Server 2019, publicado en 2019, añade Big Data Clusters, mejoras a la "Baja de datos inteligente", funciones de monitoreo mejoradas, experiencia de desarrollador actualizada, y actualizaciones y mejoras para instalaciones basadas en Linux.
  • SQL Server 2022, lanzado en 2022.

Actualmente

A partir de enero de 2025, Microsoft ofrece soporte para las siguientes versiones:
  • SQL Server 2016
  • SQL Server 2017
  • SQL Server 2019
  • SQL Server 2022


A partir de SQL Server 2016, el producto solo es compatible con procesadores x64 y debe tener un procesador de al menos 1,4 GHz; se recomienda uno de 2,0 GHz o superior.

La versión actual es Microsoft SQL Server 2022, publicada el 16 de noviembre de 2022. La versión RTM es la 16.0.1000.6.

Editions

Microsoft ofrece SQL Server en varias ediciones, con diferentes conjuntos de características y dirigidas a distintos usuarios. Estas ediciones son:

Principales ediciones

Enterprise
SQL Server Enterprise Edition incluye tanto el motor de base de datos como los servicios adicionales, con una gama de herramientas para crear y gestionar un clúster SQL Server. Puede gestionar bases de datos tan grandes como 524 petabytes y dirigir 12 terabytes de memoria y admite 640 procesadores lógicos ( núcleos de CPU).
Estándar
La edición SQL Server Standard incluye el motor básico de base de datos, junto con los servicios independientes. Diferencia de la edición de Enterprise en que soporta menos instancias activas (número de nodos en un clúster) y no incluye algunas funciones de alta disponibilidad, como la memoria caliente-add (permitir la memoria a ser añadido mientras el servidor sigue funcionando), y índices paralelos.
Web
SQL Server Web Edition es una opción bajo-TCO para el alojamiento web.
Inteligencia empresarial
Introducido en SQL Server 2012 y centrado en Self Service e Corporate Business Intelligence. Incluye las capacidades de edición estándar y las herramientas de inteligencia empresarial: Power Pivot, Power View, BI Semantic Model, Master Data Services, Data Quality Services y xVelocity in-memory analytics.
Grupo de trabajo
SQL Server Workgroup Edition incluye la funcionalidad básica de la base de datos pero no incluye los servicios adicionales. Tenga en cuenta que esta edición se ha retirado en SQL Server 2012.
Express
SQL Server Express Edition es una edición gratuita de SQL Server, que incluye el motor básico de bases de datos. Aunque no hay limitaciones en el número de bases de datos o usuarios compatibles, se limita a utilizar un procesador, 1 GB de memoria y 10 GB de archivos de bases de datos (4 GB de archivos de bases de datos antes de SQL Server Express 2008 R2). Se pretende sustituir el MSDE. Dos ediciones adicionales proporcionan un superset de características no en la edición Express original. El primero SQL Server Express con Herramientas, que incluye SQL Server Management Studio Basic. SQL Server Express con servicios avanzados añade capacidad de búsqueda de texto completo y servicios de presentación de informes.

Ediciónes especializadas

Azure
Microsoft Azure SQL Base de datos es la versión basada en la nube de Microsoft SQL Server, presentada como plataforma como una oferta de servicio en Microsoft Azure.
Azure MPP
Azure SQL Data Warehouse es la versión basada en la nube de Microsoft SQL Server en una arquitectura MPP (procesamiento masivamente paralelo) para cargas de trabajo de análisis, presentada como plataforma como una oferta de servicio en Microsoft Azure.
Compacto (SQL CE)
La edición compacta es un motor de base de datos integrado. A diferencia de las otras ediciones de SQL Server, el motor SQL CE se basa en SQL Mobile (inicialmente diseñado para su uso con dispositivos manuales) y no comparte los mismos binarios. Debido a su pequeño tamaño (1 MB DLL huella), tiene un conjunto de características marcadamente reducido en comparación con las otras ediciones. Por ejemplo, soporta un subconjunto de los tipos de datos estándar, no admite procedimientos almacenados ni vistas o lotes de estado múltiple (entre otras limitaciones). Se limita a 4 GB de tamaño máximo de la base de datos y no puede ejecutarse como un servicio de Windows, Compact Edition debe ser alojado por la aplicación que la utiliza. La versión 3.5 incluye soporte para ADO. NET Synchronization Services. SQL CE no admite conectividad ODBC, a diferencia de SQL Server adecuado.
Desarrollado
SQL Server Developer Edition incluye las mismas características que SQL Server Enterprise Edition, pero está limitada por la licencia para ser usada sólo como un sistema de desarrollo y prueba, y no como servidor de producción. A principios de 2016, Microsoft hizo esta edición gratuita al público.
Embedded (SSEE)
SQL Server 2005 Edición incorporada es una instancia especialmente configurada del motor de base de datos SQL Server Express que sólo puede ser accedido por ciertos Servicios de Windows.
Evaluación
SQL Server Evaluation Edition, también conocido como Primera edición, tiene todas las características de la Edición Enterprise, pero se limita a 180 días, después de lo cual las herramientas continuarán funcionando, pero los servicios del servidor se detendrán.
Pista rápida
SQL Server Fast Track es específicamente para almacenamiento de datos a escala empresarial y procesamiento de inteligencia empresarial, y se ejecuta en hardware de arquitectura de referencia que se optimiza para Fast Track.
LocalDB
Introducido en SQL Server Express 2012, LocalDB es una versión mínima, bajo demanda, de SQL Server que está diseñada para desarrolladores de aplicaciones. También se puede utilizar como base de datos integrada.
Analytics Platform System (APS)
Anteriormente paralel Data Warehouse (PDW) Un procesamiento masivamente paralelo (MPP) SQL Server appliance optimizado para almacenamiento de datos a gran escala como cientos de terabytes.
Datawarehouse Appliance Edition
Preinstalado y configurado como parte de un dispositivo en asociación con Dell & HP base en la arquitectura Fast Track. Esta edición no incluye SQL Server Integration Services, Analysis Services o Reporting Services. SQLCMD

Ediciones suspendidas

Microsoft Data Engine
La versión 1.0 se basa en SQL Server versión 7.0. Posteriormente, fue reemplazado por Microsoft SQL Server Data Engine.
Microsoft SQL Server Data Engine
También se llama Desktop Engine, Desktop Edition, se basa en SQL Server 2000. Incluye algunas versiones de Microsoft Access, herramientas de desarrollo de Microsoft y otras ediciones de SQL Server. Intended for use with those management and development tools, it did not include any other GUI. Más tarde, Microsoft también puso a disposición una herramienta de administración web. Después de SQL Server 2000, fue reemplazado por SQL Server 2005 Express Edition.
Edición personal
SQL Server 2000. Tenía límites de carga de trabajo o conexión como MSDE, pero no tenía límite de tamaño de la base de datos. Incluye herramientas de gestión estándar. Intended for use as a mobile / disconnected proxy, licensed for use with SQL Server 2000 Standard edition. Similar a la edición estándar en SQL Server 2000, pero Full-Text Buscar no trabajar en Windows 98, replicación transaccional limitada a suscriptor.
Datacenter
SQL Server 2008 R2 Datacenter es una edición completa de SQL Server y está diseñada para centros de datos que necesitan altos niveles de soporte y escalabilidad de aplicaciones. Soporta 256 procesadores lógicos y memoria virtualmente ilimitada y viene con la edición Premium StreamInsight. La edición Datacenter se ha retirado en SQL Server 2012; todas sus características están disponibles en SQL Server 2012 Enterprise Edition.
Windows CE Edition
Introducido en SQL Server 2000, y reemplazado por SQL Server 2005 Mobile Edition.
SQL Server 2005 Mobile Edition
Reemplazado por SQL Server 2005 Edición compacta después de 1 lanzamiento.
SQL Server 2005 Edición compacta
Reemplazado por SQL Server Compact 3.5 después de 1 lanzamiento.

Paquetes suplementarios

Las herramientas publicadas por Microsoft incluyen:
  • SQL Server 2000:
  • Muestras: Northwind y pubs Muestra bases de datos, Muestras actualizadas para SQL Server 2000.
  • Herramientas: Herramientas de análisis de estrés y rendimiento (Read80Trace y OSTRESS), PSSDIAG Data Collection Utilidad, Servicios de notificación (hasta paquete de servicio 1), Herramientas de seguridad, Mejores Prácticas Analyzer 1.0, Servicios de presentación de informes (hasta Service Pack 2), Reporting Services Report Packs, SQL Server 2000 Driver for JDBC (hasta paquete de servicio 3), SQLXML 3.0 (hasta paquete de servicio 3).
  • Documentación: SQL Server 2000 Books Online, SQL Server 2000 System Table Map, Kit de recursos, SQL Server 2000 — Guía de inicio.

Arquitectura

La capa de protocolo implementa la interfaz externa con SQL Server. Todas las operaciones que se pueden invocar en SQL Server se le comunican mediante un formato definido por Microsoft, denominado Flujo de Datos Tabulares (TDS). TDS es un protocolo de la capa de aplicación que se utiliza para transferir datos entre un servidor de bases de datos y un cliente. Inicialmente diseñado y desarrollado por Sybase Inc. para su motor de bases de datos relacionales Sybase SQL Server en 1984, y posteriormente por Microsoft en Microsoft SQL Server, los paquetes TDS pueden encapsularse en otros protocolos que dependen del transporte físico, como TCP/IP, canalizaciones con nombre y memoria compartida. Por consiguiente, el acceso a SQL Server está disponible a través de estos protocolos. Además, la API de SQL Server también se expone a través de servicios web.

Almacenamiento de datos

El almacenamiento de datos es una base de datos, que consiste en una colección de tablas con columnas tipificadas. SQL Server admite diferentes tipos de datos, incluyendo tipos primitivos como Integer, Float, Decimal, Char (incluidas cadenas de caracteres), Varchar (cadenas de caracteres de longitud variable), binary (para blobs de datos no estructurados) y Text (para datos textuales), entre otros. El redondeo de números float a enteros utiliza el redondeo aritmético simétrico o el redondeo simétrico descendente (fix) según los argumentos: SELECT Round(2.5, 0) da como resultado 3.

Microsoft SQL Server también permite definir y utilizar tipos compuestos definidos por el usuario (UDT). Además, ofrece estadísticas del servidor como tablas y vistas virtuales (denominadas Vistas de Administración Dinámica o DMV). Además de tablas, una base de datos puede contener otros objetos, como vistas, procedimientos almacenados, índices y restricciones, además de un registro de transacciones. Una base de datos de SQL Server puede contener un máximo de 231 objetos y abarcar varios archivos del sistema operativo con un tamaño máximo de 260 bytes (1 exabyte). Los datos de la base de datos se almacenan en archivos de datos primarios con la extensión .mdf. Los archivos de datos secundarios, identificados con la extensión .ndf, permiten distribuir los datos de una misma base de datos en más de un archivo y, opcionalmente, en más de un sistema de archivos. Los archivos de registro se identifican con la extensión .ldf.

El espacio de almacenamiento asignado a una base de datos se divide en páginas numeradas secuencialmente, cada una de 8 KB. Una página es la unidad básica de E/S para las operaciones de SQL Server. Cada página se marca con un encabezado de 96 bytes que almacena metadatos sobre la página, incluyendo el número, el tipo, el espacio libre y el ID del objeto que la contiene. El tipo de página define los datos que contiene. Estos datos incluyen: datos almacenados en la base de datos, un índice, un mapa de asignación, que contiene información sobre cómo se asignan las páginas a tablas e índices; y un mapa de cambios, que contiene información sobre los cambios realizados en otras páginas desde la última copia de seguridad o registro, o que contienen tipos de datos grandes, como imágenes o texto. Si bien una página es la unidad básica de una operación de E/S, el espacio se gestiona en términos de una extensión de 8 páginas. Un objeto de base de datos puede abarcar las 8 páginas de una extensión (extensión uniforme) o compartir una extensión con hasta 7 objetos más (extensión mixta). Una fila de una tabla de base de datos no puede abarcar más de una página, por lo que su tamaño está limitado a 8 KB. Sin embargo, si los datos superan los 8 KB y la fila contiene datos varchar o varbinary, los datos de esas columnas se mueven a una nueva página (o posiblemente a una secuencia de páginas, denominada unidad de asignación) y se reemplazan con un puntero a los datos.Para el almacenamiento físico de una tabla, sus filas se dividen en una serie de particiones (numeradas del 1 al n). El tamaño de la partición lo define el usuario; por defecto, todas las filas se encuentran en una sola partición. Una tabla se divide en varias particiones para distribuir una base de datos en un clúster de computadoras. Las filas de cada partición se almacenan en una estructura de árbol B o de montón. Si la tabla tiene un índice agrupado asociado para permitir una rápida recuperación de filas, estas se almacenan ordenadas según sus valores de índice, siendo el árbol B el que proporciona el índice. Los datos se encuentran en el nodo hoja de las hojas, y otros nodos almacenan los valores de índice de los datos hoja accesibles desde los respectivos nodos. Si el índice no está agrupado, las filas no se ordenan según las claves de índice. Una vista indexada tiene la misma estructura de almacenamiento que una tabla indexada. Una tabla sin índice agrupado se almacena en una estructura de montón desordenada. Sin embargo, la tabla puede tener índices no agrupados para permitir una rápida recuperación de filas. En algunas situaciones, la estructura de montón ofrece ventajas de rendimiento sobre la estructura agrupada. Tanto los montones como los árboles B pueden abarcar múltiples unidades de asignación.

Gestión de los amortiguadores

SQL Server almacena páginas en búfer en RAM para minimizar la E/S del disco. Cualquier página de 8 KB puede almacenarse en búfer en memoria, y el conjunto de todas las páginas almacenadas actualmente se denomina caché de búfer. La cantidad de memoria disponible para SQL Server determina cuántas páginas se almacenarán en caché. El Administrador de búfer administra la caché de búfer. Al leer o escribir en cualquier página, se copia en la caché de búfer. Las lecturas o escrituras posteriores se redirigen a la copia en memoria, en lugar de a la versión en disco. El Administrador de búfer actualiza la página en el disco solo si no se ha hecho referencia a la caché en memoria durante un tiempo. Al volver a escribir páginas en el disco, se utiliza la E/S asíncrona, donde la operación de E/S se realiza en un subproceso en segundo plano para que otras operaciones no tengan que esperar a que se complete la operación de E/S. Cada página se escribe junto con su suma de comprobación al escribirse. Al volver a leer la página, se calcula nuevamente su suma de comprobación y se compara con la versión almacenada para garantizar que la página no haya sido dañada ni alterada durante ese tiempo.

Concurrencia y bloqueo

SQL Server permite que varios clientes utilicen la misma base de datos simultáneamente. Por lo tanto, necesita controlar el acceso simultáneo a los datos compartidos para garantizar su integridad, ya sea cuando varios clientes actualizan los mismos datos o cuando intentan leer datos que otro cliente está modificando. SQL Server ofrece dos modos de control de concurrencia: concurrencia pesimista y concurrencia optimista. Cuando se utiliza el control de concurrencia pesimista, SQL Server controla el acceso simultáneo mediante bloqueos. Los bloqueos pueden ser compartidos o exclusivos. Un bloqueo exclusivo otorga al usuario acceso exclusivo a los datos; ningún otro usuario puede acceder a ellos mientras se mantenga el bloqueo. Los bloqueos compartidos se utilizan cuando se leen datos: varios usuarios pueden leer datos bloqueados con un bloqueo compartido, pero no adquirir un bloqueo exclusivo. Este último tendría que esperar a que se liberaran todos los bloqueos compartidos.Los bloqueos se pueden aplicar con diferentes niveles de granularidad: en tablas completas, páginas o incluso por fila de las tablas. En el caso de los índices, pueden aplicarse a todo el índice o a sus hojas. El administrador de la base de datos define el nivel de granularidad para cada base de datos. Si bien un sistema de bloqueo detallado permite que más usuarios utilicen la tabla o el índice simultáneamente, requiere más recursos, por lo que no ofrece automáticamente un mayor rendimiento. SQL Server también incluye dos soluciones de exclusión mutua más ligeras (latches y spinlocks), que son menos robustas que los bloqueos, pero consumen menos recursos. SQL Server las utiliza para las DMV y otros recursos que no suelen estar ocupados. SQL Server también supervisa todos los subprocesos de trabajo que adquieren bloqueos para garantizar que no se bloqueen. En caso de que esto ocurra, SQL Server toma medidas correctivas, que en muchos casos consisten en eliminar uno de los subprocesos involucrados en un bloqueo y revertir la transacción iniciada. Para implementar el bloqueo, SQL Server incluye el Administrador de bloqueos. El administrador de bloqueos mantiene una tabla en memoria que administra los objetos de la base de datos y los bloqueos, si los hay, junto con otros metadatos sobre el bloqueo. El acceso a cualquier objeto compartido es mediado por el administrador de bloqueos, que otorga acceso al recurso o lo bloquea.SQL Server también proporciona el mecanismo de control de concurrencia optimista, similar al control de concurrencia multiversión utilizado en otras bases de datos. Este mecanismo permite crear una nueva versión de una fila cada vez que se actualiza, en lugar de sobrescribirla; es decir, la fila se identifica adicionalmente con el ID de la transacción que la creó. Tanto la versión antigua como la nueva de la fila se almacenan y mantienen, aunque las versiones antiguas se trasladan de la base de datos a una base de datos del sistema identificada como Tempdb. Cuando una fila se actualiza, las demás solicitudes no se bloquean (a diferencia del bloqueo), sino que se ejecutan en la versión anterior. Si la otra solicitud es una instrucción de actualización, se generarán dos versiones diferentes de las filas; ambas se almacenarán en la base de datos, identificadas por sus respectivos ID de transacción.

Recuperación de datos y programabilidad

El modo principal de recuperar datos de una base de datos de SQL Server es mediante consultas. La consulta se expresa mediante una variante de SQL llamada T-SQL, un dialecto que Microsoft SQL Server comparte con Sybase SQL Server debido a su herencia. La consulta especifica de forma declarativa lo que se va a recuperar. El procesador de consultas la procesa y determina la secuencia de pasos necesaria para recuperar los datos solicitados. La secuencia de acciones necesarias para ejecutar una consulta se denomina plan de consulta. Puede haber varias maneras de procesar la misma consulta. Por ejemplo, para una consulta que contiene una instrucción join y una instrucción select, ejecutar join en ambas tablas y luego select en los resultados daría el mismo resultado que seleccionar de cada tabla y luego ejecutar join, pero con planes de ejecución diferentes. En tal caso, SQL Server elige el plan que espera obtener los resultados en el menor tiempo posible. Esto se denomina optimización de consultas y lo realiza el propio procesador de consultas.SQL Server incluye un optimizador de consultas basado en costos que intenta optimizar el costo en términos de los recursos necesarios para ejecutar la consulta. Dada una consulta, el optimizador examina el esquema de la base de datos, sus estadísticas y la carga del sistema en ese momento. Decide entonces en qué secuencia acceder a las tablas referenciadas en la consulta, en qué secuencia ejecutar las operaciones y qué método de acceso utilizar para acceder a las tablas. Por ejemplo, si la tabla tiene un índice asociado, si este debe usarse o no: si el índice se encuentra en una columna que no es única para la mayoría de las columnas (baja selectividad), podría no ser conveniente usarlo para acceder a los datos. Finalmente, decide si ejecutar la consulta simultáneamente. Si bien una ejecución simultánea es más costosa en términos de tiempo total de procesamiento, al dividirse en diferentes procesadores, podría significar una ejecución más rápida. Una vez generado un plan de consulta, este se almacena temporalmente en caché. Para futuras invocaciones de la misma consulta, se utiliza el plan almacenado en caché. Los planes no utilizados se descartan después de un tiempo.SQL Server también permite definir procedimientos almacenados. Estos procedimientos son consultas T-SQL parametrizadas que se almacenan en el propio servidor (y no son emitidas por la aplicación cliente, como ocurre con las consultas generales). Pueden aceptar valores enviados por el cliente como parámetros de entrada y devolver resultados como parámetros de salida. Pueden invocar funciones definidas y otros procedimientos almacenados, incluido el mismo procedimiento almacenado (hasta un número determinado de veces). Se puede acceder a ellos de forma selectiva. A diferencia de otras consultas, los procedimientos almacenados tienen un nombre asociado, que se utiliza en tiempo de ejecución para resolver las consultas reales. Además, dado que no es necesario enviar el código desde el cliente cada vez (ya que se puede acceder a él por nombre), se reduce el tráfico de red y se mejora el rendimiento. Los planes de ejecución de los procedimientos almacenados también se almacenan en caché según sea necesario.

T-SQL

T-SQL (Transact-SQL) es la extensión de lenguaje procedural propiedad de Microsoft para SQL Server. Proporciona instrucciones REPL (Read-Eval-Print-Loop) que amplían el conjunto de instrucciones estándar de SQL para las instrucciones de Manipulación de Datos (DML) y Definición de Datos (DDL), incluyendo la configuración específica de SQL Server, la seguridad y la gestión de estadísticas de bases de datos.Expone palabras clave para las operaciones que se pueden realizar en SQL Server, incluyendo la creación y modificación de esquemas de base de datos, la introducción y edición de datos en la base de datos, así como la monitorización y administración del propio servidor. Las aplicaciones cliente que consumen datos o administran el servidor aprovecharán la funcionalidad de SQL Server enviando consultas y sentencias T-SQL, que luego son procesadas por el servidor y los resultados (o errores) devueltos a la aplicación cliente. Para ello, expone tablas de solo lectura desde las que se pueden leer las estadísticas del servidor. La funcionalidad de administración se expone mediante procedimientos almacenados definidos por el sistema, que se pueden invocar desde consultas T-SQL para realizar la operación de administración. También es posible crear servidores vinculados mediante T-SQL. Los servidores vinculados permiten que una sola consulta procese operaciones realizadas en varios servidores.

SQL Server Native Client (a.k.a. SNAC)

SQL Server Native Client es la biblioteca nativa de acceso a datos del lado del cliente para Microsoft SQL Server, versión 2005 y posteriores. Implementa de forma nativa compatibilidad con las características de SQL Server, incluyendo la implementación de flujos de datos tabulares, compatibilidad con bases de datos reflejadas de SQL Server, compatibilidad total con todos los tipos de datos compatibles con SQL Server, operaciones asíncronas, notificaciones de consultas, compatibilidad con cifrado y la recepción de múltiples conjuntos de resultados en una sola sesión de base de datos. SQL Server Native Client se utiliza de forma interna mediante complementos de SQL Server para otras tecnologías de acceso a datos, como ADO u OLE DB. SQL Server Native Client también se puede usar directamente, omitiendo las capas genéricas de acceso a datos.El 28 de noviembre de 2011 se publicó una versión preliminar del controlador ODBC de SQL Server para Linux.

SQL CLR

Microsoft SQL Server 2005 incluye un componente llamado SQL CLR ('Common Language Runtime') mediante el cual se integra con .NET Framework. A diferencia de la mayoría de las aplicaciones que usan .NET Framework, SQL Server aloja el entorno de ejecución de .NET Framework; es decir, los requisitos de memoria, subprocesos y administración de recursos de .NET Framework son satisfechos por el propio SQLOS, en lugar del sistema operativo Windows subyacente. SQLOS también proporciona servicios de detección y resolución de interbloqueos para código .NET. Con SQL CLR, los procedimientos almacenados y desencadenadores se pueden escribir en cualquier lenguaje .NET administrado, incluyendo C# y VB.NET. El código administrado también se puede usar para definir UDT (tipos definidos por el usuario), que pueden persistir en la base de datos. El código administrado se compila en ensamblados CLI y, tras verificar su seguridad de tipos, se registra en la base de datos. Posteriormente, se puede invocar como cualquier otro procedimiento. Sin embargo, solo un subconjunto de la biblioteca de clases base está disponible al ejecutar código bajo SQL CLR. La mayoría de las API relacionadas con la funcionalidad de la interfaz de usuario no están disponibles.Al escribir código para SQL CLR, se puede acceder a los datos almacenados en bases de datos de SQL Server mediante las API de ADO.NET, como cualquier otra aplicación administrada que acceda a datos de SQL Server. Sin embargo, esto crea una nueva sesión de base de datos, diferente de aquella en la que se ejecuta el código. Para evitar esto, SQL Server ofrece mejoras en el proveedor de ADO.NET que permiten redirigir la conexión a la misma sesión que ya aloja el código en ejecución. Estas conexiones se denominan conexiones de contexto y se establecen estableciendo el parámetro context connection en true en la cadena de conexión. SQL Server también ofrece otras mejoras en la API de ADO.NET, incluyendo clases para trabajar con datos tabulares o una sola fila de datos, así como clases para trabajar con metadatos internos sobre los datos almacenados en la base de datos. También proporciona acceso a las funciones XML de SQL Server, incluyendo la compatibilidad con XQuery. Estas mejoras también están disponibles en los procedimientos T-SQL gracias a la introducción del nuevo tipo de datos XML (funciones de consulta, valor y nodos).

Servicio

SQL Server también incluye diversos servicios complementarios. Si bien no son esenciales para el funcionamiento del sistema de base de datos, proporcionan servicios de valor añadido adicionales al sistema principal de administración de bases de datos. Estos servicios se ejecutan como parte de algún componente de SQL Server o fuera de proceso como un servicio de Windows y presentan su propia API para controlarlos e interactuar con ellos.

Servicios de aprendizaje automático

Los servicios de aprendizaje automático de SQL Server operan dentro de la instancia de SQL Server, lo que permite realizar aprendizaje automático y análisis de datos sin tener que enviar datos a través de la red ni estar limitados por la memoria de sus propios ordenadores. Los servicios se incluyen con las distribuciones R y Python de Microsoft, que contienen paquetes de uso común para la ciencia de datos, junto con algunos paquetes propietarios (p. ej., revoscalepy, RevoScaleR, microsoftml) que permiten crear modelos de máquina a escala.Los analistas pueden configurar su equipo cliente para conectarse a un servidor SQL remoto y enviarle las ejecuciones del script, o bien ejecutar un script de R o Python como un script externo dentro de una consulta T-SQL. El modelo de aprendizaje automático entrenado puede almacenarse en una base de datos y utilizarse para la puntuación.

Service Broker

Se utiliza dentro de un entorno de programación de instancias. Para aplicaciones entre instancias, Service Broker se comunica mediante TCP/IP y permite la sincronización de los diferentes componentes mediante el intercambio de mensajes. Service Broker, que se ejecuta como parte del motor de base de datos, proporciona una plataforma confiable de mensajería y colas de mensajes para aplicaciones de SQL Server.Los servicios de intermediación de servicios constan de las siguientes partes:
  • Tipos de mensaje
  • contratos
  • colas
  • programas de servicio
  • rutas
El tipo de mensaje define el formato de datos utilizado. Puede ser un objeto XML, texto sin formato o datos binarios, así como un cuerpo de mensaje nulo para las notificaciones. El contrato define qué mensajes se utilizan en una conversación entre servicios y quién puede ponerlos en cola. La cola actúa como proveedor de almacenamiento para los mensajes. SQL Server los implementa internamente como tablas, pero no admiten las funciones de inserción, actualización o eliminación. El programa de servicio recibe y procesa los mensajes del agente de servicios. Normalmente, el programa de servicio se implementa como un procedimiento almacenado o una aplicación CLR. Las rutas son direcciones de red donde se ubica el agente de servicios en la red.Además, el agente de servicios admite funciones de seguridad como la autenticación de red (mediante NTLM, Kerberos o certificados de autorización), la comprobación de integridad y el cifrado de mensajes.

Servicios de replicación

Los Servicios de Replicación de SQL Server son utilizados por SQL Server para replicar y sincronizar objetos de base de datos, ya sea en su totalidad o un subconjunto de los objetos presentes, entre agentes de replicación, que pueden ser otros servidores de bases de datos en la red o cachés de bases de datos en el lado del cliente. Los Servicios de Replicación siguen un modelo de publicador/suscriptor; es decir, los cambios son enviados por un servidor de base de datos ('publicador') y recibidos por otros ('suscriptores'). SQL Server admite tres tipos diferentes de replicación:
Replicación de transacciones
Cada transacción hecha a la base de datos de editores (base principal) se sincroniza con los suscriptores, que actualizan sus bases de datos con la transacción. La replicación transaccional sincroniza las bases de datos en tiempo cercano.
Merge replication
Los cambios realizados en las bases de datos de editores y suscriptores se rastrean y periódicamente los cambios se sincronizan bidireccionalmente entre el editor y los suscriptores. Si los mismos datos se han modificado de manera diferente tanto en las bases de datos de la editorial como en las bases de datos de los suscriptores, la sincronización dará lugar a un conflicto que debe resolverse manualmente o mediante políticas predefinidas. Rowguid necesita ser configurado en una columna si se configura la replicación de fusión.
Reproducción de instantáneas
La replicación de Snapshot publica una copia de toda la base de datos (la captura posterior de los datos) y replica a los suscriptores. No se rastrean nuevos cambios en la instantánea.

Servicios de análisis

SQL Server Analysis Services (SSAS) incorpora capacidades de OLAP y minería de datos para bases de datos de SQL Server. El motor OLAP admite los modos de almacenamiento de datos MOLAP, ROLAP y HOLAP. Analysis Services admite el estándar XML para análisis como protocolo de comunicación subyacente. Se puede acceder a los datos del cubo mediante consultas MDX y LINQ. La funcionalidad específica de minería de datos se expone mediante el lenguaje de consulta DMX. Analysis Services incluye varios algoritmos (árboles de decisión, algoritmo de clusterización, algoritmo Naive Bayes, análisis de series temporales, algoritmo de clusterización de secuencias, análisis de regresión lineal y logística, y redes neuronales) para su uso en minería de datos.

Servicios de denuncia

SQL Server Reporting Services (SSRS) es un entorno de generación de informes para datos recopilados de bases de datos de SQL Server. Se administra mediante una interfaz web. Reporting Services cuenta con una interfaz de servicios web que facilita el desarrollo de aplicaciones de informes personalizadas. Los informes se crean como archivos RDL.

Los informes se pueden diseñar con versiones recientes de Microsoft Visual Studio (Visual Studio.NET 2003, 2005 y 2008) con Business Intelligence Development Studio instalado o con el Generador de Informes incluido. Una vez creados, los archivos RDL se pueden representar en diversos formatos, como Excel, PDF, CSV, XML, BMP, EMF, GIF, JPEG, PNG, TIFF y HTML Web Archive.

Servicios de notificación

Introducido originalmente como un complemento posterior al lanzamiento de SQL Server 2000, Notification Services se integró en la plataforma Microsoft SQL Server por primera y única vez con SQL Server 2005. SQL Server Notification Services es un mecanismo para generar notificaciones basadas en datos, que se envían a los suscriptores de Notification Services. Un suscriptor se registra para un evento o transacción específicos (que se registra en el servidor de bases de datos como desencadenador); cuando se produce el evento, Notification Services puede usar uno de tres métodos para enviar un mensaje al suscriptor informándole de su ocurrencia. Estos métodos incluyen SMTP, SOAP o la escritura en un archivo del sistema de archivos. Microsoft discontinuó Notification Services con el lanzamiento de SQL Server 2008 en agosto de 2008 y ya no es un componente con soporte oficial de la plataforma de bases de datos de SQL Server.

Servicios de integración

SQL Server Integration Services (SSIS) proporciona capacidades ETL para SQL Server, que cubren las necesidades de importación, integración y almacenamiento de datos. Integration Services incluye herramientas GUI para crear flujos de trabajo como la extracción de datos de diversas fuentes, la consulta de datos, la transformación de datos (incluida la agregación, la deduplicación, la desnormalización y la fusión de datos) y la posterior exportación de los datos transformados a bases de datos o archivos de destino.

Servicio completo de búsqueda de texto

La arquitectura del servicio de búsqueda de texto completo SQL Server
El servicio de búsqueda de texto completo de SQL Server es un servicio especializado de indexación y consulta para texto no estructurado almacenado en bases de datos de SQL Server. El índice de búsqueda de texto completo se puede crear en cualquier columna con datos de texto basados en caracteres. Permite buscar palabras en las columnas de texto. Si bien se puede realizar con el operador SQL LIKE, el servicio de búsqueda de texto completo de SQL Server puede ser más eficiente. Full permite la coincidencia inexacta de la cadena de origen, indicada por un valor de Rank que puede variar de 0 a 1000; un rango más alto significa una coincidencia más precisa. También permite la coincidencia lingüística ("búsqueda flexiva"), es decir, las variantes lingüísticas de una palabra (como un verbo en un tiempo verbal diferente) también coincidirán con una palabra dada (pero con un rango inferior al de una coincidencia exacta). También se admiten búsquedas por proximidad; es decir, si las palabras buscadas no aparecen en la secuencia especificada en la consulta, pero están cerca unas de otras, también se consideran una coincidencia. T-SQL expone operadores especiales que permiten acceder a las funciones de FTS.El motor de búsqueda de texto completo se divide en dos procesos: el demonio de filtro (msftefd.exe) y el de búsqueda (msftesql.exe). Estos procesos interactúan con SQL Server. El proceso de búsqueda incluye el indexador (que crea los índices de texto completo) y el procesador de consultas de texto completo. El indexador explora las columnas de texto de la base de datos. También puede indexar columnas binarias y usar iFilters para extraer texto significativo del blob binario (por ejemplo, cuando un documento de Microsoft Word se almacena como un archivo binario no estructurado en una base de datos). Los iFilters están alojados por el demonio de filtro. Una vez extraído el texto, el demonio de filtro lo descompone en una secuencia de palabras y se la entrega al indexador. El indexador filtra las palabras irrelevantes, como A, Y, etc., que aparecen con frecuencia y no son útiles para la búsqueda. Con las palabras restantes, se crea un índice invertido, asociando cada palabra con las columnas donde se encontró. SQL Server incluye un componente Gatherer que supervisa los cambios en las tablas e invoca el indexador en caso de actualizaciones.Cuando el procesador de consultas de SQL Server recibe una consulta de texto completo, esta se transfiere al procesador de consultas FTS durante el proceso de búsqueda. El procesador de consultas FTS descompone la consulta en las palabras que la componen, filtra las palabras irrelevantes y utiliza un diccionario de sinónimos integrado para encontrar las variantes lingüísticas de cada palabra. Las palabras se consultan con el índice invertido y se calcula su precisión. Los resultados se devuelven al cliente a través del proceso de SQL Server.

SQLCMD

SQLCMD es una aplicación de línea de comandos que viene con Microsoft SQL Server y que expone las funciones de administración de SQL Server. Permite escribir y ejecutar consultas SQL desde el símbolo del sistema. También puede actuar como lenguaje de script para crear y ejecutar un conjunto de sentencias SQL como script. Estos scripts se almacenan como un archivo .sql y se utilizan para la administración de bases de datos o para crear el esquema de la base de datos durante su implementación.SQLCMD se introdujo con SQL Server 2005 y se ha mantenido en las versiones 2008, 2008 R2, 2012, 2014, 2016 y 2019 de SQL Server. Sus predecesores en versiones anteriores fueron OSQL e ISQL, que eran funcionalmente equivalentes en lo que respecta a la ejecución de T-SQL, y muchos de los parámetros de la línea de comandos son idénticos, aunque SQLCMD añade mayor versatilidad.

Visual Studio

Microsoft Visual Studio incluye compatibilidad nativa con la programación de datos con Microsoft SQL Server. Permite escribir y depurar código que se ejecutará mediante SQL CLR. También incluye un diseñador de datos que permite crear, visualizar o editar gráficamente esquemas de bases de datos. Las consultas se pueden crear visualmente o mediante código. A partir de SSMS 2008, también ofrece IntelliSense para consultas SQL.

SQL Server Management Studio

SQL Server Management Studio es una herramienta GUI incluida en SQL Server 2005 y versiones posteriores para configurar, administrar y gestionar todos los componentes de Microsoft SQL Server. Incluye editores de scripts y herramientas gráficas que funcionan con objetos y características del servidor. SQL Server Management Studio sustituye a Enterprise Manager como interfaz de administración principal para Microsoft SQL Server desde SQL Server 2005. También existe una versión de SQL Server Management Studio para SQL Server Express Edition, conocida como SQL Server Management Studio Express (SSMSE).Una característica fundamental de SQL Server Management Studio es el Explorador de objetos, que permite al usuario explorar, seleccionar y actuar sobre cualquier objeto del servidor. Permite observar y analizar visualmente los planes de consulta y optimizar el rendimiento de la base de datos, entre otras funciones. SQL Server Management Studio también permite crear una nueva base de datos, modificar cualquier esquema de base de datos existente añadiendo o modificando tablas e índices, o analizar el rendimiento. Incluye las ventanas de consulta, que proporcionan una interfaz gráfica de usuario para escribir y ejecutar consultas.

Azure Data Studio

Azure Data Studio es un editor de consultas multiplataforma disponible como descarga opcional. Esta herramienta permite a los usuarios escribir consultas, exportar resultados, confirmar scripts SQL en repositorios de Git y realizar diagnósticos básicos del servidor. Azure Data Studio es compatible con sistemas Windows, Mac y Linux.Se lanzó al público en septiembre de 2018. Antes de su lanzamiento, la versión preliminar de la aplicación se conocía como SQL Server Operations Studio.

Business Intelligence Development Studio

Business Intelligence Development Studio (BIDS) es el IDE de Microsoft utilizado para desarrollar soluciones de análisis de datos e inteligencia empresarial mediante Microsoft SQL Server Analysis Services, Reporting Services e Integration Services. Se basa en el entorno de desarrollo de Microsoft Visual Studio, pero se personaliza con las extensiones y tipos de proyecto específicos de los servicios de SQL Server, incluyendo herramientas, controles y proyectos para informes (mediante Reporting Services), cubos y estructuras de minería de datos (mediante Analysis Services). A partir de SQL Server 2012, este IDE se denomina SQL Server Data Tools (SSDT).

Véase también

  • Comparación de los sistemas de gestión de bases de datos relacionales
  • Comparación de sistemas de gestión de bases de datos relacionados con objetos
  • Comparación de herramientas de modelado de datos
  • Lista de sistemas de gestión de bases de datos relacionales
  • XLeratorDB

Referencias

  1. ^ "Explore SQL Server 2022 capabilities". Retrieved 6 de enero 2023.
  2. ^ Actualizaciones e historial de versiones para SQL Server
  3. ^ Lextrait, Vincent (julio de 2010). "The Programming Languages Beacon, v10.3". Archivado desde el original el 30 de mayo de 2012. Retrieved 5 de septiembre, 2010.
  4. ^ "Descargar Microsoft SQL Server 2008 R2". Microsoft Evaluation Center. Microsoft Corporation. Retrieved 18 de julio, 2011.
  5. ^ "Guía de instalación para SQL Server en Linux". microsoft.com. 21 de diciembre de 2017. Retrieved 1 de febrero 2018.
  6. ^ "Lo nuevo en SQL Server 2019 (15.x)". microsoft.com/. 6 de abril de 2022. Retrieved 11 de mayo 2022.
  7. ^ "SQL Server end of support options". aprender.microsoft.com. learn.microsoft.com. Enero 2, 2025. Retrieved 18 de enero, 2025.
  8. ^ "Requisitos para instalar SQL Server 2016". docs.microsoft.com. msdn.microsoft.com. Mayo 2, 2016. Retrieved 28 de julio, 2016.
  9. ^ "SQL Server 2022 notas de liberación". aprender.microsoft.com. Retrieved 14 de febrero 2023.
  10. ^ "Compare Editions". SQL Página de inicio del servidor. Microsoft Corporation. Retrieved 3 de diciembre, 2007.
  11. ^ a b c d e f g h i Kalen Delaney (2007). Dentro de Microsoft SQL Server 2005: El motor de almacenamiento. Microsoft Press. ISBN 978-0-7356-2105-3.
  12. ^ "SQL Server 2008: Editions". Microsoft. Retrieved 21 de julio 2011.
  13. ^ "Database System ← Rendimiento " Scalability ← SQL Server 2012 Business Intelligence Editions". Microsoft.com. Retrieved 15 de junio, 2013.
  14. ^ a b SQL Server 2012 Datasheet de licencia y FAQ (marzo 2012)
  15. ^ "SQL Server 2008 R2 Express Base de Datos Límite de tamaño Aumento a 10 GB". Retrieved 23 de abril, 2010.
  16. ^ "Qué pasa con las ediciones de SQL Server 2008 Express". Retrieved 15 de agosto, 2008.
  17. ^ "Developer Edition". SQL Servidor hogar. Microsoft Corporation. Retrieved 18 de julio, 2011.
  18. ^ "SQL Server 2008 Trial Software". Microsoft. Retrieved 26 de marzo, 2009.
  19. ^ "Microsoft SQL Server 2008: Fast Track Data Warehouse". Microsoft. Retrieved 26 de marzo, 2009.
  20. ^ "SQL Server Express LocalDB". SQL Server. Microsoft Docs. Retrieved 2 de agosto 2021.
  21. ^ "Introduciendo LocalDB, un SQL Express mejorado". SQL Server Express WebLog. Microsoft Docs. 12 de julio de 2011. Retrieved 2 de agosto 2021.
  22. ^ "Microsoft Analytics Platform System". Microsoft. Retrieved 29 de abril, 2015.
  23. ^ Elegir una edición de SQL Server 2000
  24. ^ a b "IT Pro".
  25. ^ Características compatibles con las ediciones de SQL Server 2000
  26. ^ "Elige una edición de StreamInsight". MSDN. Microsoft Corporation. Retrieved 18 de julio, 2011.
  27. ^ "Capítulo 3 - Elegir una edición de SQL Server 2000". 1 de noviembre de 2010. Archivado desde el original el 1 de noviembre de 2010. Retrieved 4 de noviembre 2022.
  28. ^ SQL Server 2000 - Descargas
  29. ^ SQL Server 2000 Documentación del producto
  30. ^ "Pagos y Extensiones". Retrieved 2 de diciembre 2007.
  31. ^ "Table and Index Organization". Retrieved 2 de diciembre 2007.
  32. ^ "Buffer Management". Retrieved 2 de diciembre 2007.
  33. ^ "Procesamiento de la Declaración SQL". Retrieved 3 de diciembre, 2007.
  34. ^ "Stored Procedure Basics". Retrieved 3 de diciembre, 2007.
  35. ^ "Referencia Transact-SQL". Retrieved 3 de diciembre, 2007.
  36. ^ "Características de SQL Server Native Client". Retrieved 3 de diciembre, 2007.
  37. ^ "Disponible hoy: Preview Release of the SQL Server ODBC Driver for Linux". SQL Server Team Blog. 28 de noviembre de 2011. Retrieved 15 de junio, 2013.
  38. ^ a b "Overview of CLR integration". Retrieved 3 de diciembre, 2007.
  39. ^ "XML Support in SQL Server". Retrieved 5 de septiembre, 2008.
  40. ^ "Qué es SQL Server Machine Learning Services". SQL Página de inicio del servidor. Microsoft Corporation. Retrieved 10 de abril, 2018.
  41. ^ "Introducing Service Broker". Retrieved 3 de diciembre, 2007.
  42. ^ a b c Klaus Aschenbrenner (2011). "Introducing Service Broker". Pro SQL Server 2008 Service Broker (1st ed.). Viena: Apress. pp. 17 –31. ISBN 978-1-4302-0865-5. Retrieved 15 de diciembre, 2019.
  43. ^ "Tipos de réplica general". Retrieved 3 de diciembre, 2007.
  44. ^ "Transactional Replication Overview". Retrieved 3 de diciembre, 2007.
  45. ^ "Merge Replication Overview". Retrieved 3 de diciembre, 2007.
  46. ^ "Snapshot replication Overview". Retrieved 3 de diciembre, 2007.
  47. ^ "SAS Entity Framework Provider". Archivado desde el original el 29 de septiembre de 2011. Retrieved 29 de septiembre, 2011.
  48. ^ "Analysis Services Architecture". Retrieved 3 de diciembre, 2007.
  49. ^ "Data Mining Concepts". Retrieved 3 de diciembre, 2007.
  50. ^ "SQL Server Reporting Services". Retrieved 3 de diciembre, 2007.
  51. ^ "No se puede abrir un archivo SQL Reporting Services.rptproj para Microsoft Connect". Connect.microsoft.com. Archivado desde el original el 3 de febrero de 2012. Retrieved 4 de septiembre, 2011.
  52. ^ Biblioteca MSDN: Método de Render de Servicios de Presentación de Informes
  53. ^ Configuración de información de dispositivos
  54. ^ Configuración de información del dispositivo de imagen
  55. ^ "Introducción a los Servicios de Notificación SQL Server". 3 de septiembre de 2002. Retrieved 14 de noviembre 2008.
  56. ^ "SQL Server Notification Services Removed from SQL Server 2008". Archivado desde el original el 16 de octubre de 2008. Retrieved 17 de septiembre, 2008.
  57. ^ "Discontinued Functionality in SQL Server 2008 Reporting Services". Retrieved 17 de septiembre, 2008.
  58. ^ "Introducing SQL Server Notification Services". Retrieved 3 de diciembre, 2007.
  59. ^ "Integration Services Overview". Retrieved 3 de diciembre, 2007.
  60. ^ "Introducción a búsqueda de texto completo". 19 de noviembre de 2007. Retrieved 3 de diciembre, 2007.
  61. ^ "Querying SQL Server usando Full-Text Search". Retrieved 3 de diciembre, 2007.
  62. ^ a b "Full-Text Search Architecture". Retrieved 3 de diciembre, 2007.
  63. ^ "MSDN: Introducción de SQL Server Management Studio". Msdn.microsoft.com. Retrieved 4 de septiembre, 2011.
  64. ^ "SQL Server Management Studio Express". Microsoft.com. 18 de abril de 2006. Retrieved 4 de septiembre, 2011.
  65. ^ "MSDN: Usando el Explorador de Objetos". Msdn.microsoft.com. Retrieved 4 de septiembre, 2011.
  66. ^ "SQL Server 2005 Management Tools". Sqlmag.com. 19 de julio de 2005. Retrieved 4 de septiembre, 2011.
  67. ^ "¿Qué es Microsoft SQL Operations Studio (preview)?". docs.microsoft.com. Retrieved 19 de enero, 2018.
  68. ^ "Introducing Business Intelligence Development Studio". Retrieved 3 de diciembre, 2007.

Más lectura

  • Lance Delano, Rajesh George et al. (2005). Wrox's SQL Server 2005 Express Edition Starter Kit (Programmer to Programmer). Microsoft Press. ISBN 0-7645-8923-7.
  • Delaney, Kalen y otros (2007). Dentro de SQL Server 2005: Tuning y optimización de consultas. Microsoft Press. ISBN 0-7356-2196-9.
  • Ben-Gan, Itzik y otros (2006). Dentro de Microsoft SQL Server 2005: Programación T-SQL. Microsoft Press. ISBN 0-7356-2197-7.
  • Klaus Elk (2018). SQL Server con C#. ISBN 1-7203-5867-2.
  • Sitio oficial
  • 2o sitio web oficial en Microsoft TechNet
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save