SQL Server Yerel İstemcisinde Veritabanı Aynalama Kullanımı

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform System (PDW)

Note

Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine Always On kullanılabilirlik gruplarını kullanın.

Important

SQL Server Native Client (SNAC) ile birlikte gönderilmez:

  • SQL Server 2022 (16.x) ve sonraki sürümleri
  • SQL Server Management Studio 19 ve sonraki sürümleri

YENI uygulama geliştirme için SQL Server Yerel İstemcisi (SQLNCLI veya SQLNCLI11) ve SQL Server için eski Microsoft OLE DB Sağlayıcısı (SQLOLEDB) önerilmez.

Yeni projeler için aşağıdaki sürücülerden birini kullanın:

SQL Server Veritabanı Altyapısı'nın (sürüm 2012 ile 2019 arasında) bir bileşeni olarak gelen SQLNCLI için, Destek Yaşam Döngüsü özel durumukonusuna bakın.

SQL Server 2005 (9.x) ile tanıtılan veritabanı aynalama, veritabanı kullanılabilirliğini ve veri yedekliğini artırmak için bir çözümdür. SQL Server Native Client, veritabanı yansıtma için örtük destek sağlar, böylece geliştiricinin veritabanı için yapılandırıldıktan sonra herhangi bir kod yazmasına veya başka bir işlem yapmasına gerek kalmaz.

Her veritabanı için uygulanan veritabanı yansıtması, yedek sunucuda SQL Server üretim veritabanının bir kopyasını tutar. Bu sunucu, veritabanı yansıtma oturumunun yapılandırmasına ve durumuna bağlı olarak etkin veya sıcak bir hazır bekleyen sunucudur. Sıcak bekleme sunucusu, taahhüt edilen işlemlerin kaybı olmadan hızlı yedekleme desteğini desteklerken, sıcak bekleme sunucusu zorunlu hizmeti destekler (veri kaybı olasılığıyla).

Üretim veritabanı ana veritabanı olarak adlandırılır ve bekleme kopyası ise aynalı veritabanı olarak adlandırılır. Ana veritabanı ve ayna veritabanı, ayrı SQL Server örneklerinde (sunucu örneklerinde) bulunmalı ve mümkünse ayrı bilgisayarlarda bulunmalıdır.

Ana sunucu olarak adlandırılan üretim sunucusu örneği,ayna sunucusu olarak adlandırılan bekleme sunucusu örneğiyle iletişim kurar. Ana ve ayna sunucuları, bir veritabanı yansıtma oturumunda ortak olarak hareket eder. Ana sunucu arızalanırsa, ayna sunucusu veritabanını failover adı verilen bir süreçle ana veritabanına dönüştürebilir. Örneğin, Partner_A ve Partner_B, asıl veritabanı başlangıçta Partner_A'nın asıl sunucu olarak ve yansıtma veritabanı Partner_B'nin yansıtma sunucusu olarak bulunduğu iki iş ortağı sunucudur. Partner_A çevrimdışı olursa, Partner_B üzerindeki veritabanı geçerli ana veritabanı olarak devreye girebilir. Partner_A yansıtma oturumuna yeniden katılırsa yansıtma sunucusu, veritabanı da yansıtma veritabanı olur.

Alternatif veritabanı yansıtma yapılandırmaları farklı performans ve veri güvenliği düzeyleri sunar ve farklı yük devretme biçimlerini destekler. Daha fazla bilgi için bkz . Veritabanı Yansıtma (SQL Server).

Ayna veritabanı adını belirtirken bir takma ad kullanmak mümkündür.

Note

Yansıtılmış bir veritabanına ilk bağlantı girişimleri ve yeniden bağlantı girişimleri hakkında bilgi için bkz. Connect Clients to a Database Mirroring Session (SQL Server) bölümünü inceleyebilirsiniz.

Programlamayla İlgili Dikkat Edilmesi Gerekenler

Asıl veritabanı sunucusu başarısız olduğunda, istemci uygulaması API çağrılarına yanıt olarak hatalar alır ve bu da veritabanı bağlantısının kaybolduğunu gösterir. Bu olduğunda, veritabanında belirlenmemiş değişiklikler kaybolur ve mevcut işlem geri alınır. Böyle bir durum olursa, uygulama bağlantıyı kapatmalı (veya veri kaynak nesnesini serbest bırakmalı) ve yeniden açmalı. Bağlantı, şeffaf bir şekilde ana sunucu olarak görev yapan ayna veritabanına yönlendirilir.

Bir bağlantı kurulduğunda, asıl sunucu yük devretme gerçekleştiğinde kullanılacak istemciye yük devretme ortağının kimliğini gönderir. Ana sunucu arızalandıktan sonra bir uygulama bağlantı kurmaya çalıştığında, istemci devretme ortağının kimliğini bilmez. İstemcilerin bu senaryoyla başa çıkma fırsatı vermek için, başlatma özelliği ve ona bağlı bir bağlantı dizesi anahtar kelimesi, istemcinin devre ortağının kimliğini kendi başına belirtmesine olanak tanır. İstemci özniteliği yalnızca bu senaryoda kullanılır; Ana sunucu müsait ise kullanılmaz. İstemci tarafından sağlanan devre ortağı sunucusu, bir sunucunun devre ortağı olarak hareket ettiğini ifade etmiyorsa, bağlantı sunucu tarafından reddedilir. Uygulamaların yapılandırma değişikliklerine uyum sağlayabilmesi için, bağlantı kurulduktan sonra öznitelik incelenerek gerçek devre ortağının kimliği belirlenebilir. Bağlantı kurma ilk girişimi başarısız olursa partner bilgilerini önbelleğe almayı düşünmelisiniz ve bağlantı dizesi'i güncellemeyi veya tekrar deneme stratejisi geliştirmenizi önermelisiniz.

Note

Bu özelliği bir DSN, bağlantı dizesi veya bağlantı özelliği/özniteliğinde kullanmak istiyorsanız, bağlantı tarafından kullanılacak veritabanını açıkça belirtmeniz gerekir. SQL Server Native Client, bu yapılmazsa ortak veritabanına geçiş yapmaya çalışmaz.

Yansıtma veritabanının bir özelliğidir. Birden fazla veritabanı kullanan uygulamalar bu özelliği kullanamayabilir.

Ayrıca, sunucu adları büyük harf duyarsızdır, ancak veritabanı adları büyük harf duyarlıdır. Bu nedenle, DSN'lerde ve bağlantı dizilerinde aynı kılıfı kullandığınızdan emin olmalısınız.

SQL Server Native ClientSQL Server Native Client OLE DB Provider

SQL Server Native Client OLE veritabanı sağlayıcısı, bağlantı ve bağlantı dizesi öznitelikleri üzerinden veritabanı aynalamasını destekler. SSPROP_INIT_FAILOVERPARTNER özelliği DBPROPSET_SQLSERVERDBINIT özellik kümesine eklendi ve FailoverPartner anahtar kelimesi DBPROP_INIT_PROVIDERSTRING için yeni bir bağlantı dizesi özniteliğidir. Daha fazla bilgi için bkz. Bağlantı Dizesi Anahtar Sözcüklerini SQL Server Native Client ile kullanma.

Yedekleme önbelleği, sağlayıcı yüklendiği sürece korunur; bu da CoUninitialize çağrılana kadar veya uygulamanın SQL Server Native Client OLE DB sağlayıcısı tarafından yönetilen bir nesneye, örneğin veri kaynağı nesnesine referansı olduğu sürece devam eder.

SQL Server Native Client OLE DB sağlayıcı desteği hakkında bilgi için, veritabanı yansıtma için Başlatma ve Yetkilendirme Özellikleri'ne bakınız.

SQL Server Yerel İstemci ODBC Sürücüsü

SQL Server Native Client ODBC sürücüsü, bağlantı ve bağlantı dizesi öznitelikleri üzerinden veritabanı yansıtmasını destekler. Özellikle, SQL_COPT_SS_FAILOVER_PARTNER özniteliği SQLSetConnectAttr ve SQLGetConnectAttr fonksiyonlarıyla birlikte kullanılmak üzere eklenmiştir; ve Failover_Partner anahtar kelimesi yeni bir bağlantı dizesi özniteliği olarak eklenmiştir.

Yatış önbelleği, uygulamanın en az bir ortam tutacağı tahsis edilmiş olduğu sürece korunur. Buna karşılık, son ortam tutacağı açıldığında kaybolur.

Note

ODBC Sürücü Yöneticisi, yedekleme sunucusu adının belirtilişini destekleyecek şekilde geliştirilmiştir.