Saltar al contenido

Ya lo hicimos una vez ....

http://www.mundosql.es/2016/05/16/monitorizando-nuestros-disco-duros-desde-sqlserver/

Pero me gusta más esta:

--Ver disco duros
--Juan Carlos Gilaranz Benito
-- www.mundosql.es

SELECT DISTINCT
volume_mount_point [Disco],
file_system_type [Tipo],
logical_volume_name as [Nombre],
CONVERT(DECIMAL(18,2),total_bytes/1073741824.0) AS [Total GB], ---1GB = 1073741824 bytes
CONVERT(DECIMAL(18,2),available_bytes/1073741824.0) AS [Libre GB],
CAST(CAST(available_bytes AS FLOAT)/ CAST(total_bytes AS FLOAT) AS DECIMAL(18,2)) * 100 AS [Libre %]
FROM sys.master_files
CROSS APPLY sys.dm_os_volume_stats(database_id, file_id)

Para aaber mas de DMV

http://www.mundosql.es/2015/06/16/dynamic-management-views-en-sqlserver/

y

http://www.mundosql.es/2016/02/29/listar-todas-las-funciones-y-vistas-de-administracion-dinamica-dmv-de-sqlserver/

que iremos viendo poco a poco

Ya hemos visto lo que es:

http://www.mundosql.es/2018/01/03/nivel-de-compatibilidad-en-sqlserver/

Ahora lo vamos a cambar. Pero primero vamos a ver donde lo podemos ver en el SSMS.

A tener en cuenta que:

  • SQL Server 2017 permite 140, 130, 120, 110, 100
  • SQL Azure 140, 130, 120, 110, 100
  • SQL Server 2016  130, 120, 110, 100
  • SQL Server 2014 120, 110, 100
  • SQL Server 2012 110, 100, 90
  • SQL Server 2008/R2  100, 90, 80

Nivel de Compatibilidad y cambiamos.

Damos Ok.

Vemos que se ha cambiado. Ahora vamos a realizarlo con T-SQL.

Y lo vemos si ha cambiado.

Seencillo ??? Si .... Al turrón

Cada base de datos que creamos con SQL Server tiene una configuración que denominamos  nivel de compatibilidad que es nada más que cómo se interpretan los comandos de T-SQL o como se comportan las bases de datos.

No es raro tener bases de datos con un nivel de compatibilidad que no coincida con la versión de SQL Server en la que se ejecutan.

Podemos verlo de forma muy rápida con T-SQL.

/*
Ver Nivel Compatibilidad
Juan Carlos Gilaranz Benito
www-mundosql.es
*/
-- 80 = SQL Server 2000
-- 90 = SQL Server 2005
--100 = SQL Server 2008/R2
--110 = SQL Server 2012
--120 = SQL Server 2014
--130 = SQL Server 2016

select name, compatibility_level
from sys.databases
WHERE name NOT IN ('master','model','msdb','tempdb')

Hay que tenerlo muy en cuenta en temas de migraciones y actualizaciones de Bases de Datos.

Ya vimos este tema hace tiempo.

Ahora con una función nueva de la versión 2016.

Primero tenemos que utilizar sys.time_zone_info para ver todas las zonas horarias.

/*
VER ZONAS HORARIAS
Juan Carlos Gilaranz Benito
www.mundosql.es
*/

select * from sys.time_zone_info
ORDER BY current_utc_offset

Devuelve información sobre las  zonas horarias  instaladas en la computadora.

Y ahora vemos como lo hacemos con un simple select.

/*
VER QUE HORA ES EN .....
Juan Carlos Gilaranz Benito
www.mundosql.es
*/

select GETDATE() AT TIME ZONE 'W. Europe Standard Time' Hora_España, GETDATE() AT TIME ZONE 'Argentina Standard Time' Hora_Argentina

Ya no podéis poner como excusa que no se la hora de mis charlas  jajajajajaja

 

Hola de nuevo, ya se que no me prodigo mucho últimamente por aquí.

Estoy muy liado.

Buscando alguna función, comando, .....  en SQL Server para insertar un caracter en una cadena, me encontre este comando.

Vamos con el ejemplo:

/*
METER 1 CARACTER EN UNA CADENA
Juan Carlos Gilaranz Benito
www.mundosql.es
*/

DECLARE @fecha VARCHAR(8)
set @fecha = '17112017'
SELECT CONVERT(varchar,CONVERT(DATE,STUFF(STUFF(@fecha,3,0, '-'), 6, 0, '-')),103)

Que uso le podemos dar, adeas de este.

Y aquí el pantallazo respectivo

Como anticipo a:

http://www.mundosql.es/2017/10/20/charla-controla-lo-que-hacen-con-tus-bases-de-datos-mediante-triggers/

Os avanzo parte del script que voy utilizar:

Cuando de la charla le tendreis mas completo

 

 

Puede ocurrir que haciendo un SELECT *  u con los campos se te desmadre.

y tengas que ir con las barras bajando.

Lo podemos hacer mejor, paginando.

Vemos que esta del registro  1 al 15, ahora del 15 al 30 por ejemplo

Una función super-util.

Se puede mezclar con otras opciones y ..... hacer maravillas 😉

Como buen DBA tenemos que estar al loro de esto.

Cuando gestionamos una gran cantidad de servidores SQL y no queremos desperdiciar el espacio libre, es decir, queremos controlar el espacio del disco del servidor SQL Server para que no nos den susto podemos hacerlo de varias formas.

Para gustos colores ....

 

Podemos crear una carpeta en  alguna ubicación de nuestro ordenador. Por ejemplo para tener los backup de cada día.

Podemos hacerlo ....

Nos da un error, pero podemos habilitar o que funcione con ....

Y ahora volvemos a ejecutar el script que nos dio error y ...

Y en nuestro ordenador ..

Podemos darle mucha utilidad, ya veremos otras

De nuevo, a la carga con temas básicos pero potentes de SQL Server. Además es el artículo 900.

Al turrónnnnnnn

Vamos a ver como se calcula la diferencia entre 2 fechas

Empezando con el tema años

.El código:

-- DIFERENCIAS ENTRE FECHAS
--Juan Carlos Gilaranz Benito
-- www.mundosql.es

SELECT DATEDIFF (YEAR,'2016/10/22',GETDATE()) AÑOS
SELECT DATEDIFF (YYYY,'2016/10/22',GETDATE()) AÑOS
SELECT DATEDIFF (YY,'2016/10/22',GETDATE()) AÑOS

Y ahora el resto:

Utilidad ???? Pon en comentario que utilidad le darías tu.

Ya lo hemos visto con Powershell.

.http://www.mundosql.es/2017/06/19/creando-contrasenas-con-powershell/

Ahora toca con mi SQL Server

Ahi va el código

-- Generar Contraseñas
-- Juan Carlos Gilaranz Benito
-- www.mundosql.es

 

DECLARE @NewPass varchar(10)

Set @NewPass =cast((Abs(Checksum(NewId()))%10) as varchar(1)) +
char(ascii('a')+(Abs(Checksum(NewId()))%25)) +
char(ascii('A')+(Abs(Checksum(NewId()))%25)) +
left(newid(),5)

Print @NewPass

Fácil .....

 

Queremos auditar quien es el propietario de cada BD.

Lo podemos hacer una por una:

Botn derecho sobre BD y Propiedades.

Pero si tenemos mucha es un lio. Lo podemos hacer con T-SQL

-- Propietario BD
-- Juan Carlos Gilaranz Benito
-- www.mundosql.es

SELECT suser_sname(owner_sid) AS OwnerName, *
FROM sys.databases
ORDER BY name

 

La primera columna nos dice el propietario de la BD (en concreto el  login por el que entra en sql server).

Con esto sabremos de quien es la BD y si necesita cambiar de propietario por ejemplo.

Si tienes alguna duda, sugerencias, etc …. puedes entrar en el grupo de facebook:

https://www.facebook.com/groups/juankartips/

y