Поделиться через


Реализация конечных точек

Конечная точка представляет собой службу, в функции которой входит прослушивание запросов. В 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;