Requête SQl Server par rapport au groupe de servers

Donc, j'utilise le code tsql pour parcourir un tas de servers, et regarder dans chaque database pour les users. Mon problème est que sur un server spécifique, il y a des bases de données auxquelles je n'ai pas access et que je n'ai pas besoin d'utiliser. Lorsque la requête s'exécute sur eux, elle s'arrête sur l'set du server et passe à la suivante. J'ai essayé de find un moyen d'exclure certaines bases de données de la search.

Ce que j'essaie de faire c'est

par exemple sur le server A a exclu ces bases de données B, C, D, et ainsi de suite. J'ai essayé où <> et! = Et ne fonctionne pas ou j'ai la mauvaise syntaxe

USE MASTER If OBJECT_ID('#TDB', 'U') > 0 Drop Table #TDB DECLARE @dbname varchar(200), @sql varchar(max) CREATE TABLE #TDB ( DataBaseName nvarchar(200), UserName nvarchar(200) ) DECLARE db_cursor CURSOR FOR SELECT name FROM master.dbo.sysdatabases WHERE DBID>4 OPEN db_cursor FETCH NEXT FROM db_cursor INTO @dbname WHILE @@FETCH_STATUS = 0 BEGIN SET @sql='insert into #TDb(DataBaseName,UserName) select '''+@dbname+''' DataBaseName,[user_name] UserName FROM '+@dbname+'.[dbo].[USERS] where'+@dbname+'<>[APSSWATCH]' EXEC(@sql) FETCH NEXT FROM db_cursor INTO @dbname END CLOSE db_cursor DEALLOCATE db_cursor SELECT * FROM #TDB ORDER BY DataBaseName,UserName DROP TABLE #TDB 

 DECLARE db_cursor CURSOR FOR SELECT name FROM master.dbo.sysdatabases WHERE DBID>4 and name<> 'APSSWATCH' 

Vous pouvez supprimer celui-ci:

 where'+@dbname+'<>[APSSWATCH]' 

Merci de m'avoir conduit dans la bonne direction si, instad de

 name<>'APPSWATCH' 

j'ai utilisé

 name NOT IN 'APPSWATCH' 

et il fonctionne