Реализация конечных точек
Конечная точка представляет собой службу, в функции которой входит прослушивание запросов. В SMO поддерживаются разные типы конечных точек с помощью объекта Endpoint. Для обработки конкретного типа полезных данных можно создать службу конечной точки, которая будет использовать указанный протокол, создав экземпляр объекта Endpoint и настроив его свойства.
Свойство EndpointType объекта Endpoint можно использовать для указания следующих типов полезных данных:
зеркальное отображение базы данных
протокол SOAP
Service Broker
Transact-SQL
Кроме того, свойство ProtocolType можно использовать для указания следующих двух поддерживаемых протоколов:
протокол HTTP;
протокол TCP.
После того как будет указан тип полезных данных, фактически применяемые полезные данные можно установить с помощью свойства Payload объекта. Свойство объекта Payload обеспечивает ссылку на объект полезных данных указанного типа, свойства которого можно изменить.
Для объекта DatabaseMirroringPayload необходимо указать роль для зеркального отображения и отметить, включать ли шифрование. Объекту ServiceBrokerPayload требуются сведения о перенаправлении сообщений, максимальном количестве разрешенных соединений и режиме проверки подлинности. Для объекта SoapPayloadMethod надо указать множество устанавливаемых свойств, включая свойство Add объекта, которое указывает доступные клиентам методы полезных данных SOAP (хранимые процедуры и определяемые пользователем функции).
Аналогично этому фактически применяемый протокол можно установить с помощью свойства Protocol объекта, которое ссылается на объект протокола типа, указанного в свойстве ProtocolType. Объекту HttpProtocol требуется список ограниченных IP-адресов, а также сведения о порте, веб-сайте и проверке подлинности. Объекту TcpProtocol также необходим список ограниченных IP-адресов и сведения о порте.
После того как конечная точка будет создана и полностью определена, можно предоставлять, отменять и запрещать доступ к ней пользователям базы данных, группам, ролям и именам входа.
Пример
В следующем примере кода для создания приложения необходимо выбрать среду программирования, шаблон программирования и язык программирования. Дополнительные сведения см. в разделах Как создать проект SMO на языке Visual Basic в среде Visual Studio .NET и Как создать проект SMO на языке Visual C# в среде Visual Studio .NET.
Создание конечной точки зеркального отображения базы данных на языке Visual Basic
Этот пример кода показывает, как создать конечную точку зеркального отображения базы данных в SMO. Это надо сделать до того, как будет формироваться зеркальное отображение базы данных. Воспользуйтесь свойством IsMirroringEnabled и другими свойствами объекта Database для создания зеркального отображения базы данных.
'Set up a database mirroring endpoint on the server before setting up a database mirror.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Define an Endpoint object variable for database mirroring.
Dim ep As Endpoint
ep = New Endpoint(srv, "Mirroring_Endpoint")
ep.ProtocolType = ProtocolType.Tcp
ep.EndpointType = EndpointType.DatabaseMirroring
'Specify the protocol ports.
ep.Protocol.Http.SslPort = 5024
ep.Protocol.Tcp.ListenerPort = 6666
'Specify the role of the payload.
ep.Payload.DatabaseMirroring.ServerMirroringRole = ServerMirroringRole.All
'Create the endpoint on the instance of SQL Server.
ep.Create()
'Start the endpoint.
ep.Start()
Console.WriteLine(ep.EndpointState)
Создание конечной точки зеркального отображения базы данных на языке Visual C#
Этот пример кода показывает, как создать конечную точку зеркального отображения базы данных в SMO. Это надо сделать до того, как будет формироваться зеркальное отображение базы данных. Воспользуйтесь свойством IsMirroringEnabled и другими свойствами объекта Database для создания зеркального отображения базы данных.
{
//Set up a database mirroring endpoint on the server before
//setting up a database mirror.
//Connect to the local, default instance of SQL Server.
Server srv = new Server();
//Define an Endpoint object variable for database mirroring.
Endpoint ep = default(Endpoint);
ep = new Endpoint(srv, "Mirroring_Endpoint");
ep.ProtocolType = ProtocolType.Tcp;
ep.EndpointType = EndpointType.DatabaseMirroring;
//Specify the protocol ports.
ep.Protocol.Http.SslPort = 5024;
ep.Protocol.Tcp.ListenerPort = 6666;
//Specify the role of the payload.
ep.Payload.DatabaseMirroring.ServerMirroringRole = ServerMirroringRole.All;
//Create the endpoint on the instance of SQL Server.
ep.Create();
//Start the endpoint.
ep.Start();
Console.WriteLine(ep.EndpointState);
}
Создание конечной точки зеркального отображения базы данных на языке PowerShell
Этот пример кода показывает, как создать конечную точку зеркального отображения базы данных в SMO. Это надо сделать до того, как будет формироваться зеркальное отображение базы данных. Воспользуйтесь свойством IsMirroringEnabled и другими свойствами объекта Database для создания зеркального отображения базы данных.
# Set the path context to the local, default instance of SQL Server.
CD \sql\localhost\
$srv = get-item default
#Get a new endpoint to congure and add
$ep = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Endpoint -argumentlist $srv,"Mirroring_Endpoint"
#Set some properties
$ep.ProtocolType = [Microsoft.SqlServer.Management.SMO.ProtocolType]::Tcp
$ep.EndpointType = [Microsoft.SqlServer.Management.SMO.EndpointType]::DatabaseMirroring
$ep.Protocol.Http.SslPort = 5024
$ep.Protocol.Tcp.ListenerPort = 6666 #inline comment
$ep.Payload.DatabaseMirroring.ServerMirroringRole = [Microsoft.SqlServer.Management.SMO.ServerMirroringRole]::All
# Create the endpoint on the instance
$ep.Create()
# Start the endpoint
$ep.Start()
# Report its state
$ep.EndpointState;
См. также