我想一个新的数据库中注册,以Registered Server
在SQL Server Management Studio
通过C# code
,因为我动态创建一个数据库,我希望看到他们在Registered Servers
:
我发现有可能'Microsoft.SqlServer.Management.RegisteredServers'
。但是我找不到任何可以使用的示例。我尝试使用Powershell示例来实现它:专业的基于PowerShell的SQL Server SMO配方,但是在尝试创建注册的服务器时出现此错误:
'registeredServer.Create()'引发类型为'Microsoft.SqlServer.Management.Sdk.Sfc.SfcMissingParentException'的异常
“必须设置父级才能执行此操作。”
var registeredServer = new RegisteredServer(serverGroup, "/RegisteredServersStore/ServerGroup/DatabaseEngineServerGroup/ServerGroup/AzureDatabases/RegisteredServer/Azure-Tests");
registeredServer.ConnectionString = @"....";
registeredServer.Create();
我有SQL Server 2017
和2018
。当我使用此代码时:
private void ConnectToCentralManagementServer()
{
var serverConnection = new ServerConnection
{
LoginSecure = false,
ServerInstance = "localhost",
Login = "UserName",
Password = "Password",
DatabaseName = "Database",
};
var registeredServersStore = new RegisteredServersStore(serverConnection);
var databaseEngineServerGroup = registeredServersStore.ServerGroups["DatabaseEngineServerGroup"];
var serverName = "TestServer";
var registeredServer = new RegisteredServer(serverName)
{
Parent = databaseEngineServerGroup,
ConnectionString = testConnectionString,
Description = "This is a sample connection to Test server",
ServerName = "TestServer",
};
if (databaseEngineServerGroup.RegisteredServers.Count(c => c.Name == serverName) == 0)
{
registeredServer.Create();
}
}
SQL Server 2017
在Central management Servers
部分中可见。
另一方面,我无法注册Azure数据库。我发现它应该注册为Local Servers Group
当我使用此代码时:
private void ConnectToLocalServerGroup()
{
var databaseEngineServerGroup = RegisteredServersStore.LocalFileStore.ServerGroups["DatabaseEngineServerGroup"];
var serverName = "Database on Sever";
var registeredServer = new RegisteredServer(serverName)
{
Parent = databaseEngineServerGroup,
ConnectionString = localConnectionString,
Description = "This is a sample connection to Test server",
ServerName = "Server",
};
if (databaseEngineServerGroup.RegisteredServers.Count(c => c.Name == serverName) == 0)
{
registeredServer.Create();
}
}
SQL Server 2018
在Local Server Groups
部分中可见。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句