lunes, 24 de septiembre de 2012

Cambiar modo de autentificación SQL Server 2008


Configuración y creación de usuarios en SQL Server 2008
Este pequeño tutorial permite configurar la forma de autentificación de usuario en SQL Server 2008, de Autentificación de Windows a Autentificación de SQL Server.


 Fuente del tutorial por 

http://fabianbermeop.blogspot.com/2010/11/configuracion-y-creacion-de-usuarios-en.html

  • Ingresamos a SQL Server 2008 y nos aparecerá esta pantalla de inicio en donde debemos ingresar el “nombre del Servidor”, generalmente esta en blanco por lo que debemos ingresarlo, el server name es el nombre de nuestra PC en mayúsculas ejemplo JUAN-PC
  • el modo de autenticación lo dejamos por defecto “autenticación Windows” y clic “conectar”
1
  • damos clic derecho sobre el nombre del servidor y elegimos propiedades
2
  • nos dirigimos a la pestaña seguridad y cambias de modo autenticación de Windows ah “Autenticación de SQL Server”
3
  • ahora damos clic en aceptar y nos aparece una advertencia, “algunos cambios tendrán efectos cuando SQL Server sea reiniciado” y damos clic en “aceptar”
4
Creación de usuarios
  • para crear un usuario, en el menú lateral damos clic derecho sobre la pestaña “Seguridad” luego “nuevo” y a continuación “Usuario”
5
  • una vez que seleccionamos nuevo usuario, en la pestaña “General” escogemos “Autenticación de SQL Server”
  • damos un “nombre de inicio de sesión”
  • ingresamos “la contraseña” adecuada como por ejemplo “*.#admin6789” de tipo alfanumérico
  • y finalmente marcamos solo el checkbox que dice “Exigir directiva de contraseña”
6
  • nos dirigimos a la pestaña “Funciones del servidor” y seleccionamos “SYSADMIN” que otorga los privilegios de administrador al usuario que estamos creando, o seleccionamos tan solo las credenciales que necesitemos, y clic en “Aceptar”
7
 

  • una vez terminado el proceso anterior cerramos el SQL Server 2008 para configurar el motor de base de datos desde el “management”
  • nos vamos a “inicio, todos los programas, Microsoft SQL Server 2008, Herramientas de configuración y clic en administrador de configuración de SQL Server”
8
  • en la pantalla que se nos presenta, nos dirigimos al menú lateral seleccionamos “configuración de red de SQL Server”, doble clic en “Protocolos para MSSQLSERVER” y nos ubicamos sobre el ítem “Canalización por nombre” que se encuentra como deshabilitado
9
  • procedemos a dar doble clic sobre “Canalización por nombre” y en la pantalla que se presenta seleccionamos “si” en la opción habilitar
10
  • cuando damos clic en aceptar nos muestra un mensaje que nos dice “algunos cambios surtirán efecto una vez haya detenido y reiniciado el motor de base de datos”
11
  • para detener el motor de base de datos nos vamos a la pestaña “Servicio de SQL Server” y seleccionamos SQL SERVER(MSSQLSERVER) ahora damos clic sobre el “botón detener” ubicado en el menú superior
12
  • realizamos el mismo proceso anterior pero esta vez clic en el “botón iniciar” del menú superior para proceder a reiniciar nuestro SERVER, una vez completado cerramos el administrador
13

  • para finalizar, abrimos el SQL Server 2008 y cambios la forma de autentificación elegimos “Autenticación de SQL Server y debajo las “credenciales del usuario” que creamos al inicio y entraremos normalmente en SQL Server 2008.
14
es todo lo que necesitamos para realizar una arquitectura cliente servidor, y manejar usuarios en SQL Server 2008, espero les sirve de mucho

Expresión regular para validar contraseña de usuario

Esta expresión regular limita al usuario ingresar una contraseña cumpliendo con ciertos estándares o políticas de seguridad, como son letras minúscula, mayúsculas, digitos y caracteres especiales. 
En este ejemplo la función recibe como parámetro la cadena de texto a validar y devuelve True si cumple con la expresión regular (Entre 7 a 30 caractéres, al menos que contenga un letra minúscula, una mayúscula y un dígito.), de lo contrario retorna False.

En VB:
_______________________________________________________________________________________
Importar la libreria

 Imports System.Text.RegularExpressions


 Public Function ValidarContraseniaUsuario(ByVal contraseniaUsuario As String) As Boolean
        Dim sPatternmail As String = "^(?!.*(.)\1{3})((?=.*[\d])(?=.*[a-z])(?=.*[A-Z])|(?=.*[a-z])(?=.*[A-Z])(?=.*[^\w\d\s])|(?=.*[\d])(?=.*[A-Z])(?=.*[^\w\d\s])|(?=.*[\d])(?=.*[a-z])(?=.*[^\w\d\s])).{7,30}$"
        Dim validar As Boolean = System.Text.RegularExpressions.Regex.IsMatch(contraseniaUsuario, sPatternmail)
        Return validar
    End Function

En C#:
_______________________________________________________________________________________

Using System.Text.RegularExpressions

public bool ValidarContraseniaUsuario(string contraseniaUsuario)
{
 String sPatternmail = "^(?!.*(.)\1{3})((?=.*[\d])(?=.*[a-z])(?=.*[A-Z])|(?=.*[a-z])(?=.*[A-Z])(?=.*[^\w\d\s])|(?=.*[\d])(?=.*[A-Z])(?=.*[^\w\d\s])|(?=.*[\d])(?=.*[a-z])(?=.*[^\w\d\s])).{7,30}$"
bool validar = System.Text.RegularExpressions.Regex.IsMatch(contraseniaUsuario, sPatternmail);
return validar;
}

miércoles, 19 de septiembre de 2012

Convertir cadena de texto en fecha, Varchar To DateTime SQL


-- SQL Server string to date / datetime conversion - datetime string format sql server
-- MSSQL string to datetime conversion - convert char to date - convert varchar to date
-- Subtract 100 from style number (format) for yy instead yyyy (or ccyy with century)
SELECT convert(datetime, 'Oct 23 2012 11:01AM', 100) -- mon dd yyyy hh:mmAM (or PM)
SELECT convert(datetime, 'Oct 23 2012 11:01AM') -- 2012-10-23 11:01:00.000

-- Without century (yy) string date conversion - convert string to datetime function
SELECT convert(datetime, 'Oct 23 12 11:01AM', 0) -- mon dd yy hh:mmAM (or PM)
SELECT convert(datetime, 'Oct 23 12 11:01AM') -- 2012-10-23 11:01:00.000

-- Convert string to datetime sql - convert string to date sql - sql dates format
-- T-SQL convert string to datetime - SQL Server convert string to date
SELECT convert(datetime, '10/23/2016', 101) -- mm/dd/yyyy
SELECT convert(datetime, '2016.10.23', 102) -- yyyy.mm.dd ANSI date with century
SELECT convert(datetime, '23/10/2016', 103) -- dd/mm/yyyy
SELECT convert(datetime, '23.10.2016', 104) -- dd.mm.yyyy
SELECT convert(datetime, '23-10-2016', 105) -- dd-mm-yyyy
-- mon types are nondeterministic conversions, dependent on language setting
SELECT convert(datetime, '23 OCT 2016', 106) -- dd mon yyyy
SELECT convert(datetime, 'Oct 23, 2016', 107) -- mon dd, yyyy
-- 2016-10-23 00:00:00.000
SELECT convert(datetime, '20:10:44', 108) -- hh:mm:ss
-- 1900-01-01 20:10:44.000

-- mon dd yyyy hh:mm:ss:mmmAM (or PM) - sql time format - SQL Server datetime format
SELECT convert(datetime, 'Oct 23 2016 11:02:44:013AM', 109)
-- 2016-10-23 11:02:44.013
SELECT convert(datetime, '10-23-2016', 110) -- mm-dd-yyyy
SELECT convert(datetime, '2016/10/23', 111) -- yyyy/mm/dd
-- YYYYMMDD ISO date format works at any language setting - international standard
SELECT convert(datetime, '20161023')
SELECT convert(datetime, '20161023', 112) -- ISO yyyymmdd
-- 2016-10-23 00:00:00.000
SELECT convert(datetime, '23 Oct 2016 11:02:07:577', 113) -- dd mon yyyy hh:mm:ss:mmm
-- 2016-10-23 11:02:07.577
SELECT convert(datetime, '20:10:25:300', 114) -- hh:mm:ss:mmm(24h)
-- 1900-01-01 20:10:25.300
SELECT convert(datetime, '2016-10-23 20:44:11', 120) -- yyyy-mm-dd hh:mm:ss(24h)
-- 2016-10-23 20:44:11.000
SELECT convert(datetime, '2016-10-23 20:44:11.500', 121) -- yyyy-mm-dd hh:mm:ss.mmm
-- 2016-10-23 20:44:11.500

-- Style 126 is ISO 8601 format: international standard - works with any language setting
SELECT convert(datetime, '2008-10-23T18:52:47.513', 126) -- yyyy-mm-ddThh:mm:ss(.mmm)
-- 2008-10-23 18:52:47.513
SELECT convert(datetime, N'23 شوال 1429  6:52:47:513PM', 130) -- Islamic/Hijri date
SELECT convert(datetime, '23/10/1429  6:52:47:513PM',    131) -- Islamic/Hijri date

-- Convert DDMMYYYY format to datetime - sql server to date / datetime
SELECT convert(datetime, STUFF(STUFF('31012016',3,0,'-'),6,0,'-'), 105)
-- 2016-01-31 00:00:00.000
-- SQL Server T-SQL string to datetime conversion without century - some exceptions
-- nondeterministic means language setting dependent such as Mar/Mär/mars/márc
SELECT convert(datetime, 'Oct 23 16 11:02:44AM') -- Default
SELECT convert(datetime, '10/23/16', 1) -- mm/dd/yy U.S.
SELECT convert(datetime, '16.10.23', 2) -- yy.mm.dd ANSI
SELECT convert(datetime, '23/10/16', 3) -- dd/mm/yy UK/FR
SELECT convert(datetime, '23.10.16', 4) -- dd.mm.yy German
SELECT convert(datetime, '23-10-16', 5) -- dd-mm-yy Italian
SELECT convert(datetime, '23 OCT 16', 6) -- dd mon yy non-det.
SELECT convert(datetime, 'Oct 23, 16', 7) -- mon dd, yy non-det.
SELECT convert(datetime, '20:10:44', 8) -- hh:mm:ss
SELECT convert(datetime, 'Oct 23 16 11:02:44:013AM', 9) -- Default with msec
SELECT convert(datetime, '10-23-16', 10) -- mm-dd-yy U.S.
SELECT convert(datetime, '16/10/23', 11) -- yy/mm/dd Japan
SELECT convert(datetime, '161023', 12) -- yymmdd ISO
SELECT convert(datetime, '23 Oct 16 11:02:07:577', 13) -- dd mon yy hh:mm:ss:mmm EU dflt
SELECT convert(datetime, '20:10:25:300', 14) -- hh:mm:ss:mmm(24h)
SELECT convert(datetime, '2016-10-23 20:44:11',20) -- yyyy-mm-dd hh:mm:ss(24h) ODBC can.
SELECT convert(datetime, '2016-10-23 20:44:11.500', 21)-- yyyy-mm-dd hh:mm:ss.mmm ODBC
------------
-- SQL Datetime Data Type: Combine date & time string into datetime - sql hh mm ss
-- String to datetime - mssql datetime - sql convert date - sql concatenate string
DECLARE @DateTimeValue varchar(32), @DateValue char(8), @TimeValue char(6)

SELECT @DateValue = '20120718',
       @TimeValue = '211920'
SELECT @DateTimeValue =
convert(varchar, convert(datetime, @DateValue), 111)
+ ' ' + substring(@TimeValue, 1, 2)
+ ':' + substring(@TimeValue, 3, 2)
+ ':' + substring(@TimeValue, 5, 2)
SELECT
DateInput = @DateValue, TimeInput = @TimeValue,
DateTimeOutput = @DateTimeValue;
/*
DateInput   TimeInput   DateTimeOutput
20120718    211920      2012/07/18 21:19:20 */

Convertir LinQ Query en DataTable Visual Basic

Esta función permite convertir el resultado de un select elaborado en LinQ en DataTable:


Solamente es necesario pasarle a la función como parámetros el DataContext donde se encuentra ubicado la tabla y la consulta generada, por ejemplo: 

Public linqInventario As New InventarioCompraDataClassesDataContext()

Adjunto código de la función:

    Public Function ToDataTable(ByVal ctx As System.Data.Linq.DataContext, ByVal query As Object) As DataTable
        If query Is Nothing Then
            Throw New ArgumentNullException("query")
        End If

        Dim cmd As IDbCommand = ctx.GetCommand(TryCast(query, IQueryable))
        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = DirectCast(cmd, SqlCommand)
        Dim dt As New DataTable("nueva_tabla")

        Try
            cmd.Connection.Open()
            adapter.FillSchema(dt, SchemaType.Source)
            adapter.Fill(dt)
        Finally
            cmd.Connection.Close()
        End Try
        Return dt
    End Function