實作端點
端點是可以透過原生方式接聽要求的服務。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);
}