Bonjour,
J'ai récupéré sur le net une requête T-SQL qui permet de lister les instances d'un serveur. Elle fonctionne parfaitement avec SQL Server 2008 / 2008 R2 et 2005, mais j'ai un soucis avec la version 2000.
Voici la requête :
Et voici l'erreur retournée par SQL Server :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Set NoCount On Declare @CurrID int,@ExistValue int, @MaxID int, @SQL nvarchar(1000) Declare @SQLInstances Table ( InstanceID int identity(1, 1) not null primary key, InstName nvarchar(180), Folder nvarchar(50)); Insert Into @SQLInstances (InstName, Folder) Exec xp_regenumvalues N'HKEY_LOCAL_MACHINE', N'SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL'; Declare @Keyexist Table (Keyexist int) Insert into @Keyexist Exec xp_regread'HKEY_LOCAL_MACHINE', N'SOFTWARE\\Wow6432Node\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL'; Select @ExistValue= Keyexist from @Keyexist If @ExistValue=1 Insert Into @SQLInstances (InstName, Folder) Exec xp_regenumvalues N'HKEY_LOCAL_MACHINE', N'SOFTWARE\\Wow6432Node\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL'; Select serverproperty('ComputerNamePhysicalNetBIOS') as ServerName, InstName From @SQLInstances Set NoCount Off
3 fois ce message d'erreur car j'essaye 3 fois d'utiliser un EXEC avec un INSERT INTO.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Impossible d'utiliser EXECUTE comme source lors de l'insertion dans une variable de table.
Connaissez-vous un moyen de contourner ce problème?
Partager