En caso de que querais buscar usuarios huérfanos en BBDD (que no tengan login asociado), como recordais podeis utilizar el procedimiento almacenado sp_change_users_login.Pues bien, he aqui un buen tip para detectar todos los usuarios huérfanos de todas las BBDD que tengas con una simple consulta:

sp_msforeachdb 'use ?;

declare @mitabla as table (dbname sysname default db_name(),uname sysname, usid varbinary(max))
insert into @mitabla(uname,usid)
EXEC sp_change_users_login ''Report''

select * from @mitabla'

Ahora bien, si estais en un caso como el mio en que tengo que revisar más de 150 BBDD…quizás te resulte esto mas útil 🙂

 

DECLARE cursorBBDD CURSOR read_only fast_forward forward_only FOR
    select name from sys.databases where database_id>4

declare @nombreBBDD sysname
create table #mitabla (dbname sysname default db_name(),uname sysname, usid varbinary(max))

OPEN cursorBBDD
FETCH NEXT FROM cursorBBDD
INTO @nombreBBDD
WHILE @@FETCH_STATUS = 0 
BEGIN
    declare @sentenciaSQL nvarchar(max)
    set @sentenciaSQL = 'use ' + @nombreBBDD + ';
                      insert into #mitabla(uname,usid)
                      EXEC sp_change_users_login ''Report'''
    --print @sentenciaSQL
    exec(@sentenciaSQL)

    FETCH NEXT FROM cursorBBDD
    into @nombreBBDD
END 
CLOSE cursorBBDD
DEALLOCATE cursorBBDD

select * from #mitabla
drop table #mitabla

 

Suerte y que no detecteis muchos! 🙂

 

0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like
Leer más

Operador unario y jerarquías padre-hijo en SSAS MD

Recientemente nos hemos visto involucrados en un proyecto SSAS Multidimensional en el que existía una dimensión de cuentas padre-hijo bastante compleja y con un operador unario por en medio. Es por esto que nos hemos decidido a describir brevemente la implementación por defecto de SSAS y la que utilizamos finalmente para mejorar el rendimiento.
Leer más

Hilando fino en SSAS multidimensional

El equipo de SolidQ ha estado buscando la mejor manera de implementar una jerarquía padre-hijo de cuentas contables con un operador unitario que tuviera un buen rendimiento, a pesar de la gran cantidad de datos a la que tenía que enfrentarse. Veremos cómo aplanar la jerarquía, cómo implementarlo con SSAS, con una alternativa MDX, cómo añadir ordenación a las cuentas basadas en otro atributo, Time Balance Average y algún otro truco de tuning.
Leer más

Hackea tu destino!

Hackea tu destino! Este año fue la primera vez que se celebraba en Torrevieja un Hackathon en el que se aunó la innovación alrededor de la tecnología y el turismo. Un maratón de 36 horas en la que varios equipos trataron de crear aplicaciones informáticas y herramientas para ponerlas al servicio del desarrollo turístico, y como sabéis, nosotros no podíamos faltar.
Leer más

Expresiones, parámetros y funciones en Azure Data Factory

Hay ocasiones, cuando estamos construyendo pipelines con Azure Data Factory, que queremos repetir patrones para extraer y procesar la información cambiando de manera dinámica, en tiempo de ejecución, valores, orígenes/destinos de los datasets, incluso los mismos linked services. Esto es posible mediante el uso de parámetros, expresiones y funciones. Vamos a ver cómo implementarlo con un ejemplo práctico en el que se nos plantea el siguiente supuesto. Se nos ha pedido que extraigamos todos los días los datos del día anterior de distintas tablas del DW a ficheros en un blob storage que además se nombre como la tabla de origen. Si no pudiéramos utilizar contenido dinámico tendríamos que crear dos datasets (uno de origen y otro de destino) y añadir una actividad de copia por cada tabla a exportar.