Windows kimlik doğrulaması (Transact-sql) kullanarak Witness yansıtma veritabanı ekleme

Bir witness veritabanı ayarlamak için veritabanı sahibi veritabanı altyapısı örneği witness sunucu rolüne atar. Witness sunucu örneği asıl veya yansıtma sunucu örneği aynı bilgisayarda çalıştırabilirsiniz, ancak bu otomatik yerine çalışma sağlamlığı önemli ölçüde azaltır.

Witness ayrı bir bilgisayarda bulunması önerilir. Belirli bir sunucuda birden çok eşzamanlı veritabanı yansıtma oturumlar aynı ya da farklı ortakları ile katılabilirler. Belirli bir sunucuda, bir ortak bazı oturumları ve diğer oturum bir witness olabilir.

Witness yüksek güvenlik modunda otomatik yerine çalışma için özel tasarlanmıştır. Bir witness ayarlamadan önce güvenlik özelliği şu anda tam olarak ayarlanmış olduğundan emin öneririz.

Önemli notÖnemli

Yapılandırma performansı etkileyebilir çünkü yoğun olmayan saatlerde veritabanı yansıtma yapılandırmanız önerilir.

Bir witness kurmak için

  1. Witness sunucu örneği, bir bitiş noktası yansıtma veritabanı için bulunduğundan emin olun. Desteklenmesi için oturum yansıtma sayısını bakılmaksızın, sunucu örneği bitiş noktası yansıtma tek bir veritabanı olmalıdır. Özel oturumu yansıtma veritabanında witness olarak bu sunucuyu kullanmayı düşünüyorsanız, witness bitiş noktası rolü atamak (rolü**=**TANIK). Bu sunucu örneği oturum bir veya daha çok diğer veritabanı yansıtma ortağı olarak kullanmak istiyorsanız, bitiş noktası olarak tüm rolü atayın.

    set WITNESS deyimini yürütmek için oturum yansıtma veritabanı zaten (ortakları arasında) başlatılmalıdır ve witness bitiş noktası durumu başlatıldı için ayarlanmış olması gerekir.

    Witness sunucu örneği bitiş noktası yansıtma veritabanına sahip olup olmadığını öğrenmek ve onun rolünü ve durumu, o örneğe öğrenmek için aşağıdaki Transact-sql deyimini kullanın:

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

    Bitiş noktası yansıtma veritabanı varsa ve zaten kullanılıyor, bu bitiş noktası sunucu örneği her oturum için kullanmanızı öneririz. Kullanımdaki uçnokta bırakarak bağlantılar varolan oturumları bozan. Witness bir oturum için ayarlanmışsa, bitiş noktası yansıtma veritabanı bırakarak asıl sunucu bu oturumunun çekirdek kaybetmeye neden olabilir; oluşursa, veritabanı çevrimdışına ve kullanıcıların bağlantısı kesilir. Daha fazla bilgi için, bkz. Çekirdek: (Veritabanı yansıtma) Veritabanı kullanılabilirlik bir Witness nasıl etkiler.

    Witness bir bitiş noktası yoksa, bkz: Bitiş noktası için Windows kimlik doğrulaması (Transact-sql) yansıtma veritabanı oluşturma.

  2. Ortağı örneği farklı bir etki alanı kullanıcı hesabı altında çalışıyorsa, farklı hesapları için oturum açma ana veritabanında her örneği oluşturun. Daha fazla bilgi için, bkz. Windows kimlik doğrulaması (SQL Server) kullanarak bitiş noktası yansıtma veritabanı ağ erişim izni.

  3. Asıl sunucuya bağlanmasına ve aşağıdaki deyimi:

    alter database <database_name>WITNESS set = <server_network_address>

    Burada <database_name>yansıtılması veritabanının adıdır (Bu her iki ortakları aynı adıdır), ve <server_network_address>witness sunucu örneği sunucu ağ adresi.

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

    TCP**://<system-address>:**<port>

    Burada <system-address> hedef bilgisayarın sistem, belirsizliğe yer bırakmadan tanımlar bir dizedir ve <port> ortak sunucu örneği yansıtma bitiş noktası tarafından kullanılan bağlantı noktası numarası. Daha fazla bilgi için, bkz. (Veritabanı yansıtma) sunucu ağ adresini belirtme.

    Örneğin, asıl sunucu örneği, aşağıdaki alter database deyimini tanık ayarlar. Veritabanı adı AdventureWorks, DBSERVER3 sistem adresidir — tanık sisteminin ve witness bitiş noktası yansıtma veritabanı tarafından kullanılan bağlantı noktası adı 7022:

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

Örnek

Aşağıdaki örnek witness yansıtma veri oluşturur. Witness sunucu örneği üzerinde (varsayılan örnek üzerinde WITNESSHOST4):

  1. Yalnızca bağlantı noktası kullanarak WITNESS rolü için bu sunucu örneği 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. Ortağı etki alanı kullanıcı hesabı için oturum açma örnekler, farklı oluşturun; Örneğin, tanık olarak çalıştığını varsayalım SOMEDOMAIN\witnessuser, ancak ortakları olarak çalışan MYDOMAIN\dbousername. Oturum açma 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. Her ortak sunucu örnekleri, witness sunucu örneği için oturum açma oluşturun:

    --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 witness ayarlayın (which is WITNESSHOST4):

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

[!NOT]

Sunucu ağ adresi, hedef sunucu örneği tarafından örneği yansıtma bitiş noktasına eşleştirir bağlantı noktası numarasını gösterir.

Ortakları ayarlama ve bir witness yansıtma veritabanı hazırlama güvenlik kurulumu gösteren tam bir örnek için bkz: (SQL Server) yansıtma veritabanı ayarlama.

Ayrıca bkz.

Görevler

Windows kimlik doğrulaması (SQL Server) kullanarak bitiş noktası yansıtma veritabanı ağ erişim izni

Bir veritabanı oturumu Windows kimlik doğrulaması (Transact-sql) kullanılarak yansıtma kurmak

Witness Session (Transact-sql) yansıtma veritabanından Kaldır

Başvuru

alter veritabanı (Transact-sql)

Kavramlar

Bitiş noktası için Windows kimlik doğrulaması (Transact-sql) yansıtma veritabanı oluşturma

Witness yansıtma veritabanı

Transact-SQL Settings and Database Mirroring Operating Modes