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


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

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

Конечная точка представляет собой службу, в функции которой входит прослушивание запросов. В SMO поддерживаются разные типы конечных точек с помощью объекта Endpoint. Для обработки конкретного типа полезных данных можно создать службу конечной точки, которая будет использовать указанный протокол, создав экземпляр объекта Endpoint и настроив его свойства.

Свойство EndpointType объекта Endpoint может использоваться для указания следующих типов полезных данных:

  • Зеркальное отображение базы данных

  • SOAP (поддержка конечных точек SOAP присутствует в SQL Server 2008 R2 (10.50.x) и более ранних версиях SQL Server.

  • Service Broker

  • Transact-SQL

Кроме того, свойство ProtocolType может использоваться для указания следующих двух поддерживаемых протоколов:

  • Протокол HTTP

  • Протокол TCP.

После того как будет указан тип полезных данных, фактически применяемые полезные данные можно установить с помощью свойства Payload объекта. Свойство объекта Payload обеспечивает ссылку на объект полезных данных указанного типа, свойства которого можно изменить.

Для объекта DatabaseMirroringPayload необходимо указать роль для зеркального отображения и отметить, включать ли шифрование. Объекту ServiceBrokerPayload требуются сведения о перенаправлении сообщений, максимальном количестве разрешенных соединений и режиме проверки подлинности. Для объекта SoapPayloadMethod надо указать множество устанавливаемых свойств, включая свойство Add объекта, которое указывает доступные клиентам методы полезных данных SOAP (хранимые процедуры и определяемые пользователем функции).

Аналогично этому фактически применяемый протокол можно установить с помощью свойства Protocol объекта, которое ссылается на объект протокола типа, указанного в свойстве ProtocolType. Объекту HttpProtocol требуется список ограниченных IP-адресов, а также сведения о порте, веб-сайте и проверке подлинности. Объекту TcpProtocol также необходим список ограниченных IP-адресов и сведения о порте.

После того как конечная точка будет создана и полностью определена, можно предоставлять, отменять и запрещать доступ к ней пользователям базы данных, группам, ролям и именам входа.

Пример

В следующем примере кода для создания приложения необходимо выбрать среду программирования, шаблон программирования и язык программирования. Дополнительные сведения см. в статье "Создание проекта 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;  

См. также

Конечная точка зеркального отображения базы данных (SQL Server)