Saltar al contenido

Ya hemos visto como cambiar una base de datos y sus tablas de sitio.

Ahora vamos a cambiarlo para que desde ahora se alojen por defecto en un sitio distinto nuestras bbdd y tablas.

Si no le decimos nada en la instalacion, se colocará en

C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL

Pues ahora vamos a cambiarla

Captura

Propiedades

Captura

Configuracion de bbdd.

Cambiamos ubicaciones.

Y por último, reiniciamos servicios para que se puedan producir los cambios.

Llevo buscando cosas para  hacer un inventario del hardware de mi equipo con comandos powershell.

Captura

Get-WmiObject -class "Win32_PhysicalMemoryArray"

Este comando nos indica cuando slots de memoria tenemos.

Captura

Get-WmiObject -class "Win32_PhysicalMemory"

Cuanta memoria, de que modelo, marca, etc ..... información general. De este comando con el FT podemos sacar cosas interesantes.

Captura

Get-WmiObject -class "Win32_PhysicalMemory" | Measure-Object -Property Capacity -Sum

Total de bancos ocupados y la memoria máxima.

Captura

Get-WmiObject -class "Win32_PhysicalMemory" | FT PSComputerName,Name,DeviceLocator,Manufacturer,Capacity,SerialNumber

Ahora a jugar y combinar como te guste.

Esto después podemos meterlo en un script y nos dirá lo que tiene cada equipo si recorremos la red.

No quiero tener la bbdd en la ubicación donde se me ha grabado pro defecto.

Al turrón

Captura

Primero separamos la bbdd

Captura

Señalamos Quitar

Captura

Ya no la tenemos en nuestra instancia. Ahora con el explorador de windows la pillamos y la colocamos donde queramos

Ahora que ya la tenemos donde queremos damos a adjuntar.

Captura

Ya lo tenemos .... ahora a jugar.

 

 

1

Anoche me quede desvelado y me puse un problema en el grupo de facebook. Como sacar la máxima información de la fecha de un dia cualquiera del año para después hacer estadísticas y algo más.

Por ejemplo, tenemos una tabla con estos 3 elementos o mas

Captura

Tenemos el campo dato, pero puede ser  un codigo de comercial, fras, etc..... eso ya lo veremos mas adelante.

Vamos al campo fecha. En lo siguientes códigos o script vamos  utilizar la fecha actual getdate() , pero lo podemos cambiar si tuvieramos registro por ese campo

Captura

SELECT getdate() AS 'Hoy'

Vamos a desgranar lo que podemos sacar de ahí

Captura

Primero hay que aclarar que estoy en un servidor de AzureSQL y por eso me sale el mes en inglés.

DECLARE @INFORME char(50)
SET @INFORME = 'INFORME DIA'
Select @INFORME as Tipo_Informe,
DATENAME(weekday, Getdate()) AS Dia_Semana,
DATENAME(day, Getdate()) AS DD, DATENAME(month, Getdate()) AS MM, DATENAME(year, Getdate()) AS YYYY,
DATENAME(hour, Getdate()) AS HH,DATENAME(minute, Getdate()) AS MM

Nos dan este select un poco mas detallado la fecha, nos puede interesar tenerlo así.

Captura

En este caso el mes aparece como un número

DECLARE @INFORME char(50)
SET @INFORME = 'INFORME DIA'
Select @INFORME as Tipo_Informe,
DATENAME(weekday, Getdate()) AS Dia_Semana,
DATENAME(day, Getdate()) AS DD, DATEPART(month, Getdate()) AS MM, DATENAME(year, Getdate()) AS YYYY,
DATENAME(hour, Getdate()) AS HH,DATENAME(minute, Getdate()) AS MM

Pero aun podemos sacar mas datos de la fecha para hacer estadísticas

Captura

En este último select sacamos el numero de semana y el numero de día sabiendo que el primer día de la semana es el domingo.

Select @INFORME as Tipo_Informe,
DATENAME(week, Getdate()) AS Semana, DATEPART(weekday,Getdate()) AS Dia_Semana

Si lo querremos en formato español y que el primer dia de la  semana es el Lunes tenemos que añadir al principio

SET DATEFIRST 1 ;

y quedaría

Captura

Y ya esta, el viernes es el dia 5 de la semana.

Como podéis ver podemos desglosar una fecha para hacer estaditicas de dia entre semana, la semana, mes, etc... para ver a qu hora se vende mas, que dia ..... para una planificiación de personal por ejemplo.

Aquí solo muestro una idea. Espero que os haya gustado.

Podeis compartir este artículo y los demás del blog en vuestras redes sociales.

Buscando cosas raras que se pueden utilizar con powershell me he encontrado este código

Haz un copy/paste a tu consola de powershell

[console]::beep(440,500)
[console]::beep(440,500)
[console]::beep(440,500)
[console]::beep(349,350)
[console]::beep(523,150)
[console]::beep(440,500)
[console]::beep(349,350)
[console]::beep(523,150)
[console]::beep(440,1000)
[console]::beep(659,500)
[console]::beep(659,500)
[console]::beep(659,500)
[console]::beep(698,350)
[console]::beep(523,150)
[console]::beep(415,500)
[console]::beep(349,350)
[console]::beep(523,150)
[console]::beep(440,1000)c

A que mola ???? O este ....

[console]::beep(784,150)
Start-Sleep -m 300
[console]::beep(784,150)
Start-Sleep -m 300
[console]::beep(932,150)
Start-Sleep -m 150
[console]::beep(1047,150)
Start-Sleep -m 150
[console]::beep(784,150)
Start-Sleep -m 300
[console]::beep(784,150)
Start-Sleep -m 300
[console]::beep(699,150)
Start-Sleep -m 150
[console]::beep(740,150)
Start-Sleep -m 150
[console]::beep(784,150)
Start-Sleep -m 300
[console]::beep(784,150)
Start-Sleep -m 300
[console]::beep(932,150)
Start-Sleep -m 150
[console]::beep(1047,150)
Start-Sleep -m 150
[console]::beep(784,150)
Start-Sleep -m 300
[console]::beep(784,150)
Start-Sleep -m 300
[console]::beep(699,150)
Start-Sleep -m 150
[console]::beep(740,150)
Start-Sleep -m 150
[console]::beep(932,150)
[console]::beep(784,150)
[console]::beep(587,1200)
Start-Sleep -m 75
[console]::beep(932,150)
[console]::beep(784,150)
[console]::beep(554,1200)
Start-Sleep -m 75
[console]::beep(932,150)
[console]::beep(784,150)
[console]::beep(523,1200)
Start-Sleep -m 150
[console]::beep(466,150)
[console]::beep(523,150)

Ya buscare otros usos .....

 

Como siempre, este blog  hago ejemplos básicos de operaciones, para que vosotros pilléis la idea de como hacerlo.

Ya vimos como exportar e importar un csv con temas de Active Directory.

Ahora nos toca un txt, crearlo, guardarlo y leerlo.

Captura

En este caso hemos grabado en el txt el nombre del proceso y su id, pero puede ser cualquier cosa

Ahora vamos a leerlo.

Captura

Asi de sencillo.

Sepuede utilizar para muchas cosas

Vamos a hacer un ping en powershell, para eso vamos a utilizar el comando Test-Connection.

Es la típica prueba que tenemos que hacer ante nuestros ISP.

Vamos con los ejemplos

Captura

Sencillo y práctico 😉

Ya hemos visto como sacamos la info del servidor y la instancia, ahoa toca de las bbdd y tablas

Captura

Aquí sacamos las bases de datos

El código casi que ves que lo repito

clear

#Sql Browser en funcionamiento
#to discover SQL Server instances
Start-Service "SQLBrowser"

$instanceName = "SQLSERVER14W12"
$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $instanceName

$server.Databases | select name

Ahora a por las tablas, en concreto vamos a ver las que tiene TSQL2012

Captura

Fijaos que solo he añadido .Tables.

Podemos cambiar por otras variantes

Captura

Ahora te toca a ti jugar y ver que datos podemos sacar .... inclusos podemos ir haciendo una auditoría

Antes de iniciar con temas de base de datos y demás, vamos a sacar info de nuestro server.

Captura

El código:

clear

#Sql Browser en funcionamiento
#to discover SQL Server instances
Start-Service "SQLBrowser"

$instanceName = "SQLSERVER14W12"
$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $instanceName

$server.Information.Product +' '+$server.Information.ProductLevel+' ' + $server.Information.VersionString
$server.Information.Edition
$server.Information.Language
$server.Information.Collation
$server.Information.ComputerNamePhysicalNetBIOS

Se puede ampliar a tu gusto en:

https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.information.aspx

Ahora a jugar con los diferentes parámetros.

Ya lo hemos hecho con T-Sql, ahora con powershell

Captura

El código

clear

#Sql Browser en funcionamiento
#to discover SQL Server instances
Start-Service "SQLBrowser"

$instanceName = "localhost"
$managedComputer = New-Object Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer $instanceName

#lista todas las instncias
$managedComputer.ServerInstances

Como veis powershell se esta poniendo de moda y tambien por que nos puede dar muchos datos.

Iremos poniendo pequeños script.

Para ver todos los servicios

Captura

Nos saldrá una lista muy larga, pero si queremos ver solo los de SQL Server

Captura

Si lo que queremos es un en concreto

Captura

Si queremos ver solo los que están corriendo

Captura

O los que estan parados

Captura

Y las 3 tareas principales:

Iniciar servicio: start-service -name <nombre>

Detener servicio: stop-service -name <nombre>

Reiniciar servicio: restart-service -name <nombre>

Si ponemos  el modificador -force para forzar la ejecución .

Aquí vemos como lo podemos hacer

Captura

SQL Server nos da muchas posibilidades de trabajar, a veces lo puedes hacer de 2 o mas formas.

Para que lo veais, yo intento no agrupar todas en un mismo artículo.

Y como no, compartir este artículo y los demás que aparecen el blog en todas vuestras redes sociales.