エンドポイントは、要求をネイティブにリッスンできるサービスです。 SMO では、 Endpoint オブジェクトを使用して、さまざまな種類のエンドポイントをサポートしています。 特定のプロトコルを使用する特定の種類のペイロードを処理するエンドポイント サービスを作成するには、 Endpoint オブジェクトのインスタンスを作成し、そのプロパティを設定します。
Endpoint オブジェクトの EndpointType プロパティを使用して、次のペイロードの種類を指定できます。
データベース ミラーリング
SOAP (SOAP エンドポイントのサポートは、SQL Server 2008 R2 以前のバージョンの SQL Server に存在します)
サービスブローカー
Transact-SQL
また、 ProtocolType プロパティを使用して、次の 2 つのサポートされているプロトコルを指定できます。
HTTP プロトコル
TCP プロトコル
ペイロードの種類を指定した後は、 Payload オブジェクト プロパティを使用して実際のペイロードを設定できます。 Payload オブジェクト プロパティは、プロパティを変更できる、指定した型のペイロード オブジェクトへの参照を提供します。
DatabaseMirroringPayload オブジェクトの場合は、ミラーリング ロールと暗号化を有効にするかどうかを指定する必要があります。 ServiceBrokerPayload オブジェクトには、メッセージ転送、許可される最大接続数、認証モードに関する情報が必要です。 SoapPayloadMethod オブジェクトでは、クライアントで使用できる SOAP ペイロード メソッド (ストアド プロシージャとユーザー定義関数) を指定するAdd オブジェクト プロパティなど、さまざまなプロパティを設定する必要があります。
同様に、実際のプロトコルは、プロパティで指定された型のプロトコル オブジェクトを参照する Protocol オブジェクト プロパティ ProtocolType 使用して設定できます。 HttpProtocol オブジェクトには、制限付き IP アドレス、ポート、Web サイト、認証情報の一覧が必要です。 TcpProtocol オブジェクトには、制限付き IP アドレスとポート情報の一覧も必要です。
エンドポイントが作成され、完全に定義されると、データベース ユーザー、グループ、ロール、およびログオンに対するアクセスを許可、取り消し、拒否できます。
例
次のコード例では、アプリケーションを作成するために、プログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。 詳細については、「 Visual Studio .NET で Visual Basic SMO プロジェクトを作成する」および「Visual Studio .NETで Visual C# SMO プロジェクトを作成する」を参照してください。
Visual Basic でのデータベース ミラーリング エンドポイント サービスの作成
このコード例では、SMO でデータベース ミラーリング エンドポイントを作成する方法を示します。 これは、データベース ミラーを作成する前に必要です。 データベース ミラーを作成するには、Database オブジェクトのIsMirroringEnabledとその他のプロパティを使用します。
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 = 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 でデータベース ミラーリング エンドポイントを作成する方法を示します。 これは、データベース ミラーを作成する前に必要です。 データベース ミラーを作成するには、Database オブジェクトのIsMirroringEnabledとその他のプロパティを使用します。
# 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;