Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konuda, Transact-SQL kullanarak SQL Server'de Windows Kimlik Doğrulaması kullanan bir veritabanı yansıtma uç noktasının nasıl oluşturulacağı açıklanmaktadır. Veritabanı yansıtmayı veya Always On kullanılabilirlik gruplarını desteklemek için her SQL Server örneği bir veritabanı yansıtma uç noktası gerektirir. Bir sunucu örneğinde, tek bir bağlantı noktasına sahip yalnızca bir veritabanı yansıtma uç noktası olabilir. Veritabanı yansıtma uç noktası, uç nokta oluşturulduğunda yerel sistemde kullanılabilen herhangi bir bağlantı noktasını kullanabilir. Sunucu örneğindeki tüm veritabanı yansıtma oturumları bu bağlantı noktasını dinler ve veritabanı yansıtması için gelen tüm bağlantılar bu bağlantı noktasını kullanır.
Important
Veritabanı yansıtma uç noktası varsa ve zaten kullanılıyorsa, bu uç noktayı kullanmanızı öneririz. Kullanımdaki bir uç noktanın silinmesi mevcut oturumları kesintiye uğratır.
Security
Sunucu örneğinin kimlik doğrulama ve şifreleme yöntemleri sistem yöneticisi tarafından oluşturulur.
Warning
RC4 algoritması kullanım dışıdır. 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. AES kullanmanızı öneririz.
İzinler
CREATE ENDPOINT Sabit sunucu rolünde sysadmin izin veya üyelik gerektirir. Daha fazla bilgi için bkz GRANT . Uç Nokta İzinleri (Transact-SQL).
Transact-SQL Kullanımı
Windows Kimlik Doğrulaması Kullanan Veritabanı Yansıtma Uç Noktası Oluşturmak için
Veritabanı yansıtma uç noktası oluşturmak istediğiniz SQL Server örneğine bağlanın.
Standart çubuğundan Yeni Sorguöğesine tıklayın.
Aşağıdaki deyimi kullanarak veritabanı yansıtma uç noktasının zaten mevcut olup olmadığını belirleyin:
SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints;Important
Sunucu örneği için veritabanı yansıtma uç noktası zaten varsa, sunucu örneğinde oluşturduğunuz diğer oturumlar için bu uç noktayı kullanın.
Windows Kimlik Doğrulaması ile kullanılacak bir uç nokta oluşturmak üzere Transact-SQL kullanmak için bir
CREATE ENDPOINTdeyimi kullanın. deyimi aşağıdaki genel biçimi alır:CREATE ENDPOINT *\<endpointName>* STATE=STARTED AS TCP ( LISTENER_PORT = *\<listenerPortList>* ) FOR DATABASE_MIRRORING ( [ AUTHENTICATION = **WINDOWS** [ *\<authorizationMethod>* ] ] [ [**,**] ENCRYPTION = **REQUIRED** [ ALGORITHM { *\<algorithm>* } ] ] [**,**] ROLE = *\<role>* )Where:
<endpointName> , sunucu örneğinin veritabanı yansıtma uç noktası için benzersiz bir addır.
STARTED, uç noktanın başlatıldığını ve bağlantıları dinlemeye başlayacağını belirtir. Veritabanı yansıtma uç noktası genellikle STARTED durumunda oluşturulur. Alternatif olarak, bir oturumu DURDURULMUŞ durumda (varsayılan) veya DEVRE DIŞI durumda başlatabilirsiniz.
<listenerPortList> , sunucunun veritabanı yansıtma iletilerini dinlemesini istediğiniz tek bir bağlantı noktası numarasıdır (nnnn). Yalnızca TCP'ye izin verilir; başka bir protokolün belirtilmesi hataya neden olur.
Bağlantı noktası numarası, bilgisayar sistemi başına yalnızca bir kez kullanılabilir. Veritabanı yansıtma uç noktası, uç nokta oluşturulduğunda yerel sistemde kullanılabilen herhangi bir bağlantı noktasını kullanabilir. Sistemde TCP uç noktaları tarafından kullanılmakta olan bağlantı noktalarını belirlemek için aşağıdaki Transact-SQL deyimini kullanın:
SELECT name, port FROM sys.tcp_endpoints;Important
Her sunucu örneği bir ve yalnızca bir benzersiz dinleyici bağlantı noktası gerektirir.
Windows Kimlik Doğrulaması için, uç noktanın bağlantıların kimliğini doğrulamak için yalnızca NTLM veya Kerberos kullanmasını istemiyorsanız, KIMLIK DOĞRULAMA seçeneği isteğe bağlıdır. <authorizationMethod> , bağlantıların kimliğini doğrulamak için kullanılan yöntemi aşağıdakilerden biri olarak belirtir: NTLM, KERBEROS veya NEGOTIATE. Varsayılan olarak NEGOTIATE, uç noktanın NTLM veya Kerberos'u seçmek için Windows anlaşma protokollerini kullanmasına neden olur. Anlaşma, karşı uç noktanın kimlik doğrulama düzeyine bağlı olarak kimlik doğrulamasıyla veya kimlik doğrulaması olmadan bağlantıları etkinleştirir.
Note
Kullanılabilirlik grubu (AG) uç noktaları arasındaki iletişimde Kerberos kimlik doğrulamasını kullanmak için, AG tarafından kullanılan veritabanı yansıtma uç noktaları için Kerberos Bağlantıları için bir Hizmet Asıl Adı kaydedin .
ŞIFRELEME varsayılan olarak GEREKLI olarak ayarlanır. Bu, bu uç noktaya yapılan tüm bağlantıların şifreleme kullanması gerektiği anlamına gelir. Ancak, şifrelemeyi devre dışı bırakabilir veya bir uç noktada isteğe bağlı hale getirebilirsiniz. Alternatifler şunlardır:
Value Definition DISABLED Bağlantı üzerinden gönderilen verilerin şifrelenmediğini belirtir. DESTEKLİ Verilerin yalnızca karşı uç nokta DESTEKLİ veya GEREKLİ olarak belirtildiğinde şifrelendiğini belirtir. GEREKLİ Bağlantı üzerinden gönderilen verilerin şifrelenmesini belirtir. Bir uç nokta şifreleme gerektiriyorsa, diğer uç noktanın ŞIFRELEMESI DESTEKLİ veya GEREKLİ olarak ayarlanmış olmalıdır.
<algoritması> , uç nokta için şifreleme standartlarını belirtme seçeneğini sağlar. Algoritmanın<> değeri aşağıdaki algoritmalardan veya algoritma bileşimlerinden biri olabilir: RC4, AES, AES RC4 veya RC4 AES.
Veritabanı yansıtma uç noktası için AES algoritması 128 bit anahtar uzunluğu kullanır.
AES RC4, bu uç noktanın şifreleme algoritması için anlaşmaya varacağını belirtir ve AES algoritmasını tercih eder. RC4 AES, bu uç noktanın şifreleme algoritması için anlaşacağını belirtir ve RC4 algoritmasını tercih eder. Her iki uç nokta da her iki algoritmayı da farklı sıralarda belirtirse, bağlantıyı kabul eden uç nokta kazanır. Farklı sunucular arasındaki bağlantı hatalarını önlemek için aynı algoritmayı açıkça sağlayın.
Warning
RC4 algoritması kullanım dışıdır. 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. AES kullanmanızı öneririz.
<role> , sunucunun gerçekleştirebileceği rolü veya rolleri tanımlar. ROLE belirtilmesi gereklidir. Ancak uç noktanın rolü yalnızca veritabanı yansıtma için geçerlidir. Always On kullanılabilirlik grupları için uç noktanın rolü yok sayılır.
Bir sunucu örneğinin bir veritabanı yansıtma oturumu için bir rol, başka bir oturumda ise farklı bir rol olarak hizmet vermesine izin vermek için =ALL değerini belirtin ROLE. Bir sunucu örneğini yalnızca partner veya tanık olacak şekilde kısıtlamak için sırasıyla
ROLE = PARTNERveyaROLE = WITNESSbelirtin.Note
SQL Server'daki sürümlerin desteklediği özelliklerin listesi için, SQL Server 2016'nın Sürümleri ve desteklenen özellikleri bölümüne bakınız.
Söz diziminin CREATE ENDPOINT tam açıklaması için bkz CREATE ENDPOINT . (Transact-SQL).
Note
Mevcut uç noktayı değiştirmek için (Transact-SQL) kullanınALTER ENDPOINT.
Örnek: Veritabanı Yansıtmayı Desteklemek için Uç Noktalar Oluşturma (Transact-SQL)
Aşağıdaki örnek, üç ayrı bilgisayar sisteminde varsayılan sunucu örnekleri için veritabanı yansıtma uç noktaları oluşturur:
| Sunucu örneğinin rolü | Ana bilgisayar adı |
|---|---|
| İş ortağı (başlangıçta asıl rolde) | SQLHOST01\. |
| İş ortağı (başlangıçta ayna rolünde) | SQLHOST02\. |
| Witness | SQLHOST03\. |
Bu örnekte, üç uç noktanın tümü 7022 numaralı bağlantı noktasını kullanır; ancak kullanılabilir herhangi bir bağlantı noktası numarası da işe yarar. Uç noktalar varsayılan tür olan Windows Kimlik Doğrulaması'nı kullandığından, AUTHENTICATION seçeneği gereksizdir. Şifreleme seçeneği de gereksizdir çünkü uç noktaların tümü, Windows Kimlik Doğrulaması için varsayılan davranış olan bağlantı için kimlik doğrulama yöntemini belirlemeye yöneliktir. Ayrıca tüm uç noktaların şifrelemesi gerekir ve bu da varsayılan davranıştır.
Her sunucu örneği, iş ortağı veya tanık olarak hizmet vermekle sınırlıdır ve her sunucunun uç noktası hangi rolü (ROLE=PARTNER veya ROLE=WITNESS) açıkça belirtir.
Important
Her sunucu örneğinde yalnızca bir uç nokta olabilir. Bu nedenle, bir sunucu örneğinin bazı oturumlarda iş ortağı, diğerlerinde tanık olmasını istiyorsanız = ALL değerini belirtin ROLE.
--Endpoint for initial principal server instance, which
--is the only server instance running on SQLHOST01.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (ROLE=PARTNER);
GO
--Endpoint for initial mirror server instance, which
--is the only server instance running on SQLHOST02.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (ROLE=PARTNER);
GO
--Endpoint for witness server instance, which
--is the only server instance running on SQLHOST03.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (ROLE=WITNESS);
GO
İlgili Görevler
Veritabanı Yansıtma Uç Noktasını Yapılandırmak için
Veritabanı Yansıtma Uç Noktası için Sertifikalar Kullanma (Transact-SQL)
Kullanılabilirlik Çoğaltması Eklerken veya Değiştirirken Uç Nokta URL'sini Belirtme (SQL Server)
Veritabanı Yansıtma Uç Noktası Hakkındaki Bilgileri Görüntülemek için
Ayrıca Bkz.
ALTER ENDPOINT (Transact-SQL)
Şifreleme Algoritması Seçme
CREATE ENDPOINT (Transact-SQL)
Sunucu Ağ Adresi Belirtme (Veritabanı Yansıtma)
Örnek: Windows Kimlik Doğrulaması Kullanarak Veritabanı Yansıtmayı Ayarlama (Transact-SQL)
Veritabanı Yansıtma Uç Noktası (SQL Server)