List Azure DevOps Server Features

First of all: Don’t change states of Features. Especially if you don’t have backups. Especially on Productive Server. You can loss all your data. I warned you. so, if you’re curious enough, run this select in your configuration database:

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
USE "Tfs_Configuration";
SELECT
  ISNULL(d.[ KEY],a.[ KEY]) AS FeatureKey
, CASE
    WHEN a.AvailabilityState=1
      THEN N'Enabled'
    WHEN a.AvailabilityState=0
      THEN N'Disabled'
    WHEN a.AvailabilityState IS NULL
      THEN N'Disabled'
  END AS State
, o.Owner
, n.Name
, d.Description
FROM
  (
    SELECT
      SUBSTRING(ParentPath, LEN(N'#\FeatureAvailability\Definitions\')+1, LEN(ParentPath)) AS [key]
    , regvalue                                                                             AS Description
    FROM
      tbl_registryitems
    WHERE
      ParentPath LIKE '#\FeatureAvailability\Definitions\%'
      AND ChildItem = N'Description\'
  )
  AS d
  JOIN
    (
      SELECT
        SUBSTRING(ParentPath, LEN(N'#\FeatureAvailability\Definitions\')+1, LEN(ParentPath)) AS [key]
      , regvalue                                                                             AS Name
      FROM
        tbl_registryitems
      WHERE
        ParentPath LIKE N'#\FeatureAvailability\Definitions\%'
        AND ChildItem = N'Name\'
    )
    AS n
    ON
      n.[ KEY] = d.[ KEY]
  JOIN
    (
      SELECT
        SUBSTRING(ParentPath, LEN(N'#\FeatureAvailability\Definitions\')+1, LEN(ParentPath)) AS [key]
      , regvalue                                                                             AS Owner
      FROM
        tbl_registryitems
      WHERE
        ParentPath LIKE N'#\FeatureAvailability\Definitions\%'
        AND ChildItem = N'Owner\'
    )
    AS o
    ON
      o.[ KEY] = d.[ KEY]
  FULL OUTER JOIN
    (
      SELECT
        SUBSTRING(ParentPath, LEN(N'#\FeatureAvailability\Entries\')+1, LEN(ParentPath)) AS [key]
      , isnull(regvalue, 0)                                                              AS AvailabilityState
      FROM
        tbl_registryitems
      WHERE
        ParentPath LIKE N'#\FeatureAvailability\Entries\%'
        AND ChildItem = N'AvailabilityState\'
    )
    AS a
    ON
      a.[KEY] = d.[KEY]
ORDER BY
  3
, 4
, 5