(0) exportieren Drucken
Alle erweitern

Lernprogramm: Datenbankspiegelung für hohe Verfügbarkeit in Azure

Letzte Aktualisierung: April 2014

In diesem Lernprogramm wird die vollständige Implementierung der SQL Server-Datenbankspiegelung für hohe Verfügbarkeit erläutert. Dabei kommen virtuelle Azure-Computer im selben Azure-Rechenzentrum zum Einsatz. Bei der Implementierung der Datenbankspiegelung im selben Azure-Rechenzentrum können Sie die Server in einer Active Directory-Domäne bereitstellen oder auf Active Directory verzichten und Zertifikate für die Datenbankspiegelung verwenden. Die zweite Lösung ist kostengünstiger, da sie ohne Domänencontroller und die damit verbundenen Serverstunden auskommt.

In diesem Lernprogramm implementieren Sie die Datenbankspiegelung als Hochverfügbarkeitslösung und verwenden drei virtuelle SQL Server-Computer (VMs), von denen einer als Zeugenserver fungiert. Nach Abschluss des Lernprogramms umfasst die SQL Server-Hochverfügbarkeitslösung folgende Elemente:

  • Einem virtuellen Netzwerk, das mehrere Subnetze, einschließlich eines Front-End- und eines Back-End-Subnetzes, enthält

  • Drei virtuelle SQL Server-Computer (SQL1, SQL2 und SQL3), die im Back-End-Subnetz bereitgestellt werden

  • SQL1 ist der Prinzipaldatenbankserver

  • SQL2 ist der Spiegelungsdatenbankserver

  • SQL3 ist der Zeugenserver

In diesem Lernprogramm sollen die Schritte gezeigt werden, die zum Einrichten der oben beschriebenen Lösungen erforderlich sind, ohne auf alle Details der einzelnen Schritte einzugehen. Statt Ihnen die GUI-Konfigurationsschritte zu zeigen, werden daher PowerShell- und Transact-SQL (T-SQL)-Skripts verwendet, um Sie rasch durch die einzelnen Schritte zu führen. Es wird Folgendes angenommen:

  1. Importieren Sie in einem PowerShell-Fenster auf dem lokalen Computer das Azure-Modul, laden Sie eine Veröffentlichungseinstellungsdatei auf Ihren Computer herunter, und stellen Sie eine Verbindung zwischen der PowerShell-Sitzung und Ihrem Azure-Abonnement her, indem Sie die heruntergeladenen Veröffentlichungseinstellungen importieren.

    Import-Module `
        "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\Azure\Azure.psd1"
    Get-AzurePublishSettingsFile
    Import-AzurePublishSettingsFile <publishsettingsfilepath> 
    

    Der Befehl Get-AzurePublishgSettingsFile generiert automatisch ein Verwaltungszertifikat mit Azure und lädt es auf den Computer herunter. Ein Browser wird automatisch geöffnet, und Sie werden aufgefordert, die Microsoft-Kontoanmeldeinformationen für das Azure-Abonnement einzugeben. Die heruntergeladene PUBLISHINGSETTINGS-Datei enthält alle Informationen, die Sie zum Verwalten des Azure-Abonnements benötigen. Nachdem Sie diese Datei in einem lokalen Verzeichnis gespeichert haben, importieren Sie sie mithilfe des Befehls Import-AzurePublishSettingsFile.

    securityHinweis zur Sicherheit
    Die Datei publishsettings enthält die (nicht codierten) Anmeldeinformationen, die zur Verwaltung der Azure-Abonnements und -Dienste verwendet werden. Die bewährte Sicherheitsmethode für diese Datei besteht darin, sie vorübergehend außerhalb von Quellverzeichnissen (z. B. im Ordner Libraries\Documents) zu speichern und nach dem Import zu löschen. Ein böswilliger Benutzer, der Zugriff auf die Datei publishsettings erlangt, kann die Azure-Dienste erstellen, bearbeiten und löschen.

  2. Definieren Sie eine Reihe von Variablen, die Sie verwenden, um die Cloud-IT-Infrastruktur zu erstellen.

    $location = "West US"
    $affinityGroupName = "ContosoAG" 
    $affinityGroupDescription = "Contoso SQL HADR Affinity Group"
    $affinityGroupLabel = "IaaS BI Affinity Group"
    $workingDir = "C:\script\"
    $networkConfigPath = $workingDir + "NetworkConfig.xml"
    $virtualNetworkName = "ContosoNET"
    $storageAccountName = "<uniquestorageaccountname>"
    $storageAccountLabel = "Contoso SQL HADR Storage Account"
    $storageAccountContainer = "https://" + $storageAccountName + ".blob.core.windows.net/vhds/"
    $serviceName = "<uniqueservicename>"
    $sqlImageName = (Get-AzureVMImage | where {$_.Label -like "SQL Server 2012 SP1 Enterprise*"} | sort PublishedDate -Descending)[0].ImageName 
    $availabilitySetName = "SQLHADR"
    $subnetName = "Back"
    $domainUser = "Administrator"
    $sql1ServerName = "SQL1"
    $sql2ServerName = "SQL2"
    $sql3ServerName = "SQL3"
    $dataDiskSize = 100
    $vmAdminUser = "AzureAdmin" 
    $vmAdminPassword = "Contoso!000"
    

    Beachten Sie Folgendes, um sicherzustellen, dass die Befehle später erfolgreich ausgeführt werden:

    • Die Variablen $storageAccountName und $serviceName müssen eindeutig sein, da sie verwendet werden, um das Cloudspeicherkonto bzw. den Cloud-Dienst im Internet zu identifizieren.

    • Die Namen, die für die Variablen $affinityGroupName und $virtualNetworkName angegeben wurden, werden im Dokument zur Konfiguration des virtuellen Netzwerks konfiguriert, das Sie später verwenden.

    • Zur Vereinfachung wird das Kennwort Contoso!000 während des gesamten Lernprogramms verwendet.

  3. Erstellen Sie eine Affinitätsgruppe.

    New-AzureAffinityGroup `
        -Name $affinityGroupName `
        -Location $location `
        -Description $affinityGroupDescription `
        -Label $affinityGroupLabel
    
  4. Erstellen Sie ein virtuelles Netzwerk, indem Sie eine Konfigurationsdatei importieren.

    Set-AzureVNetConfig `
        -ConfigurationPath $networkConfigPath
    

    Die Konfigurationsdatei enthält das folgende XML-Dokument. Kurz gefasst gibt sie ein virtuelles Netzwerk mit dem Namen ContosoNET in der Affinitätsgruppe ContosoAG an, und sie enthält den Adressraum 10.10.0.0/16 und zwei Subnetze, 10.10.1.0/24 und 10.10.2.0/24, die das Frontend- und das Backend-Subnetz sind. Das Front-End-Subnetz ist der Teil, in dem Sie Clientanwendungen wie Microsoft SharePoint platzieren können, und im Back-End-Subnetz platzieren Sie die virtuellen SQL Server-Computer. Wenn Sie an früherer Stelle die Variablen $affinityGroupName und $virtualNetworkName geändert haben, müssen Sie auch die entsprechenden Namen unten ändern.

    <NetworkConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
      <VirtualNetworkConfiguration>
        <Dns />
        <VirtualNetworkSites>
          <VirtualNetworkSite name="ContosoNET" AffinityGroup="ContosoAG">
            <AddressSpace>
              <AddressPrefix>10.10.0.0/16</AddressPrefix>
            </AddressSpace>
            <Subnets>
              <Subnet name="Front">
                <AddressPrefix>10.10.1.0/24</AddressPrefix>
              </Subnet>
              <Subnet name="Back">
                <AddressPrefix>10.10.2.0/24</AddressPrefix>
              </Subnet>
            </Subnets>
          </VirtualNetworkSite>
        </VirtualNetworkSites>
      </VirtualNetworkConfiguration>
    </NetworkConfiguration>
    
  5. Erstellen Sie ein Speicherkonto, das der erstellten Affinitätsgruppe zugeordnet ist, und legen Sie es dann als aktuelles Speicherkonto für das Abonnement fest.

    New-AzureStorageAccount `
        -StorageAccountName $storageAccountName `
        -Label $storageAccountLabel `
        -AffinityGroup $affinityGroupName
    Set-AzureSubscription `
        -SubscriptionName (Get-AzureSubscription).SubscriptionName `
        -CurrentStorageAccount $storageAccountName
    
  6. Erstellen Sie den ersten virtuellen SQL Server-Computer mit dem Namen SQL1 im neuen Cloud-Dienst und der neuen Verfügbarkeitsgruppe.

    # Create SQL1...
    New-AzureVMConfig `
        -Name $sql1ServerName `
        -InstanceSize Large `
        -ImageName $sqlImageName `
        -MediaLocation "$storageAccountContainer$sql1ServerName.vhd" `
        -AvailabilitySetName $availabilitySetName `
        -HostCaching "ReadOnly" `
        -DiskLabel "OS" | 
        Add-AzureProvisioningConfig `
            -Windows `
            -DisableAutomaticUpdates `
            -AdminUserName $vmAdminUser `
            -Password $vmAdminPassword |
            Set-AzureSubnet `
                -SubnetNames $subnetName |
                Add-AzureEndpoint `
                    -Name "SQL" `
                    -Protocol "tcp" `
                    -PublicPort 1 `
                    -LocalPort 1433 | 
                    New-AzureVM `
                        -ServiceName $serviceName `
                        –AffinityGroup $affinityGroupName `
                        -VNetName $virtualNetworkName
    

    Diese Reihe von weitergeleiteten Befehlen führt die folgenden Schritte aus:

    • New-AzureVMConfig erstellt eine Konfiguration virtueller Computer mit dem gewünschten Verfügbarkeitsgruppennamen. Die folgenden virtuellen Computer werden mit demselben Verfügbarkeitsgruppennamen erstellt, damit sie mit derselben Verfügbarkeitsgruppe verknüpft werden. Mit dem Befehl wird auch das Image von SQL Server 2012 Service Pack 1 Enterprise im Katalog virtueller Computer angegeben.

      Zudem wird der Betriebssystemdatenträger durch New-AzureVMConfig nur auf das Lesecaching (nicht Schreibcaching) festgelegt. Es wird empfohlen, dass Sie die Datenbankdateien zu einem separaten Datenträger migrieren, den Sie an den virtuellen Computer anfügen und ohne Lesen oder Schreiben des Zwischenspeichers konfigurieren. Als zweitbeste Möglichkeit kann das Schreiben im Zwischenspeicher auf dem Betriebssystemdatenträger entfernt werden, da das Lesen des Zwischenspeichers auf dem Betriebssystemdatenträger nicht entfernt werden kann.

    • Add-AzureProvisioningConfig gibt die Konfigurationsparameter eines eigenständigen Windows-Servers an.

    • Set-AzureSubnet platziert den virtuellen Computer im Back-Subnetz.

    • Add-AzureEndpoint fügt einen Zugriffsendpunkt hinzu, damit Clientanwendungen auf die SQL Server-Dienstinstanz im Internet zugreifen können.

    • New-AzureVM erstellt einen neuen Cloud-Dienst und erstellt den neuen virtuellen Azure-Computer im neuen Cloud-Dienst.

  7. Führen Sie die folgenden weitergeleiteten Befehle aus, um die übrigen virtuellen SQL Server-Computer mit den Namen SQL2 und SQL3 zu erstellen.

    # Create SQL2...
    New-AzureVMConfig `
        -Name $sql2ServerName `
        -InstanceSize Large `
        -ImageName $sqlImageName `
        -MediaLocation "$storageAccountContainer$sql2ServerName.vhd" `
        -AvailabilitySetName $availabilitySetName `
        -HostCaching "ReadOnly" `
        -DiskLabel "OS" | 
        Add-AzureProvisioningConfig `
            -Windows `
            -DisableAutomaticUpdates `
            -AdminUserName $vmAdminUser `
            -Password $vmAdminPassword |
            Set-AzureSubnet `
                -SubnetNames $subnetName |
                Add-AzureEndpoint `
                    -Name "SQL" `
                    -Protocol "tcp" `
                    -PublicPort 2 `
                    -LocalPort 1433 | 
                    New-AzureVM `
                        -ServiceName $serviceName
    # Create SQL3...
    New-AzureVMConfig `
        -Name $sql3ServerName `
        -InstanceSize Large `
        -ImageName $sqlImageName `
        -MediaLocation "$storageAccountContainer$sql3ServerName.vhd" `
        -AvailabilitySetName $availabilitySetName `
        -HostCaching "ReadOnly" `
        -DiskLabel "OS" | 
        Add-AzureProvisioningConfig `
            -Windows `
            -DisableAutomaticUpdates `
            -AdminUserName $vmAdminUser `
            -Password $vmAdminPassword |
            Set-AzureSubnet `
                -SubnetNames $subnetName |
                New-AzureVM `
                    -ServiceName $serviceName
     
    
    

    Beachten Sie Folgendes bezüglich der obigen Befehle:

    • New-AzureVMConfig verwendet den gleichen Verfügbarkeitsgruppennamen wie SQL1 und das Image von SQL Server 2012 Service Pack 1 Enterprise Edition im Katalog virtueller Computer.

    • Add-AzureProvisioningConfig gibt die Konfigurationsparameter eines eigenständigen Windows-Servers an.

    • Set-AzureSubnet platziert den virtuellen Computer im Back-Subnetz.

    • Add-AzureEndpoint fügt einen Zugriffsendpunkt hinzu, damit Clientanwendungen auf die SQL Server-Dienstinstanz im Internet zugreifen können. Da SQL3 als Zeugenserver verwendet wird, wird dafür kein Endpunkt angegeben. Beachten Sie, dass SQL1 und SQL2 unterschiedliche Ports zugewiesen werden.

    • New-AzureVM erstellt den neuen virtuellen SQL Server-Computer im gleichen Cloud-Dienst wie SQL1. Sie müssen die virtuellen Computer im gleichen Cloud-Dienst platzieren, wenn sie in der gleichen Verfügbarkeitsgruppe enthalten sein sollen.

  8. Warten Sie, bis jeder virtuelle Computer vollständig bereitgestellt ist, und laden Sie die zugehörige Remotedesktopdatei in das Arbeitsverzeichnis herunter. Die for-Schleife durchläuft die neuen virtuellen Computer und führt für jeden von ihnen die Befehle in den geschweiften Klammern der obersten Ebene aus.

    Foreach ($VM in $VMs = Get-AzureVM -ServiceName $serviceName)
    {
        write-host "Waiting for " $VM.Name "..."
    
        # loop until the VM status is "ReadyRole"
        While ($VM.InstanceStatus -ne "ReadyRole")
        {
            write-host "  Current Status = " $VM.InstanceStatus
            Start-Sleep -Seconds 15
            $VM = Get-AzureVM -ServiceName $VM.ServiceName -Name $VM.InstanceName
        }
    
        write-host "  Current Status = " $VM.InstanceStatus
    
        # Download remote desktop file
        Get-AzureRemoteDesktopFile -ServiceName $VM.ServiceName -Name $VM.InstanceName -LocalPath "$workingDir$($VM.InstanceName).rdp"
    } 
    

In diesem Abschnitt müssen Sie die SQL Server-Standardinstallation auf allen drei Servern ändern. Insbesondere das TCP-Protokoll ist bereits auf dem virtuellen SQL Server-Computer aktiviert. Sie müssen jedoch noch die Firewall für den Remotezugriff von SQL Server öffnen.

Jetzt können Sie beginnen. Führen Sie die folgenden Schritte durch, die für die drei Server identisch sind:

  1. Stellen Sie eine Verbindung mit dem virtuellen Computer her, indem Sie die Remotedesktopdatei starten. Verwenden Sie den Benutzernamen AzureAdmin und das Kennwort Contoso!000 des Computeradministrators, die Sie beim Erstellen des virtuellen Computers angegeben haben.

  2. Warten Sie, bis die automatischen Initialisierungsaufgaben der SQL Server-Installation abgeschlossen sind, bevor Sie fortfahren.

  3. Öffnen Sie ein Windows PowerShell-Fenster im Administratormodus.

  4. Öffnen Sie die Firewall für den Remotezugriff von SQL Server.

    netsh advfirewall firewall add rule name='SQL Server (TCP-In)' program='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\sqlservr.exe' dir=in action=allow protocol=TCP
    

Jetzt können Sie die Datenbankspiegelung auf den drei Servern konfigurieren. Lassen Sie die PowerShell-Fenster auf allen Servern geöffnet, um nachfolgende Schritte ausführen zu können.

  1. Führen Sie SQLCMD.EXE im PowerShell-Fenster auf SQL1 aus, und erstellen und sichern Sie ein Serverzertifikat.

    SQLCMD -S SQL1
    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#1>';
    GO
    
    CREATE CERTIFICATE SQL1_cert WITH SUBJECT = 'SQL1 certificate';
    GO
    
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (LISTENER_PORT=5022, LISTENER_IP = ALL) 
       FOR DATABASE_MIRRORING (AUTHENTICATION = CERTIFICATE SQL1_cert, ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = ALL);
    GO
    
    BACKUP CERTIFICATE SQL1_cert TO FILE = 'SQL1_cert.cer';
    GO 
    
  2. Führen Sie SQLCMD.EXE im PowerShell-Fenster auf SQL2 aus, und erstellen und sichern Sie ein Serverzertifikat.

    SQLCMD -S SQL2
    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';
    GO
    
    CREATE CERTIFICATE SQL2_cert WITH SUBJECT = 'SQL2 certificate for database mirroring';
    GO
    
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (LISTENER_PORT=5022, LISTENER_IP = ALL) 
       FOR DATABASE_MIRRORING (AUTHENTICATION = CERTIFICATE SQL2_cert, ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = ALL);
    GO
    
    BACKUP CERTIFICATE SQL2_cert TO FILE = 'SQL2_cert.cer';
    GO
    
  3. Führen Sie SQLCMD.EXE im PowerShell-Fenster auf SQL3 aus, und erstellen und sichern Sie ein Serverzertifikat.

    SQLCMD -S SQL3
    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#3>';
    GO
    
    CREATE CERTIFICATE SQL3_cert WITH SUBJECT = 'SQL3 certificate for database mirroring';
    GO
    
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (LISTENER_PORT=5022, LISTENER_IP = ALL) 
       FOR DATABASE_MIRRORING (AUTHENTICATION = CERTIFICATE SQL3_cert, ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = ALL);
    GO
    
    BACKUP CERTIFICATE SQL3_cert TO FILE = 'SQL3_cert.cer';
    GO
    
  4. Die Zertifikate werden im Standarddatenverzeichnis gespeichert: C:\Programme\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA. Kopieren Sie die Zertifikate auf den drei Servern in dieselben Verzeichnisse, damit jeder Server über die Zertifikate der beiden anderen Server verfügt. Dazu können Sie einen freigegebenen Ordner auf einem der Server erstellen oder ein lokales Computerlaufwerk an die Remotedesktopsitzung anfügen und zum Übertragen der Dateien nutzen.

  5. Erteilen Sie SQL1 unter Verwendung der zugehörigen Zertifikate Berechtigungen zum Anmelden bei SQL2 und SQL3.

    CREATE LOGIN DBMirroringLogin WITH PASSWORD = 'Contoso!000';
    GO
    
    CREATE USER DBMirroringLogin FOR LOGIN DBMirroringLogin;
    GO
    
    CREATE CERTIFICATE SQL2_cert AUTHORIZATION DBMirroringLogin FROM FILE = 'SQL2_cert.cer'
    GO
    
    CREATE CERTIFICATE SQL3_cert AUTHORIZATION DBMirroringLogin FROM FILE = 'SQL3_cert.cer'
    GO
    
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [DBMirroringLogin];
    GO
    
  6. Erteilen Sie SQL2 unter Verwendung der zugehörigen Zertifikate Berechtigungen zum Anmelden bei SQL1 und SQL3.

    CREATE LOGIN DBMirroringLogin WITH PASSWORD = 'Contoso!000';
    GO
    
    CREATE USER DBMirroringLogin FOR LOGIN DBMirroringLogin;
    GO
    
    CREATE CERTIFICATE SQL1_cert AUTHORIZATION DBMirroringLogin FROM FILE = 'SQL1_cert.cer'
    GO
    
    CREATE CERTIFICATE SQL3_cert AUTHORIZATION DBMirroringLogin FROM FILE = 'SQL3_cert.cer'
    GO
    
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [DBMirroringLogin];
    GO
    
  7. Erteilen Sie SQL3 unter Verwendung der zugehörigen Zertifikate Berechtigungen zum Anmelden bei SQL1 und SQL2.

    CREATE LOGIN DBMirroringLogin WITH PASSWORD = 'Contoso!000';
    GO
    
    CREATE USER DBMirroringLogin FOR LOGIN DBMirroringLogin;
    GO
    
    CREATE CERTIFICATE SQL1_cert AUTHORIZATION DBMirroringLogin FROM FILE = 'SQL1_cert.cer'
    GO
    
    CREATE CERTIFICATE SQL2_cert AUTHORIZATION DBMirroringLogin FROM FILE = 'SQL2_cert.cer'
    GO
    
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [DBMirroringLogin];
    GO
    
  8. Erstellen Sie auf SQL1 eine Datenbank, und führen Sie eine vollständige sowie eine Protokollsicherung aus.

    CREATE database MyDB1
    GO
    
    BACKUP DATABASE MyDB1 TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\MyDB1.bak';
    GO
    
    BACKUP LOG MyDB1 TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\MyDB1.log';
    GO
    
  9. Kopieren Sie die Sicherungsdateien im folgenden Verzeichnis in SQL2: C:\Programme\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP.

  10. Stellen Sie die Datenbanksicherungen mit der WITH NORECOVERY-Option auf SQL2 wieder her, und aktivieren Sie SQL2 als Spiegelungspartner.

    RESTORE DATABASE MyDB1 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\MyDB1.bak' WITH NORECOVERY;
    GO
    
    RESTORE LOG MyDB1 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\MyDB1.log' WITH NORECOVERY;
    GO
    
    ALTER DATABASE MyDB1 SET PARTNER = 'TCP://SQL1:5022';
    GO
    
  11. Aktivieren Sie SQL1 auf SQL1 als Spiegelungspartner und SQL3 als Zeugenserver.

    ALTER DATABASE MyDB1 SET PARTNER = 'TCP://SQL2:5022';
    GO
    
    ALTER DATABASE MyDB1 SET WITNESS = 'TCP://SQL3:5022';
    GO
    

Gratulation! Sie haben erfolgreich eine Datenbankspiegelungslösung unter Verwendung von Zertifikaten auf virtuellen Azure-Computern eingerichtet. Öffnen Sie den Datenbankspiegelungs-Monitor, um sicherzustellen, dass die Datenbank-Spiegelungssitzung synchronisiert ist. Weitere Informationen zum Datenbankspiegelungs-Monitor finden Sie unter Starten des Datenbankspiegelungs-Monitors (SQL Server Management Studio).

Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft