Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Endpunkt ist ein Dienst, der nativ auf Anforderungen lauschen kann. SMO unterstützt verschiedene Arten von Endpunkten mithilfe des Endpoint Objekts. Sie können einen Endpunktdienst erstellen, der einen bestimmten Nutzlasttyp verarbeitet, der ein bestimmtes Protokoll verwendet, indem Sie eine Instanz eines Endpoint Objekts erstellen und seine Eigenschaften festlegen.
Die EndpointType Eigenschaft des Endpoint Objekts kann verwendet werden, um die folgenden Nutzlasttypen anzugeben:
Datenbankspiegelung
SOAP (Unterstützung für SOAP-Endpunkte ist in SQL Server 2008 R2 und früheren SQL Server-Versionen vorhanden)
Dienstvermittler
Transact-SQL
Außerdem kann die ProtocolType Eigenschaft verwendet werden, um die folgenden beiden unterstützten Protokolle anzugeben:
HTTP-Protokoll
TCP-Protokoll
Nachdem der Typ der Nutzlast angegeben wurde, kann die tatsächliche Nutzlast mithilfe der Payload Objekteigenschaft festgelegt werden. Die Payload Objekteigenschaft stellt einen Verweis auf ein Nutzlastobjekt des angegebenen Typs bereit, für das die Eigenschaften geändert werden können.
Für das DatabaseMirroringPayload Objekt müssen Sie die Spiegelungsrolle angeben und angeben, ob die Verschlüsselung aktiviert ist. Das ServiceBrokerPayload Objekt erfordert Informationen zur Nachrichtenweiterleitung, zur maximalen Anzahl zulässiger Verbindungen und zum Authentifizierungsmodus. Für das SoapPayloadMethod Objekt müssen verschiedene Eigenschaften festgelegt werden, einschließlich der Add Objekteigenschaft, die die SOAP-Nutzlastmethoden angibt, die clients zur Verfügung stehen (gespeicherte Prozeduren und benutzerdefinierte Funktionen).
Ebenso kann das tatsächliche Protokoll mithilfe der Protocol Objekteigenschaft festgelegt werden, die auf ein Protokollobjekt des typs verweist, der durch ProtocolType die Eigenschaft angegeben wird. Das HttpProtocol Objekt erfordert eine Liste eingeschränkter IP-Adressen sowie Port-, Website- und Authentifizierungsinformationen. Das TcpProtocol Objekt erfordert auch eine Liste der eingeschränkten IP-Adressen und Portinformationen.
Wenn der Endpunkt erstellt und vollständig definiert wurde, kann der Zugriff auf Datenbankbenutzer, Gruppen, Rollen und Anmeldungen gewährt, widerrufen und verweigert werden.
Beispiel
Im folgenden Codebeispiel müssen Sie die Programmierumgebung, die Programmiervorlage und die Programmiersprache auswählen, um Ihre Anwendung zu erstellen. Weitere Informationen finden Sie unter Erstellen eines Visual Basic-SMO-Projekts in Visual Studio .NET und Erstellen eines Visual C#-SMO-Projekts in Visual Studio .NET.
Erstellen eines Datenbankspiegelungsendpunktdiensts in Visual Basic
Das Codebeispiel veranschaulicht, wie ein Datenbankspiegelungsendpunkt in SMO erstellt wird. Dies ist erforderlich, bevor Sie eine Datenbankspiegelung erstellen. Verwenden Sie die IsMirroringEnabled und andere Eigenschaften für das Database Objekt, um eine Datenbankspiegelung zu erstellen.
Erstellen eines Datenbankspiegelungsendpunktdiensts in Visual C#
Das Codebeispiel veranschaulicht, wie ein Datenbankspiegelungsendpunkt in SMO erstellt wird. Dies ist erforderlich, bevor Sie eine Datenbankspiegelung erstellen. Verwenden Sie die IsMirroringEnabled und andere Eigenschaften für das Database Objekt, um eine Datenbankspiegelung zu erstellen.
{
//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);
}
Erstellen eines Datenbankspiegelungsendpunktdiensts in PowerShell
Das Codebeispiel veranschaulicht, wie ein Datenbankspiegelungsendpunkt in SMO erstellt wird. Dies ist erforderlich, bevor Sie eine Datenbankspiegelung erstellen. Verwenden Sie die IsMirroringEnabled und andere Eigenschaften für das Database Objekt, um eine Datenbankspiegelung zu erstellen.
# 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;