На самом деле, есть способ!
Он включает несколько шагов, но может быть выполнен через TSQL:
1) Получите ваш список в таблице.
2) Используйте следующий запрос, чтобы составить список.Убедитесь, что вы установили @FolderName в соответствие с существующей папкой:
DECLARE @FolderName VARCHAR(100) = 'PROD'
DECLARE @xml_header VARCHAR(MAX) = N'<?xml version="1.0"?>
<model xmlns="http://schemas.serviceml.org/smlif/2007/02">
<identity>
<name>urn:uuid:96fe1236-abf6-4a57-b54d-e9baab394fd1</name>
<baseURI>http://documentcollection/</baseURI>
</identity>
<xs:bufferSchema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<definitions xmlns:sfc="http://schemas.microsoft.com/sqlserver/sfc/serialization/2007/08">
<document>
<docinfo>
<aliases>
<alias>/system/schema/RegisteredServers</alias>
</aliases>
<sfc:version DomainVersion="1" />
</docinfo>
<data>
<xs:schema targetNamespace="http://schemas.microsoft.com/sqlserver/RegisteredServers/2007/08" xmlns:sfc="http://schemas.microsoft.com/sqlserver/sfc/serialization/2007/08" xmlns:sml="http://schemas.serviceml.org/sml/2007/02" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="ServerGroup">
<xs:complexType>
<xs:sequence>
<xs:any namespace="http://schemas.microsoft.com/sqlserver/RegisteredServers/2007/08" processContents="skip" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RegisteredServer">
<xs:complexType>
<xs:sequence>
<xs:any namespace="http://schemas.microsoft.com/sqlserver/RegisteredServers/2007/08" processContents="skip" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<RegisteredServers:bufferData xmlns:RegisteredServers="http://schemas.microsoft.com/sqlserver/RegisteredServers/2007/08">
<instances xmlns:sfc="http://schemas.microsoft.com/sqlserver/sfc/serialization/2007/08">
<document>
<docinfo>
<aliases>
<alias>/RegisteredServersStore/ServerGroup/DatabaseEngineServerGroup/ServerGroup/' + /*Folder_Name*/ + @FolderName + '</alias>
</aliases>
<sfc:version DomainVersion="1" />
</docinfo>
<data>
<RegisteredServers:ServerGroup xmlns:RegisteredServers="http://schemas.microsoft.com/sqlserver/RegisteredServers/2007/08" xmlns:sfc="http://schemas.microsoft.com/sqlserver/sfc/serialization/2007/08" xmlns:sml="http://schemas.serviceml.org/sml/2007/02" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<RegisteredServers:RegisteredServers>
<sfc:Collection>'
, @xml_middle VARCHAR(MAX) = '</sfc:Collection>
</RegisteredServers:RegisteredServers>
<RegisteredServers:Parent>
<sfc:Reference sml:ref="true">
<sml:Uri>/RegisteredServersStore/ServerGroup/DatabaseEngineServerGroup</sml:Uri>
</sfc:Reference>
</RegisteredServers:Parent>
<RegisteredServers:Name type="string">' + @FolderName + '</RegisteredServers:Name>
<RegisteredServers:Description type="string" />
<RegisteredServers:ServerType type="ServerType">DatabaseEngine</RegisteredServers:ServerType>
</RegisteredServers:ServerGroup>
</data>
</document>'
/*Ending*/
, @xml_footer VARCHAR(MAX) = ' </instances>
</RegisteredServers:bufferData>
</xs:schema>
</data>
</document>
</definitions>
</xs:bufferSchema>
</model>'
, @xml XML
, @serverDetails VARCHAR(MAX)
, @serverReferences VARCHAR(MAX)
SELECT /*SERVER SPECIFIC*/
@serverDetails = COALESCE(@serverDetails, '') +
' <document>
<docinfo>
<aliases>
<alias>/RegisteredServersStore/ServerGroup/DatabaseEngineServerGroup/ServerGroup/' + /*Folder_Name*/ + @FolderName + '/RegisteredServer/' + SS.Server + '</alias>
</aliases>
<sfc:version DomainVersion="1" />
</docinfo>
<data>
<RegisteredServers:RegisteredServer xmlns:RegisteredServers="http://schemas.microsoft.com/sqlserver/RegisteredServers/2007/08" xmlns:sfc="http://schemas.microsoft.com/sqlserver/sfc/serialization/2007/08" xmlns:sml="http://schemas.serviceml.org/sml/2007/02" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<RegisteredServers:Parent>
<sfc:Reference sml:ref="true">
<sml:Uri>/RegisteredServersStore/ServerGroup/DatabaseEngineServerGroup/ServerGroup/' + /*Folder_Name*/ @FolderName + '</sml:Uri>
</sfc:Reference>
</RegisteredServers:Parent>
<RegisteredServers:Name type="string">' + SS.Server + '</RegisteredServers:Name>
<RegisteredServers:Description type="string" />
<RegisteredServers:ServerName type="string">' + SS.Server + '</RegisteredServers:ServerName>
<RegisteredServers:UseCustomConnectionColor type="boolean">false</RegisteredServers:UseCustomConnectionColor>
<RegisteredServers:CustomConnectionColorArgb type="int">-986896</RegisteredServers:CustomConnectionColorArgb>
<RegisteredServers:ServerType type="ServerType">DatabaseEngine</RegisteredServers:ServerType>
<RegisteredServers:ConnectionStringWithEncryptedPassword type="string">data source=' + SS.Server + ';integrated security=True;pooling=False;multipleactiveresultsets=False;connect timeout=30;encrypt=False;trustservercertificate=False;packet size=4096</RegisteredServers:ConnectionStringWithEncryptedPassword>
<RegisteredServers:CredentialPersistenceType type="CredentialPersistenceType">None</RegisteredServers:CredentialPersistenceType>
<RegisteredServers:OtherParams type="string" />
<RegisteredServers:AuthenticationType type="int">0</RegisteredServers:AuthenticationType>
<RegisteredServers:ActiveDirectoryUserId type="string" />
<RegisteredServers:ActiveDirectoryTenant type="string" />
</RegisteredServers:RegisteredServer>
</data>
</document>
'
, @serverReferences = COALESCE(@serverReferences, '') +
' <sfc:Reference sml:ref="true">
<sml:Uri>/RegisteredServersStore/ServerGroup/DatabaseEngineServerGroup/ServerGroup/' + /*Folder_Name*/ + @FolderName + '/RegisteredServer/' + SS.Server + '</sml:Uri>
</sfc:Reference>
'
FROM /*Table with Server List*/ServerList SS
WHERE EnvironmentTypeValue IN ('PROD')
SET @xml = CAST( (@xml_header + @serverReferences + @xml_middle + @serverDetails + @xml_footer) AS xml)
SELECT @xml
3) Возможно, вам придется открыть XML, а затем скопировать и вставить в текстовый файл с расширением regsrvr
4) Откройте SSMS, перейдите на «Зарегистрированные серверы», выберите группу и первый заголовок, который вы хотите, чтобы список пошел.
5) Импорт и готово!:)
Обратите внимание, что вы не можете импортировать в SQL Server 2017 более раннюю версию.К сожалению.