Bonjour,

Je cherche à effectuer des stats de traffic sur plusieurs bases.
Pour l'instant je souhaite uniquement monitorer les durées de session.

J'itère donc sur l'ensemble de mes bases de données afin d'extraire les sessions dans une table de log.

Dans mon itération, je souhaite tout d'abord remplir une table temporaire avec les sessions en y incluant le nom de la base de données correspondante.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
CREATE TABLE #MySessions (
		databaseName nvarchar(50) NULL,
		S_id nvarchar(200) NULL
	)
Comme il y a plusieurs sessions, je ne peux pas faire un truc du style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
set @statement = N'INSERT INTO [#MySessions] (databaseName, S_Id) VALUES (@dbname (select distinct sessionid from ['+@dbname+'].dbo.sitelog Where sessionid <>''''))'
			EXEC dbo.sp_executesql @statement
En fait je souhaiterais déclarer un curseur pour itérer sur les distinc sessionid de ma table, mais avec la variable @dbname ça ne passe pas.

Y-a-t-il un autre moyen ?

Merci