SQL Server

SQL Server no inicia automáticamente después de reiniciar el servidor

Lun, 02/09/2019 - 11:44 -- jsequeiros

Problema:

No se puede iniciar el servicio de SQL Server, ERROR 40

Después de realizar la instalación de SQL Server 2012 en el servidor (ServidorSQL1 nombre del servidor en este caso) con sistema operativo Windows Server 2012 con un usuario local (Administrador). Todo funciona correctamente.

Instantáneas de bases de datos (Snapshots) en SQL Server 2012

Mar, 27/08/2019 - 07:30 -- jsequeiros

Una instantánea de base de datos es una copia estática de sólo lectura de una base de datos existente de SQL Server. La base de datos existente se conoce como la base de datos fuente. Cuando se crea una instantánea, es una réplica exacta de solo lectura de la base de datos de origen en ese momento.
A medida que cambia la base de datos de origen, la instantánea se deberá actualizar para garantizar que esté sincronizada.

Restablecer contraseña de “sa” en Microsoft SQL Server

Dom, 05/05/2019 - 21:06 -- jsequeiros

En este artículo vamos a ver los pasos para restablecer la contraseña de la cuenta “SA” de Microsoft SQL Server.  Estos pasos funcionan en Microsoft SQL Server, 2012, 2014 y 2016 (Debería funcionar en 2005, 2008, 2008 R2 -no lo he comprobado).

Problema:

Alguien instala un servidor SQL y luego se olvida la contraseña “SA” y no se tiene la documentación. No sería un gran problema si se tiene otro usuario  con privilegios de sysadmin, pero... no hay ninguno. 

Error de sistema operativo 5(Acceso denegado) en SQL Server

Lun, 22/04/2019 - 16:47 -- jsequeiros

Problema:

Luego de ejecutar el siguiente comando para la restauración de una base de datos:

USE [master]
RESTORE DATABASE [MiBasedeDatos] 
FROM  DISK = 'E:\MSSQLSERVER\Backups\Backup_MiBasedeDatos.bak' 
WITH  FILE = 1,  
MOVE N'MiBasedeDatos' TO N'D:\MSSQLSERVER\Data\MiBasedeDatos.mdf',  
MOVE N'MiBasedeDatos_log' TO N'E:\MSSQLSERVER\Logs\MiBasedeDatos_log.ldf',  
NOUNLOAD,  
STATS = 5

Aparece el siguiente mensaje de error.

Obtener el listado de triggers en una base de datos SQL Server

Lun, 06/08/2018 - 18:18 -- jsequeiros

Para enumerar todos los triggers que tiene una base de datos de SQL Server realizar lo siguiente:

Ejecutar la siguiente consulta

USE Database_Name
SELECT * FROM sys.triggers
GO

Enumerará todos los triggers (DML y DDL) en la base de datos.

Mostrar nombre de la tabla

Aquí está la misma consulta, con una columna añadida llamada Parent_Object_Name que muestra el nombre de la tabla para la cual se creó el triggers (para triggers DML) y NULL para los triggers de base de datos (DDL):

USE Database_Name
SELECT OBJECT_NAME(parent_id) as Parent_Object_Name, *
FROM sys.triggers
GO

Cambiar la intercalación (Collation) de una base de datos

Vie, 20/07/2018 - 11:51 -- jsequeiros
--Cambiar la intercalación (Collation) de una base de datos. 
USE master;  
GO  
ALTER DATABASE Colegio  
COLLATE Modern_Spanish_CS_AS ;  
GO  

--Verificar la intercalación (Collation) de una base de datos.  
SELECT name, collation_name  
FROM sys.databases  
WHERE name = N'Colegio';  
GO  


--Cambiar la intercalación (Collation) de la columna de una tabla. 
ALTER TABLE [Colegio].[dbo].[persona] ALTER COLUMN nombre  
            varchar(40)COLLATE Modern_Spanish_CS_AS NOT NULL;  
GO  

Resultados de la Consulta

Cambiar la intercalación (Collation) de una base de datos SQL Server

Uso de OUTER JOINs

Dom, 21/01/2018 - 22:19 -- jsequeiros

Hay dos tipos básicos de OUTER JOINs:  LEFT y RIGHT.  Ambos proporcionan una funcionalidad muy similar, pero existe una pequeña diferencia que depende del orden de las tablas en la consulta.  Usando el artículo de ventas de productos, si comienza a leer la consulta de izquierda a derecha, ¿qué tabla encuentra primero?  La tabla Production.Product, que lo convierte en la tabla de la izquierda.  La segunda tabla que encuentra (sigue leyendo a la derecha) es Sales.  SalesDeerDetail, la tabla derecha.  Esta tendencia continúa durante toda la consul

Clausula DISTINCT y NULL

Mié, 17/01/2018 - 15:49 -- jsequeiros

DISTINCT devuelve una lista única o distinta de valores de cada columna especificada en una instrucción SELECT. Si hay valores duplicados en la lista, se eliminarán todos los valores duplicados excepto uno. Por ejemplo, si ejecuta la siguiente consulta, el resultado devuelve una lista de productos con algunos de los nombres de productos repetidos varias veces:

USE AdventureWorks2012;
SELECT
p.Name AS ProductName
FROM Production.Product AS p
INNER JOIN Sales.SalesOrderDetail sd
ON p.ProductID = sd.ProductID

Uso de Unión para combinar conjuntos de resultados

Mar, 16/01/2018 - 15:39 -- jsequeiros

A menudo tendrá dos instrucciones SELECT que pueden necesitar combinarse en un resultado para el consumo de una aplicación o usuario final. Con la palabra clave UNION, puede lograr eso.
UNION tiene dos variaciones:

  • Solo UNION, que elimina las filas duplicadas en su conjunto de resultados.
  • UNION ALL, que incluye duplicados. Si los duplicados son posibles, debe usar UNION ALL; es mucho más rápido porque no tiene que incluir DISTINCT.

El siguiente pseudocódigo ilustra el uso de UNION:

SELECT column1, column2 FROM TABLE1
UNION
SELECT column1, column2 FROM TABLE2

Al escribir una consulta con UNION, ambas declaraciones SELECT deben contener el mismo número de columnas, y los tipos de datos deben coincidir para cada columna. Cuando utilice UNION, proporcione solo una cláusula ORDER BY después de la última instrucción SELECT.

Páginas

Suscribirse a SQL Server