Nasıl yapılır: Şahit Windows kimlik doğrulaması (Transact-SQL) kullanarak yansıtma veritabanı ekleme

İçin küme kadar şahit bir veritabanı için veritabanı sahibi veritabanı altyapısı örnekne tanık sunucu rolüne atar.tanık sunucu örnek asıl olarak aynı bilgisayarda çalıştırabilir veya yansıtma sunucusu örnek, ancak bu otomatik yük devretme sağlamlığı önemli ölçüde azaltır.

Şahit ayrı bir bilgisayarda bulunması önerilir.Belirli bir sunucuda aynı anda birden çok veritabanında katılabilir yansıtma aynı veya farklı ortakları ile oturumlar.Belirli bir sunucuda bir ortak bulunan bazı oturumları ve diğer oturum bir şahit olabilir.

Şahit otomatik yük devretme ile yüksek güvenlik modu için özel olarak hazırlanmıştır.Bir şahit ayarlamadan önce güvenlik özellik şu anda tam olarak küme olduğundan emin öneririz.

Önemli notÖnemli

Veritabanı yapılandırmanız önerilir yansıtma saatlerde yapılandırma performansı etkileyebilir çünkü.

Bir şahit kurmak için

  1. tanık sunucu örneği, son nokta için veritabanının varolup olmadığını yansıtma.Desteklenmesi için oturum yansıtma sayısını ne olursa olsun, sunucu örnek yalnızca birinin olması veritabanı yansıtması son nokta.Bu sunucu örnek yalnızca veritabanındaki bir şahit olarak kullanmayı düşündüğünüz yansıtma oturumlar, bitiş noktasına şahit rolünü atamak (ROLÜ**=**ŞAHİT).Bu sunucu örnek diğer veritabanındaki bir veya daha fazla ortak olarak kullanmayı düşünüyorsanız, yansıtma oturumlar, bitiş noktası olarak tüm rolünü atayın.

    küme ŞAHİT yürütmek için deyim, oturum yansıtma veritabanı zaten (iş ortakları arasında) başlatılmalıdır ve şahit nokta durumu başlatıldı için küme olması gerekir.

    Öğrenmek için mi tanık sunucu örnek bitiş noktası yansıtma veritabanına sahiptir ve onun rolünü ve durumu, o bilgi edinmek için örnek, aşağıdaki Transact-SQL deyim kullanın:

    SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints
    
    Önemli notÖnemli

    Bir veritabanı, yansıtma bitiş noktası var ve zaten kullanılıyor, bu bitiş noktası sunucu örnek her oturum için kullanmanızı öneririz.Varolan oturumları bağlantıları kullanımda son nokta bırakarak bozar.Bir şahit olmuştur, küme bir oturum için patron Sunucu Çekirdek; kaybetmesine oturumun bitiş noktası yansıtma veritabanını neden olabilir Böyle olursa, veritabanı çevrimdışına ve onun kullanıcıların bağlantısı kesilir.Daha fazla bilgi için bkz: Çekirdek: Veritabanı kullanılabilirlik bir tanığı nasıl etkiler.

    Şahit bir bitiş noktası yoksa, bkz: Nasıl yapılır: Windows kimlik doğrulaması (Transact-SQL) yansıtma Endpoint oluştur.

  2. Farklı bir etki alanı kullanıcı hesapları altında çalışan ortak örnekler, farklı hesapları için oturum açma oluşturun asıl veritabanı her örneğinin.Daha fazla bilgi için bkz: Nasıl yapılır: Windows kimlik doğrulaması (Transact-SQL) kullanarak ağ erişimi yansıtma veritabanı izin.

  3. Bağlanmak asıl sunucu ve aşağıdaki deyim sorun:

    ALTER DATABASE <database_name> SET WITNESS =<server_network_address>

    Burada <veritabanı_adı> yansıtılması veritabanının adıdır (Bu adıdır her iki ortakları aynı), ve <server_network_address> sunucu ağ adresi tanık sunucu örnek.

    Sunucu ağ adresi için sözdizimi aşağıdaki gibidir:

    tcp**: / /<sistem adres>:**<bağlantı noktası>

    Burada <Sistem adres> olan bir dize , hedef bilgisayar sistemi belirsizliğe yer bırakmadan tanımlar ve <bağlantı noktası> bağlantı noktası tarafından kullanılır yansıtma bitiş noktası ortak sunucu örnek.Daha fazla bilgi için bkz: (Veritabanı yansıtma) sunucu ağ adresi belirleme.

    Örneğin, asıl sunucu örneği, aşağıdaki alter database üzerinde deyim şahit ayarlar.Veritabanı adı AdventureWorks2008R2, DBSERVER3 sistem adresidir — şahit sistem ve veritabanı tarafından kullanılan bağlantı noktası adını yansıtma şahit tünel bitiş noktası olan 7022:

    ALTER DATABASE AdventureWorks2008R2 
      SET WITNESS = 'TCP://DBSERVER3:7022'
    

Örnek

Aşağıdaki örnek, bir veri şahit yansıtma oluşturur.tanık sunucu örneği üzerinde (varsayılan örnek üzerinde WITNESSHOST4):

  1. Bağlantı noktası kullanarak yalnızca ŞAHİT rol için bu sunucu örnek için bir bitiş noktası oluşturma 7022.

    CREATE ENDPOINT Endpoint_Mirroring
        STATE=STARTED 
        AS TCP (LISTENER_PORT=7022) 
        FOR DATABASE_MIRRORING (ROLE=WITNESS)
    GO
    
  2. Create a login for domain user account of partner instances, if different; for example, assume that the witness is running as SOMEDOMAIN\witnessuser, but the partners are running as MYDOMAIN\dbousername.Oturum açma iş ortakları için aşağıdaki gibi oluşturun:

    --Create a login for the partner server instances,
    --which are both running as MYDOMAIN\dbousername:
    USE master ;
    GO
    CREATE LOGIN [MYDOMAIN\dbousername] FROM WINDOWS ;
    GO
    --Grant connect permissions on endpoint to login account 
    --of partners
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MYDOMAIN\dbousername];
    GO
    
  3. Ortak sunucu üzerinde örneks, tanık sunucu için oturum açma oluşturun örnek:

    --Create a login for the witness server instance,
    --which is running as SOMEDOMAIN\witnessuser:
    USE master ;
    GO
    CREATE LOGIN [SOMEDOMAIN\witnessuser] FROM WINDOWS ;
    GO
    --Grant connect permissions on endpoint to login account 
    --of partners
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SOMEDOMAIN\witnessuser];
    GO
    
  4. Asıl sunucu üzerinde küme şahit (üzerinde olduğu WITNESSHOST4):

    ALTER DATABASE AdventureWorks2008R2 
        SET WITNESS = 
        'TCP://WITNESSHOST4:7022'
    GO
    

Not

Sunucu ağ adresi, hedef sunucu örnek tarafından eşler örnek yansıtma bitiş noktası için bağlantı noktası numarasını gösterir.

Ortakları ayarlama ve bir şahit ekleyerek yansıtma veritabanı hazırlama güvenlik Kurulumu gösteren tam bir örnek için bkz: Veritabanı yansıtma yukarı ayarı.