Microsoft SQL Server
Sin embargo, los usuarios que quieran utilizar SQL Server, siendo todo sobre el programa, como solicitar y almacenar información, necesitan una CAL.Esto significa que todos los usuarios de este dispositivo pueden iniciar sesión para acceder al servidor.Esto se realiza mediante el envío de sentencias en T-SQL y declaraciones que son procesadas por el servidor y los resultados (o errores) regresan a la aplicación cliente.Si se desarrolla para una edición Standard hay que tener en cuenta las características deshabilitadas para esta versión.Estas limitaciones se mantienen en la versión 2014 (4 cores, 1GB ram, y 10Gb por base de datos).Durante un tiempo, el servicio fue ampliado con la opción de crear un servidor virtual por la red, e instalar SQL Server tanto como uno de los servicios competidores, y manejar el servidor virtual como si fuera un servidor físico local (aunque físicamente no está accesible); y se puede diferenciar entre la opción original que esta denominada PAAS (Platform as a Service: Plataforma como un Servicio) y la nueva opción de los servidores virtuales denominada IAAS (Infrastructure as a Service: Infraestructura como un Servicio).SQL Server proporciona unas interfaces que han cambiado durante los años, de los cuales los más conocidos son las interfaces gráficas que están utilizadas como herramienta de desarrollo estándar a los desarrolladores y administradores.Desde 2008 se puede desarrollar con SQLCmd (SQL Command) a través del SSMS sin interconectarse al interfaz textual de Windows.[15] A contrario de sistemas de bases de datos como Microsoft Access que son "pasivas" y contienen un archivo a cual hay que conectar y la ejecución de los comandos se lleva a cabo en el cliente (la computadora de usuario), en SQL Server hay número de servicios, software que están ejecutadas en la memoria del servidor por parte del sistema, y por lo tanto aprovechan las capacidades del servidor que es más potente que los clientes, previenen congestión en la red, y pueden programar tareas que corran aunque el cliente no está conectado.Esta opción nos posibilita crear extracciones complejas o estándares, almacenarlas como vistas, y utilizar las vistas sin la necesidad de escribir de nuevo los comandos o mantener los códigos donde ellas aparecen.El resultado de la instrucción SELECT forma la tabla virtual que la vista devuelve.El usuario puede utilizar dicha tabla virtual haciendo referencia al nombre de la vista en instrucciones Transact-SQL, de la misma forma en que se hace referencia a las tablas.Los procedimientos almacenados se guardan en una base de datos; se pueden ejecutar desde una aplicación y permiten variables declaradas por el usuario, ejecución condicional y otras funciones eficaces de programación.En situaciones en las que se necesita una gran cantidad de código Transact-SQL, o si las operaciones se realizan varias veces, los procedimientos almacenados pueden ser más rápidos que los lotes de código Transact-SQL.Los procedimientos son analizados y optimizados en el momento de su creación, y es posible utilizar una versión del procedimiento que se encuentra en la memoria después de que se ejecute por primera vez.Tanto como los procedimientos, incluyen códigos de TSQL, y pueden ser ejecutados con parámetros.Todos los nombres de funciones completos (database_name.owner_name.function_name) definidos por el usuario deben ser únicos.Para crear, modificar o quitar funciones definidas por el usuario, debe tener permisos de CREATE FUNCTION.Los usuarios distintos del propietario deben tener permiso EXECUTE para una función, y solo así podrán utilizarla en una instrucción de Transact-SQL.Para crear o modificar tablas con referencias a funciones definidas por el usuario en la restricción CHECK, la cláusula DEFAULT o la definición de una columna calculada, también debe tener permiso REFERENCES para las funciones.Los proveedores OLE DB exponen datos en objetos tabulares llamados conjuntos de filas.Siempre que el software propietario de los datos los expone en un conjunto de filas tabular a través del proveedor OLE DB, los datos se podrán usar en las consultas distribuidas.Esta funcionalidad se encuentra ahora integrada en SQL Server con OLE DB como interfaz para los datos externos.Una unidad lógica de trabajo debe exhibir cuatro propiedades, conocidas como propiedades ACID (atomicidad, coherencia, aislamiento y durabilidad), para ser calificada como transacción: Una transacción debe ser una unidad atómica de trabajo, tanto si se realizan todas sus modificaciones en los datos, como si no se realiza ninguna de ellas.Las modificaciones persisten aún en el caso de producirse un error del sistema.Para conectarse al SQL Server, se necesita un Login (usuario a nivel del servidor).Consecuentemente, en el primer caso hay que identificarse con nombre y contraseña solamente al conectarse a la red, y luego se conecta automáticamente a todos los servidores que son Windows Authentication (con el Login global); y en el segundo caso hay que identificarse al conectarse a cada servidor de SQL Server Authentication (cada vez con un Login local).Los privilegios a nivel de la base de datos posibilitan extraer y actualizar datos, crear objetos como procedimientos y tablas, utilizar dichos objetos, etc. Como regla general se puede otorgar derechos (Grant), revocar privilegios existentes (Revoke), y denegar privilegios aún no existen (Deny).SQL Server tiene la capacidad de enviar correos electrónicos a través del código.Por ejemplo, buscamos un verbo, y queremos obtener todas las ocurrencias de sus conjugaciones.