Mostrando entradas con la etiqueta SQL SERVER. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL SERVER. Mostrar todas las entradas

jueves, 24 de mayo de 2018

¿Cómo migrar una tabla de SQL SERVER a Azure?

Un método rápido y eficaz en 5 sencillos pasos:

1.- Desde SQL Management nos conectamos a nuestro servidor SQL Sercer y extraemos el metadata de la tabla mediante la utilidad de "Script table as" -> "Create table"
2.- Desde SQL Management abrimos una conexión con nuestro servidor Azure y con el código de metadata obtenido en el paso 1 generamos la nueva tabla en Azure.
3.- Desde la conexión local lanzamos un "select * from mi_tabla" y exportamos los resultados a csv. (Botón derecho sobre grid de resultados)
4.- Abrimos nuestro csv con Excel y lo guardamos con el formato xlsx
5.- Desde la conexión con Azure, click derecho sobre nuestra base de datos -> "Task" -> "Import data" y seguir los pasos.


Aquí dejo capturar de los pasos a seguir












¿Cómo crear una tabla nueva a partir de una vista en SQL Server? (extraer metadata de una vista)

Basta con usar el comando:

Select * Into Nueva_tabla From Tu_vista

Truco: Extraer metadata de una vista

Además una vez creada la tabla puedes usar desde SQL Management la utilidad de 
"Script table as" -> "Create To" de este modo podremos obtener el metadata para crear esa tabla en cualquier otra BD

lunes, 2 de octubre de 2017

Extraer sólo numeros de un campo string en TSQL (Microsoft SQL Server)

El ejemplo se ha probado en una base de datos Microsoft SQL Server 2008 R2
CREATE FUNCTION dbo.udf_GetNumeric
(@strAlphaNumeric VARCHAR(256))
RETURNS VARCHAR(256)
AS
BEGIN
DECLARE @intAlpha INT
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)
BEGIN
WHILE @intAlpha > 0
BEGIN
SET @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '' )
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric )
END
END
RETURN ISNULL(@strAlphaNumeric,0)
END
GO
Now use the function as
SELECT dbo.udf_GetNumeric(column_name) 
from table_name
Ésta función es muy útil y permite extraer información sólo números de un campo cadena.
Ejemplo: Supongamos que tenemos una base de datos con los clientes y sus DNI. El DNI está almacenado con la letra y queremos sólo la parte numérica.

si hacemos: select dni from clientes

obtendremos:

dni
--------
1234567894X
1234567895J
1234567895P

ahora: creamos la función en la base de datos y a continuación realizamos la consulta:

select dbo.udf_GetNumeric(dni) from clientes
obtendremos:

dni
--------
1234567894
1234567895
1234567895

fuente:
https://stackoverflow.com/questions/16667251/query-to-get-only-numbers-from-a-string
Muchas gracias al usuario: https://stackoverflow.com/users/1841054/luv

lunes, 12 de junio de 2017

Trabajar con SQL SERVER mediante linea de comandos

Trabajar con SQL SERVER mediante linea de comandos


Resultado de imagen de sql serverPuede ser útil conocer los equipos conectados a nuestra red, puesto que en cada uno de estos equipos puede estar corriendo un servicio de SQL SERVER al que podamos consultar informarción. Para ello usaremos el comando: net view

Para obtener la ip de un equipo y comprobar que esta disponible podremos realizar un test de red mediante el comando: ping <nombre_del_equipo>

Imagen relacionadaUna vez localizado un equipo podemos consumir el servicio de SQL SERVER mediante el comando: sqlcmd


Ejemplo de uso
  • sqlcmd -L                                        Lista las intancias disponibles en nuestra red
listado de parámetros completo de sqlcmd   
   -a packet_size  
   -A (dedicated administrator connection)  
   -b (terminate batch job if there is an error)  
   -c batch_terminator  
   -C (trust the server certificate)  
   -d db_name  
   -e (echo input)  
   -E (use trusted connection)  
   -f codepage | i:codepage[,o:codepage] | o:codepage[,i:codepage] 
   -g (enable column encryption) 
   -G (use Azure Active Directory for authentication)
   -h rows_per_header  
   -H workstation_name  
   -i input_file  
   -I (enable quoted identifiers)  
   -j (Print raw error messages)
   -k[1 | 2] (remove or replace control characters)  
   -K application_intent  
   -l login_timeout  
   -L[c] (list servers, optional clean output)  
   -m error_level  
   -M multisubnet_failover  
   -N (encrypt connection)  
   -o output_file  
   -p[1] (print statistics, optional colon format)  
   -P password  
   -q "cmdline query"  
   -Q "cmdline query" (and exit)  
   -r[0 | 1] (msgs to stderr)  
   -R (use client regional settings)  
   -s col_separator  
   -S [protocol:]server[instance_name][,port]  
   -t query_timeout  
   -u (unicode output file)  
   -U login_id  
   -v var = "value"  
   -V error_severity_level  
   -w column_width  
   -W (remove trailing spaces)  
   -x (disable variable substitution)  
   -X[1] (disable commands, startup script, environment variables, optional exit)  
   -y variable_length_type_display_width  
   -Y fixed_length_type_display_width  
   -z new_password   
   -Z new_password (and exit)  
   -? (usage)

Ejemplo de uso
  • sqlcmd -S <nombre_equipo>,<instancia> -U <usuario> -P <clave>
Conexión a una instancia mediante autorización en SQL SERVER

Jesús Moreno - Ingeniero Ténico Informático - consultor Informático

Hola, soy Jesús Moreno Ingeniero Técnico Informático en sistemas por la US y propietario de éste blog. Mi trabajo en los ultimos años se ...