Archivado como BD, SQLServer por josepcoves | 0 comments
En SQL Server se tiene una capa doble de autenticación, por una parte se tienen los usuarios de instancia (Security - Logins) y luego a nivel de BD tenemos otros logins (DB - <DB_Name> - Security - Users). Después de realizar un restore de base de datos, estos logins pueden quedar descoordinados con lo que es necesario volver a enlazar los logins de instancia con los de BD. Para ello podemos usar la siguiente instrucción por cada usuario a enlazar (para ello se requiere una cuenta de administrador de BD):
USE DATABASE_NAME;
GO
EXEC sp_change_users_login 'Auto_Fix', 'username', NULL;
GO
Archivado como BD, SQLServer por josepcoves | 0 comments
La siguiente expresión nos permite obtener la fecha y la hora de ejecución de un package de SSIS.
Por ejemplo, si la fecha es 02/01/2010 10:09, la expresión devolverá el siguiente DT_STR:
“20100102_1009″.
Lo publico porqué no me ha parecido trivial el modo de conseguir obtener dos dígitos para todos los campos, pues la función DatePart solamente devuelve un integer sin 0’s a la izquierda, para ello, usamos la función RIGHT, que nos añade los ceros faltantes. Esta función puede resultar muy útil para renombrar ficheros de carga con la fecha y hora de carga y guardarnos un histórico.
(DT_STR, 4, 1252) Year( @[System::StartTime] ) + right("0"+(DT_STR, 4, 1252) Month( @[System::StartTime] ),2) + right("0"+(DT_STR, 4, 1252) Day ( @[System::StartTime] ),2) +"_"+ right("0"+(DT_STR, 2, 1252) Datepart ("hh", @[System::StartTime] ),2) + right("0"+(DT_STR, 2, 1252) Datepart ("mi", @[System::StartTime] ),2)