alter database veritabanı yansıtma (Transact-SQL)

veritabanı yansıtması veritabanını denetler.veritabanı yansıtması seçenekleriyle belirtilen değerler, her iki veritabanı kopyası ve veritabanı yansıtmasıoturum bir bütün olarak geçerlidir. Tek bir veritabanı yansıtması seçeneği alter database deyimizin verilir.

Not

yapılandırma performansı etkileyebilir çünkü, veritabanı yansıtması saatlerde yapılandırmanızı öneririz.

veritabanı yansıtmasıhakkında daha fazla bilgi için bkz: Veritabanı yansıtma Yönetim.alter database diğer seçenekler için bkz: ALTER DATABASE (Transact-SQL).Diğer alter database set seçenekleri için bkz: alter database set seçenekleri (Transact-SQL).

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

ALTER DATABASE database_name 
SET { <partner_option> | <witness_option> }
  <partner_option> ::=
    PARTNER { = 'partner_server' 
            | FAILOVER 
            | FORCE_SERVICE_ALLOW_DATA_LOSS
            | OFF
            | RESUME 
            | SAFETY { FULL | OFF }
            | SUSPEND 
            | TIMEOUT integer
            }
  <witness_option> ::=
    WITNESS { = 'witness_server' 
            | OFF 
            }

Bağımsız değişkenler

Önemli notÖnemli

set ortağı veya TANIĞI set komutunu girdiğinizde başarıyla tamamlanması, ancak daha sonra başarısız.

  • database_name
    Değiştirilecek olan veritabanının adıdır.

  • Ortak <partner_option>
    Yerine çalışma ortağı veritabanı yansıtması oturum ve davranışlarını tanımlayan veritabanı özelliklerini denetler.Bazı ortak set seçenekleri küme ya da ortakolabilir; diğerleri asıl sunucu veya yansıtma sunucusukısıtlanır.Daha fazla bilgi için izleyen tek tek ortağı seçeneklere bakın.Veritabanı, belirtilen ortak ne olursa olsun her iki kopyası set ortağı yan tümce etkiler.

    yürütmek için bir set ortağı deyim, her iki ortakları bitiş noktaları durumunu küme BAŞLADI olmalıdır.Ayrıca küme ortağı veya tüm veritabanı yansıtması bitiş noktası her ortak sunucu örnek ROLÜ olması gerektiğini unutmayın.Bir bitiş noktası belirtme hakkında daha fazla bilgi için bkz: Nasıl yapılır: Windows kimlik doğrulaması (Transact-SQL) yansıtma Endpoint oluştur.Rolü ve bir sunucu örnek, bu örnek, veritabanı yansıtması bitiş noktası durumunu öğrenmek için aşağıdaki kullanın Transact-SQLdeyim:

    SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints
    

    <partner_option> :: =

    Not

    Tek bir <partner_option> set ortağı yan tümceizin verilir.

    • 'partner_server'
      örnek sunucu ağ adresini belirtir SQL Server Yeni veritabanı yansıtmasıoturumyerine çalışma ortak gibi davranma. oturum her iki ortakları gerektirir: biri asıl sunucu, ve diğer yansıtma sunucusuolarak başlayan.Bu ortaklar farklı bilgisayarlarda bulunan öneririz.

      Bu seçenek, belirtilen bir saat her ortak oturum başına kullanılır.veritabanı yansıtmasıoturum başlatma gerektiren iki alter database database set ortağı = 'partner_server' ifadeleri. Bunların sırası önemlidir.İlk yansıtma sunucusubağlanmak ve asıl sunucu örnek olarak belirtmek partner_server (set ortağı ='principal_server').İkinci olarak, asıl sunucubağlanmak ve yansıtma sunucusu örnek olarak belirtmek partner_server (set ortağı ='mirror_server'); Bu, bu iki ortağı arasında veritabanı yansıtması oturum başlatır.Daha fazla bilgi için, bkz. Veritabanı yansıtma yukarı ayarı.

      Değeri partner_server bir sunucu ağ adresi.Bu sözdizimi aşağıdaki gibidir:

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

      burada

      • <Sistem adres> olduğu gibi bir dize, bir sistem adı, bir tam etki alanı adı veya bir IP adresi, belirsizliğe yer bırakmadan tanımlar hedef bilgisayarın sistem.

      • <bağlantı noktası> ortak sunucu örnek yansıtma bitiş noktasıyla ilişkilendirilmiş bir bağlantı noktası numarasıdır.

      Daha fazla bilgi için, bkz. (Veritabanı yansıtma) sunucu ağ adresi belirleme.

      Aşağıdaki örnekte gösterilmektedir set ortağı ='partner_server' yan tümce:

      'TCP://MYSERVER.mydomain.Adventure-Works.com:7777'
      
      Önemli notÖnemli

      Bir oturum küme kurmak yerine alter database deyim kullanarak olup olmadığını SQL Server Management Studio, oturum küme için (EMNİYET olduğu için tam küme ) varsayılan olarak tam hareket güvenlik olduğu ve otomatik yük devretmeolmadan yüksek güvenlik modda çalıştırır.otomatik yük devretmeizin vermek için bir şahit yapılandırma; yüksek performanslı modunda çalıştırmak için (EMNİYET kapalı) hareket emniyet devre dışı bırakın.

    • YÜK DEVRETME
      yansıtma sunucusu asıl sunucu üzerinden el ile başarısız olur.Yalnızca asıl sunucuüzerinde yük DEVRETME belirtebilirsiniz.Bu seçenek, yalnızca güvenlik ayarı tam (varsayılan) olduğunda geçerlidir.

      Yerine çalışma seçeneği gerektirir ana veritabanı içerik olarak.

      Daha fazla bilgi için, bkz. El ile yerine çalışma.

    • FORCE_SERVICE_ALLOW_DATA_LOSS
      otomatik yük devretme oluşmaz zorlar veritabanı hizmet asıl sunucu sonra yansıtma veritabanı veritabanı eşitlenmemiş durumunda veya eşitlenmiş durumda başarısız olduğunda.

      asıl sunucu artık yalnızca çalıştırıyorsa, hizmet zorlama kesinlikle öneririz.Aksi takdirde, bazı istemciler, yeni asıl veritabanıyerine özgün asıl veritabanı erişmek devam edebilir.

      FORCE_SERVICE_ALLOW_DATA_LOSS, yansıtma sunucusu üzerinde yalnızca ve yalnızca aşağıdaki koşullar altında kullanılabilir:

      • kapalı

      • küme off ŞAHİT olduğu veya şahit yansıtma sunucusubağlı.

      Yalnızca, sırayla geri yüklemehizmet için bazı verileri veritabanına hemen kaybetme riski istiyorsanız hizmet zorlama. hizmetzorlamak için alternatifler hakkında daha fazla bilgi için bkz: Zaman uyumsuz veritabanı yansıtma (yüksek performans mod).

      hizmet zorlamak, geçici olarak tüm verileri özgün asıl veritabanıkoruyarak oturumaskıya alır.Özgün patron hizmet ve yeni asıl sunucuile iletişim kurmak mümkün olduğunda, veritabanı yöneticisi hizmetdevam edebilirsiniz.oturum devam ettiğinde gönderilmemiş günlük kayıtları ve ilgili güncelleştirmeleri kaybolur.

      hizmetzorlamak riskleri hakkında daha fazla bilgi için bkz: Zorlanmış Hizmeti'yle (olası veri kaybı).

    • KAPALI
      veritabanı yansıtmasıoturum ve yansıtma veritabanından kaldırır. KAPALI ya da ortakbelirtebilirsiniz.yansıtmakaldırma etkisi hakkında bilgi için bkz: Veritabanı yansıtma kaldırma.

    • RESUME
      Askıya alınan veritabanı yansıtması oturumdevam ettirir.Yalnızca asıl sunucuüzerinde Özgeçmiş belirtebilirsiniz.

    • EMNİYET {TAM | OFF}
      Hareket güvenliği düzey ayarlar.Yalnızca asıl sunucuüzerinde EMNİYET belirtebilirsiniz.

      TAM varsayılandır.Tam emniyet ile veritabanı yansıtması oturum zaman uyumlu olarak çalışır (de yüksek güvenlik modunu).veritabanı yansıtmasıoturum güvenliği küme için off, zaman uyumsuz olarak çalışır (de yüksek performans modu).

      Yüksek güvenlik modunun davranışı gibi kısmen şahit üzerinde bağlıdır:

      • Emniyet küme için tam ve küme oturumiçin bir şahit olduğu zaman, oturum otomatik yük devretmeile yüksek güvenlik modda çalışır.asıl sunucu kaybolursa, oturum otomatik olarak veritabanı eşitlenmiş durumda değil ve yansıtma sunucusuörnek ve şahit hala birbirine bağlı devri (diğer bir deyişle, çekirdeksahip oldukları). Daha fazla bilgi için, bkz. Çekirdek: Veritabanı kullanılabilirlik bir tanığı nasıl etkiler.

        Bir şahit oturum küme , ancak şu anda kesilir, zarar yansıtma sunucusu asıl sunucu gitmek neden olur kapalı.

      • Güvenliği küme tam ve şahit off için küme olduğunda, oturum otomatik yük devretmeolmadan yüksek güvenlik modda çalışır.yansıtma sunucusuörnek kapalıgiderse, asıl sunucuörnek etkilenmez. asıl sunucuörnek kapalıgiderse, yansıtma sunucusuörnek(ile olası veri kaybını) hizmet zorlayabilirsiniz.

      EMNİYET off için küme ise, ' % s'oturumu oturum yüksek performanslı modunda çalışır ve otomatik yük devretme ve elle yük devretme desteklenmez.Ancak, sorunlarına ayna patron etkilemez ve asıl sunucu örnek kapalıgiderse, gerekirse (ile olası veri kaybını) hizmet yansıtma sunucusu örnekzorlayabilirsiniz — ŞAHİT olduğu için off küme veya şahit yansıtmaya şu anda bağlı.hizmetzorlama hakkında daha fazla bilgi için bkz: "force_service_allow_data_loss" daha önce bu bölümde.

      Önemli notÖnemli

      Yüksek performans modu bir şahit kullanmak üzere tasarlanmamıştır.Ancak, her küme için off EMNİYET ŞAHİT off için küme olduğundan emin olun öneririz.

      Daha fazla bilgi için, bkz. Transact-SQL ayarları ve veritabanı yansıtma işletme modları.

    • ASKIYA ALMA
      veritabanı yansıtmasıoturumduraklatır.

      Askıda kalma ya da ortakbelirtebilirsiniz.

    • ZAMAN AŞIMIinteger
      saatbelirtir-saniye cinsinden uğradı.saat-bir sunucu örnek kesileceğini, diğer örnek düşünmeden önce PING iletisi başka bir örnek yansıtmaoturum almak için en fazla saat dönemdir.

      Zaman AŞIMI seçeneği yalnızca asıl sunucubelirtebilirsiniz.Varsayılan olarak bu seçeneği belirtmezseniz, saat aralığı 10 saniyedir.5 Belirtirseniz, ya da daha yeni saat- küme belirtilen saniye sayısı dönemdir.Bir saatbelirtirseniz,-değeri olarak 0-4 saniye, saataşımına-otomatik olarak küme için 5 saniye dönemdir.

      Önemli notÖnemli

      saattutmanızı öneririz-out dönem at 10 saniye ya da daha büyük.Ayar değeri 10 saniyeden daha az bir süre için ping eksik ve yanlış hata bildirme aşırı yüklü bir sistem olasılığını oluşturur.

      Daha fazla bilgi için, bkz. Veritabanı yansıtma sırasında olası hataları.

  • ŞAHİT <witness_option>
    veritabanı yansıtması şahit tanımlayan veritabanı özelliklerini denetler.Her iki veritabanı kopyası ŞAHİT set yan tümce etkiler ancak yalnızca asıl sunucuüzerinde set ŞAHİT belirtebilirsiniz.Bir şahit, bir oturum küme ise, çekirdek veritabanı, güvenlik ayarı ne olursa olsun hizmet için gereklidir; daha fazla bilgi için bkz: Çekirdek: Veritabanı kullanılabilirlik bir tanığı nasıl etkiler.

    Şahit ve yerine çalışma ortağı ayrı bilgisayarlarda barındırılan öneririz.Şahit hakkında daha fazla bilgi için bkz: Şahit yansıtma veritabanı.otomatik yük devretmehakkında daha fazla bilgi için bkz: Otomatik yerine çalışma.

    yürütmek için ŞAHİT set deyim, hem patron hem de tanık sunucu örneği bitiş durumu küme BAŞLADI olmalıdır.Ayrıca küme TANIĞI veya tüm veritabanı yansıtması bitiş noktası tanık sunucuörnek ROLÜ olması gerektiğini unutmayın. Bir bitiş noktası belirtme hakkında daha fazla bilgi için bkz: Bitiş noktası yansıtma veritabanı.

    Rolü ve bir sunucu örnek, bu örnek, veritabanı yansıtması bitiş noktası durumunu öğrenmek için aşağıdaki kullanın Transact-SQLdeyim:

    SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints
    

    Not

    Veritabanı Özellikleri küme şahit olamaz.

    <witness_option> :: =

    Not

    Tek bir <witness_option> AYARLANMIŞ ŞAHİT yan tümceizin verilir.

    • 'witness_server'
      örnek belirtir Veritabanı Altyapısı veritabanı yansıtmasıoturum tanık sunucu gibi davranma. Yalnızca asıl sunucuKÜMESİ ŞAHİT ifadeleri belirtebilirsiniz.

      set ŞAHİT olarak ='witness_server' deyim, sözdizimi witness_server sözdizimi aynıdır partner_server.

    • KAPALI
      Şahit veritabanı yansıtması oturumbağlantısını kaldırır.otomatik yük devretmeoff tanığına ayarını devre dışı bırakır.Veritabanı küme için tam güvenlik şahit off için küme ise, bir hata yansıtma sunucusu asıl sunucu veritabanı kullanılamaz yapmak neden olur.

Örnekler

A.Şahit bir veritabanı yansıtması oturum oluşturma

Bir şahit olan veritabanı yansıtması ayarlama, güvenlik yapılandırma ve yansıtma veritabanıhazırlama ve de ortakları küme için alter database kullanarak gerektirir.Tam kurulum işlemi örneği için bkz: Veritabanı yansıtma yukarı ayarı.

B.Bir veritabanı yansıtmasıoturumüzerinden el ile başarısız

El ile yerine çalışma her iki veritabanı yansıtması ortaktarafından başlatılabilir.Önce devredilmesini geçerli asıl sunucu düşündüğünüz sunucunun gerçekten asıl sunucuolduğunu doğrulamanız gerekir.Örneğin AdventureWorks2008R2 veritabanı, aşağıdaki sorgu geçerli asıl sunucu yürütmek olduğunu düşündüğünüz bu sunucu örnek :

SELECT db.name, m.mirroring_role_desc 
FROM sys.database_mirroring m 
JOIN sys.databases db
ON db.database_id = m.database_id
WHERE db.name = N'AdventureWorks2008R2'; 
GO

Sunucu örnek olgu asıl değeri ise mirroring_role_desc olan Principal.Bu sunucu örnek yansıtma sunucusuolsaydı SELECTreturndeyim Mirror.

Aşağıdaki örnek, sunucu geçerli asıl adı olduğunu varsayar.

  1. El ile veritabanı yansıtması ortakdevri:

    ALTER DATABASE AdventureWorks2008R2 SET PARTNER FAILOVER;
    GO
    
  2. Yerine çalışma yeni yansıtma aşağıdaki sorgu yürütmek üzerindeki sonuçlar doğrulamak için:

    SELECT db.name, m.mirroring_role_desc 
    FROM sys.database_mirroring m 
    JOIN sys.databases db
    ON db.database_id = m.database_id
    WHERE db.name = N'AdventureWorks2008R2'; 
    GO
    

    Cari değerini mirroring_role_desc artık Mirror.