Coba beberapa tes konektivitas dasar.
- Verifikasi bahwa 5022, 5023 dan 5024 mendengarkan.
- Pastikan nama server yang Anda gunakan sudah benar.
Dari baris perintah:
netstat -an
Di server saya, Anda dapat melihat bahwa 5022 mendengarkan.
Selanjutnya pastikan Anda dapat terhubung ke port-port tersebut melalui telnet
telnet fully-qualified-server-name 5022
Seperti yang disebutkan di bagian Catatan pada Mirroring Properties GUI, tepat di bawah bidang saksi, nama server harus alamat tcp yang sepenuhnya memenuhi syarat.
Anda seharusnya melihat layar hitam. Dalam contoh ini saya memilih nama yang akan menyebabkan kegagalan koneksi. Jika Anda melihat "Tidak dapat membuka koneksi", maka server yang didefinisikan sebagai cermin, kepala sekolah dan saksi tidak dapat dijangkau atau Anda tidak menggunakan nama yang tepat.
Klien telnet dapat ditambahkan di bawah Fitur di Windows 2008.
Di Windows 2008, ketika Anda mengklik kanan pada Komputer, Anda dapat melihat nama lengkap komputer. Anda harus dapat melakukan ping juga dari baris perintah. mis: ping nama server saya
Memperbarui
Silakan jalankan kueri berikut pada setiap instance SQL Server dan masukkan hasilnya dalam pertanyaan Anda. Banyak dari tips pemecahan masalah ini berasal dari: http://msdn.microsoft.com/en-us/library/ms189127.aspx
Perlihatkan titik akhir tcp
SELECT type_desc, port FROM sys.tcp_endpoints;
Menampilkan status titik akhir mirroring
SELECT state_desc FROM sys.database_mirroring_endpoints;
Pastikan ROLE sudah benar
SELECT role FROM sys.database_mirroring_endpoints;
Tampilkan izin ke titik akhir
SELECT EP.name, SP.STATE,
CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id))
AS GRANTOR,
SP.TYPE AS PERMISSION,
CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id))
AS GRANTEE
FROM sys.server_permissions SP , sys.endpoints EP
WHERE SP.major_id = EP.endpoint_id
ORDER BY Permission,grantor, grantee;
GO
Login untuk akun layanan dari instance server lain memerlukan izin CONNECT. Pastikan bahwa login dari server lain memiliki izin CONNECT. Untuk menentukan siapa yang memiliki izin CONNECT untuk titik akhir, pada setiap contoh server gunakan pernyataan Transact-SQL berikut.
Contoh output:
name STATE GRANTOR PERMISSION GRANTEE
TSQL Local Machine G sqladmin CO public
TSQL Named Pipes G sqladmin CO public
TSQL Default TCP G sqladmin CO public
TSQL Default VIA G sqladmin CO public
Mirroring G SERVERNAME\Grantor CO SERVERNAME\Grantee
Grantor adalah akun yang ditugaskan (CO) menghubungkan izin, Penerima adalah akun yang memiliki izin terhubung
Dari baris perintah jalankan ipconfig /all
dan catat apa nama Host kembali.