Aracılığıyla paylaş


Nasıl Yapılır: Bir veritabanı yansıtması şahit kullanarak Windows kimlik doğrulaması'nı (Transact-SQL) ekleyin.

Bir veritabanı için bir şahit ayarlamak için , bir veritabanı altyapısı veritabanı sahibi atar örnek tanık sunucu rolü için.Şahit sunucuyu sorumlusu veya yansıtmayı sunucuyu aynı bilgisayarda çalıştırabilirsiniz, ancak bu otomatik yerine sağlamlık önemli ölçüde azaltır.

Şahit ayrı bir bilgisayarda bulunması önerilir.Belirli BIR sunucuda birden çok eşzamanlı veritabanı oturumlarının aynı veya farklı ortaklarıyla yansıtma katılabilirsiniz.Bazı oturumlarına bir ortak ve bir şahit başka oturum, belirli BIR sunucuda olabilir.

Şahit, özel olarak yüksek güvenlik modunda otomatik yük devretme için düşünülmüştür.Bir şahit önce SAFETY özellik FULL için şu anda küme olduğundan emin öneririz.

Important noteImportant Note:

Çünkü bu yapılandırma, performansı etkileyebilir, yoğun olmayan saatlerde veritabanı yansıtması yapılandırmanız önerilir.

Bir şahit kurmak için

  1. Üzerinde tanık sunucu örnekveritabanı yansıtması için bir son nokta bulunduğundan emin olun.Oturum desteklenmeye yansıtma sayısı ne olursa olsun, yalnızca bir sunucu örnek olmalıdır veritabanı yansıtması bitiş noktası.Bir şahit özel olarak bu sunucuyu kullanmayı düşündüğünüz veritabanı yansıtması oturumlar, ROLE (bitiş noktası için şahit rolünü atayın.**=**ŞAHİT).Bir veya daha çok diğer ortağı olarak bu sunucuyu kullanmayı düşünüyorsanız veritabanı yansıtması oturumlar, son nokta olarak ALL rolünü atayın.

    Bir küme ŞAHIT deyimini yürütmek için veritabanı yansıtması oturumu (iş ortakları arasında) zaten başlatılmış olmalıdır ve şahit son nokta DURUMU BAŞLATıLDı için küme olması gerekir.

    Bilgi edinmek için olup olmadığını tanık sunucu bitiş noktası yansıtma, kendi veritabanı örneği var ve onun rolünü ve durumu, bu örnek, bilgi edinmek için aşağıdaki Transact-SQL deyim kullanın:

    SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints
    
    Important noteImportant Note:

    Varsa bir veritabanı yansıtması bitiş noktası var ve kullanılmakta olan, her oturumun sunucu üzerindeki bu bitiş noktası kullanmanızı öneririz.Kullanımdaki son nokta bırakarak, varolan tüm oturumların bağlantılarının bozar.Bir oturum için bir şahit ayarlanmamışsa bırakarak veritabanı yansıtması bitiş noktası, asıl sunucu bu oturumunun çekirdek kaybetmenize neden olabilir; bu, bir durum ortaya çıkarsa, veritabanını çevrimdışı olarak alınır ve bu, kullanıcıların bağlantısı kesilir.Daha fazla bilgi için bkz:Çekirdek: Nasıl bir şahit veritabanı kullanılabilirliğini etkiler..

    Şahit bir bitiş noktası yoksa, bkz: Nasıl Yapılır: Windows kimlik doğrulaması (Transact-SQL) ikizleme bir bitiş noktası oluşturma.

  2. Ortak örnekleri farklı bir etki alanı kullanıcı hesapları altında çalışan, farklı hesapları için bir oturum Yöneticisi her örnek veritabanında oluşturun.Daha fazla bilgi için bkz:Nasıl Yapılır: Windows kimlik doğrulaması (Transact-SQL) kullanan ağ erişimi veritabanı yansıtması izin ver.

  3. asıl sunucu bağlanmasına ve aşağıdaki deyim:

    ALTER DATABASE <database_name> SET WITNESS =<server_network_address>

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

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

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

    burada <Sistem adresi> Hedef bilgisayar sisteminin, belirsizliğe yer bırakmadan tanımlayan dize ve <Bağlantı Noktası> bağlantı noktası numarasını, ortak sunucu örnek yansıtma bitiş noktası tarafından kullanılır. Daha fazla bilgi için bkz:(veritabanı yansıtması), sunucu bir ağ adresi belirleme.

    Örneğin, asıl sunucu örnek, şahit aşağıdaki ALTER DATABASE deyimini ayarlar.Veritabanı adı AdventureWorkssistem adresi DBSERVER3 ise — şahit sistem ve bir bitiş noktası şahit veritabanı yansıtması tarafından kullanılan bağlantı noktası adıdır 7022:

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

Example

Aşağıdaki örnek, veri şahit yansıtma oluşturur.Şahit sunucuda örnek (varsayılan örnek hakkında WITNESSHOST4):

  1. Yalnızca bağlantı noktası kullanarak ŞAHIT rol için bu sunucu için bir son nokta oluşturun 7022.

    CREATE ENDPOINT Endpoint_Mirroring
        STATE=STARTED 
        AS TCP (LISTENER_PORT=7022) 
        FOR DATABASE_MIRRORING (ROLE=WITNESS)
    GO
    
  2. Bir oturum açma etki alanı kullanıcı hesabının ortak örnekler, farklı oluşturun; örneğin, şahit olarak çalıştığını varsayar. SOMEDOMAIN\witnessuser, ancak ortak olarak MYDOMAIN\dbousername. Bir oturum açma için ortaklar, 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. Her ortak sunucu örnekleri, tanık sunucu örnek için bir oturum oluşturma:

    --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 (olan üzerinde şahit ayarlayın. WITNESSHOST4):

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

Not

Sunucuyu ağ adresi, hedef sunucu örnek tarafından örneğinin yansıtma bitiş noktasına eşleştiren bir bağlantı noktası numarasını gösterir.

Güvenlik ayarı, ortaklarına ayarlama ve bir şahit, ekleyerek yansıtma veritabanı hazırlama gösteren eksiksiz bir örnek için bkz: veritabanı yansıtması Kur ayarlama.