Kullanılabilirlik Veritabanını Askıya Alma (SQL Server)

Şunlar için geçerlidir: SQL Server

SQL Server'de SQL Server Management Studio, Transact-SQL veya PowerShell kullanarak Always On kullanılabilirlik gruplarında kullanılabilirlik veritabanını askıya alabilirsiniz. Askıya alınacak veya devam ettirilecek veritabanını barındıran sunucu örneğinde bir askıya alma komutu verilmesi gerektiğini unutmayın.

Suspend komutunun etkisi, ikincil veritabanını veya birincil veritabanını aşağıdaki gibi askıya alıp almamanıza bağlıdır:

Askıya Alınan Veritabanı Suspend Komutunun Etkisi
İkincil veritabanı Yalnızca yerel ikincil veritabanı askıya alınır ve eşitleme durumu NOT SYNCHRONIZING olur. Diğer ikincil veritabanları etkilenmez. Askıya alınan veritabanı veri almayı ve uygulamayı durdurur (günlük kayıtları) ve birincil veritabanının gerisinde kalır. Okunabilir ikincil sunucudaki mevcut bağlantılar kullanılabilir durumda kalır. Okunabilir ikincil veritabanında askıya alınan veritabanına yeni bağlantılara, veri taşıma devam edene kadar izin verilmez. Bu davranış yalnızca bağlantılar dinleyici ve salt okunur yönlendirme kullanılarak açıldığında geçerlidir.

Birincil veritabanı kullanılabilir durumda kalır. İlgili ikincil veritabanlarının her birini askıya alırsanız, birincil veritabanı kullanıma sunulur.

** Önemli ** İkincil veritabanı askıya alınırken, ilgili birincil veritabanının gönderme kuyruğu gönderilmemiş işlem günlüğü kayıtlarını biriktirir. İkincil çoğaltma bağlantıları, veri taşıma askıya alındığı sırada kullanılabilir olan verileri döndürür.
Birincil veritabanı Birincil veritabanı, bağlı her ikincil veritabanına veri taşımayı durdurur. Birincil veritabanı kullanıma sunulan modda çalışmaya devam eder. Birincil veritabanı istemciler tarafından kullanılabilir durumda kalır ve okunabilir bir ikincil veritabanındaki mevcut bağlantılar kullanılabilir durumda kalır ve yeni bağlantılar oluşturulabilir.

Note

Always On ikincil veritabanının askıya alınması birincil veritabanının kullanılabilirliğini doğrudan etkilemez. Ancak, ikincil veritabanının askıya alınması birincil veritabanı için yedeklilik ve yük devretme özelliklerini etkileyebilir. Bu durum, yansıtma durumunun hem ayna veritabanında hem de birincil veritabanında askıya alındığı veritabanı yansıtmasından farklıdır. Always On birincil veritabanının askıya alınması, ilgili tüm ikincil veritabanlarında veri taşımayı askıya alır ve birincil veritabanı sürdürülene kadar bu veritabanı için yedeklilik ve yük devretme özellikleri durur.

Başlamadan Önce

Sınırlamalar ve Kısıtlamalar

SUSPEND komutu, hedef veritabanını barındıran kopya tarafından kabul edilir edilmez geri döner, ancak veritabanının askıya alınması aslında eşzamansız olarak gerçekleşir.

Prerequisites

Askıya almak istediğiniz veritabanını barındıran sunucu örneğine bağlı olmanız gerekir. Birincil veritabanını ve buna karşılık gelen ikincil veritabanlarını askıya almak için, birincil çoğaltmayı barındıran sunucu örneğine bağlanın. Birincil veritabanını erişilebilir durumda bırakırken ikincil veritabanını askıya almak için ikincil çoğaltmaya bağlanın.

Recommendations

Performans sorunları sırasında, birincil çoğaltmanın performansını geçici olarak geliştirmek için bir veya daha fazla ikincil veritabanını kısa süre askıya almak yararlı olabilir. İkincil veritabanı askıya alınmış olarak kaldığı sürece, ilgili birincil veritabanının işlem günlüğü kesilemez. Bu, günlük kayıtlarının birincil veritabanında birikmesine neden olur. Bu nedenle, askıya alınmış ikincil veritabanını hızla sürdürmenizi veya kaldırmanızı öneririz. Daha fazla bilgi için, bu konunun ilerleyen bölümlerindeki Devamında: Tam işlem günlüğünden kaçınma bölümüne bakın.

Security

İzinler

Veritabanında ALTER izni gerektirir.

Kullanılabilirlik grubu üzerinde ALTER AVAILABILITY GROUP izni, CONTROL AVAILABILITY GROUP izni, ALTER ANY AVAILABILITY GROUP izni veya CONTROL SERVER izni gerektirir.

SQL Server Management Studio'yu kullanma

Veritabanını askıya almak için

  1. Nesne Gezgini'da, veritabanını askıya almak istediğiniz kullanılabilirlik çoğaltmasını barındıran sunucu örneğine bağlanın ve sunucu ağacını genişletin. Daha fazla bilgi için bu konunun önceki bölümlerinde yer alan Önkoşullar bölümüne bakın.

  2. Always On Yüksek Kullanılabilirlik düğümünü ve Kullanılabilirlik Grupları düğümünü genişletin.

  3. Kullanılabilirlik grubunu genişletin.

  4. Kullanılabilirlik Veritabanları düğümünü genişletin, veritabanına sağ tıklayın ve Veri Taşımayı Askıya Al'a tıklayın.

  5. Veri Taşımayı Askıya Al iletişim kutusunda Tamam'a tıklayın.

    Nesne Gezgini, veritabanı simgesini duraklatma göstergesi görüntüleyecek şekilde değiştirerek veritabanının askıya alındığını gösterir.

Note

Bu çoğaltma konumunda bulunan ek veritabanlarını askıya almak için, her veritabanı için 4. ve 5. adımları tekrarlayın.

Transact-SQL Kullanımı

Veritabanını askıya almak için

  1. Veritabanını askıya almak istediğiniz çoğaltmayı barındıran sunucu örneğine bağlanın. Daha fazla bilgi için bu konunun önceki bölümlerinde yer alan Önkoşullar bölümüne bakın.

  2. Aşağıdaki ALTER DATABASE deyimi kullanarak veritabanını askıya alın:

    ALTER DATABASE database_nameSET HADR SUSPEND;

PowerShell’i kullanma

Veritabanını askıya almak için

  1. Veritabanını askıya almak istediğiniz çoğaltmayı barındıran sunucu örneğinin dizinine geçmek için cd komutunu kullanın. Daha fazla bilgi için bu konunun önceki bölümlerinde yer alan Önkoşullar bölümüne bakın.

  2. Kullanılabilirlik grubunu askıya almak için Suspend-SqlAvailabilityDatabase cmdlet'ini kullanın.

    Örneğin, aşağıdaki komut, Computer\Instance adlı sunucu örneğinde, MyAg kullanılabilirlik grubundaki MyDb3 kullanılabilirlik veritabanı için veri senkronizasyonunu askıya alır.

    Suspend-SqlAvailabilityDatabase `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityDatabases\MyDb3  
    

    Note

    Bir cmdlet'in söz dizimini görüntülemek için SQL Server PowerShell ortamındaki Get-Help cmdlet'ini kullanın. Daha fazla bilgi için bkz. SQL Server PowerShell Yardımı Al.

SQL Server PowerShell sağlayıcısını ayarlamak ve kullanmak için

Devam: Tam İşlem Günlüğü Kullanmaktan Kaçınma

Normalde, bir veritabanında otomatik bir denetim noktası oluşturulduğunda, işlem günlüğü bir sonraki günlük yedeklemesinden sonra bu denetim noktasına kadar kırpılır. Ancak, ikincil bir veritabanı askıya alınırken, tüm geçerli günlük kayıtları birincil veritabanında etkin kalır. İşlem günlüğü dolarsa (boyut üst sınırına ulaştığından veya sunucu örneğinde yer dolduğundan), veritabanı daha fazla güncelleştirme gerçekleştiremez.

Bu sorunu önlemek için aşağıdakilerden birini yapmalısınız:

Dolu işlem günlüğü sorununu gidermek için

İlgili Görevler

Ayrıca Bkz.

Always On Kullanılabilirlik Grupları (SQL Server) Genel Bakış
Kullanılabilirlik Veritabanını Sürdürme (SQL Server)