共用方式為


實作端點

端點是可以透過原生方式接聽要求的服務。SMO 藉由使用 Endpoint 物件來支援各種端點類型。您可以藉由建立 Endpoint 物件的執行個體和設定其屬性,建立處理特定裝載類型的端點服務 (此類服務使用特定的通訊協定)。

Endpoint 物件的 EndpointType 屬性可用於指定下列其中一個裝載類型:

  • 資料庫鏡像

  • SOAP

  • Service Broker

  • Transact-SQL

此外,ProtocolType 屬性也可用於指定下列兩種支援的通訊協定:

  • HTTP 通訊協定

  • TCP 通訊協定

在指定裝載類型之後,就可以使用 Payload 物件屬性設定實際的裝載。Payload 物件屬性針對可修改其屬性的指定類型,提供裝載物件的參考。

如果是 DatabaseMirroringPayload 物件,則您必須指定鏡像角色以及是否啟用加密。ServiceBrokerPayload 物件需要訊息轉送、允許的最大連接數目以及驗證模式的相關資訊。SoapPayloadMethod 物件需要設定多個屬性,包括 Add 物件屬性,此屬性會指定用戶端可用的 SOAP 裝載方法 (預存程序和使用者定義函數)。

同樣地,實際的通訊協定也可使用 Protocol 物件屬性來設定,此屬性會參考 ProtocolType 屬性所指定類型的通訊協定物件。HttpProtocol 物件需要受限 IP 位址的清單,以及通訊埠、網站和驗證資訊。TcpProtocol 物件也需要受限 IP 位址的清單和通訊埠資訊。

在建立和完整地定義端點後,就可以對資料庫使用者、群組、角色和登入等授與、撤銷和拒絕存取權限。

範例

在下列的程式碼範例中,您必須選取用於建立應用程式的程式設計環境、程式設計範本和程式設計語言。如需詳細資訊,請參閱<如何:在 Visual Studio .NET 中建立 Visual Basic SMO 專案>和<如何:在 Visual Studio .NET 中建立 Visual C# SMO 專案>。

在 Visual Basic 中建立資料庫鏡像端點服務

此程式碼範例示範如何在 SMO 中建立資料庫鏡像端點。您必須先進行這項作業,才能建立資料庫鏡像。請使用 Database 物件上的 IsMirroringEnabled 和其他屬性建立資料庫鏡像。

'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 中建立資料庫鏡像端點。您必須先進行這項作業,才能建立資料庫鏡像。請使用 Database 物件上的 IsMirroringEnabled 和其他屬性建立資料庫鏡像。

//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 = default(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); 
}