Nama pokok target salah. Tidak dapat membuat konteks SSPI


96

Saya berjuang untuk mendapatkan koneksi SQL Server dari mesin A ke mesin B yang menjalankan SQL Server.

Saya telah mencari di Google secara ekstensif dan semua hal yang saya temukan tidak berhasil. Mereka juga tidak membimbing Anda selangkah demi selangkah melalui proses pemecahan ini.

Kami tidak menggunakan Kerberos, tetapi NTLM yang dikonfigurasi.

masukkan deskripsi gambar di sini

Mesin yang terlibat adalah (xx digunakan untuk mengaburkan beberapa nama mesin untuk tujuan keamanan):

  • xxPRODSVR001 - Pengontrol Domain Windows Server 2012
  • xxDEVSVR003 - Windows Server 2012 (Mesin ini menghasilkan kesalahan)
  • xxDEVSVR002 - Windows Server 2012 (Mesin ini menjalankan SQL Server 2012)

SPN berikut ini terdaftar di DC (xxPRODSVR001). Saya telah mengaburkan domain dengan yyy untuk tujuan keamanan:

ServicePrincipalNames terdaftar untuk CN = xxDEVSVR002, CN = Komputer, DC = yyy, DC = lokal:

            MSSQLSvc/xxDEVSVR002.yyy.local:49298

            MSSQLSvc/xxDEVSVR002.yyy.local:TFS

            RestrictedKrbHost/xxDEVSVR002

            RestrictedKrbHost/xxDEVSVR002.yyy.local

            Hyper-V Replica Service/xxDEVSVR002

            Hyper-V Replica Service/xxDEVSVR002.yyy.local

            Microsoft Virtual System Migration Service/xxDEVSVR002

            Microsoft Virtual System Migration Service/xxDEVSVR002.yyy.local

            Microsoft Virtual Console Service/xxDEVSVR002

            Microsoft Virtual Console Service/xxDEVSVR002.yyy.local

            SMTPSVC/xxDEVSVR002

            SMTPSVC/xxDEVSVR002.yyy.local

            WSMAN/xxDEVSVR002

            WSMAN/xxDEVSVR002.yyy.local

            Dfsr-12F9A27C-BF97-4787-9364-D31B6C55EB04/xxDEVSVR002.yyy.local

            TERMSRV/xxDEVSVR002

            TERMSRV/xxDEVSVR002.yyy.local

            HOST/xxDEVSVR002

            HOST/xxDEVSVR002.yyy.local

ServicePrincipalNames terdaftar untuk CN = xxDEVSVR003, CN = Komputer, DC = yyy, DC = lokal:

            MSSQLSvc/xxDEVSVR003.yyy.local:1433

            MSSQLSvc/xxDEVSVR003.yyy.local

            Hyper-V Replica Service/xxDEVSVR003

            Hyper-V Replica Service/xxDEVSVR003.yyy.local

            Microsoft Virtual System Migration Service/xxDEVSVR003

            Microsoft Virtual System Migration Service/xxDEVSVR003.yyy.local

            Microsoft Virtual Console Service/xxDEVSVR003

            Microsoft Virtual Console Service/xxDEVSVR003.yyy.local

            WSMAN/xxDEVSVR003

            WSMAN/xxDEVSVR003.yyy.local

            TERMSRV/xxDEVSVR003

            TERMSRV/xxDEVSVR003.yyy.local

            RestrictedKrbHost/xxDEVSVR003

            HOST/xxDEVSVR003

            RestrictedKrbHost/xxDEVSVR003.yyy.local

            HOST/xxDEVSVR003.yyy.local

Sekarang jika hanya pesan kesalahan SQL Server yang lebih deskriptif dan memberi tahu saya nama utama apa yang coba disambungkan, saya mungkin dapat mendiagnosis ini.

Jadi, adakah yang bisa memberi tahu saya cara menyelesaikan yang satu ini atau apakah Anda melihat ada yang salah dalam hal yang saya berikan?

Saya akan dengan senang hati menghasilkan lebih banyak info debug, cukup beri tahu saya apa yang Anda butuhkan.


Kami tidak menjalankan server DNS internal. Tetapi untuk menghilangkan ini sebagai masalah, apakah Anda mengatakan saya harus "ping -a xxxx" atau adakah cara lain untuk menentukan apakah ada duplikat?
TheEdge

Saya bukan ahli tapi saya pikir SPN dan SSPI adalah hal Kerberos? Apakah Anda yakin Anda tidak menggunakan Kerberos?
Dylan Smith

@DylanSmith Bukannya saya bisa melihat ..... Ketika saya menjalankan SP di SQL Server (Lupakan nama sekarang) semuanya muncul sebagai NTLM. Apakah Anda tahu bagaimana saya memeriksanya?
TheEdge

Saya tahu pertanyaannya sudah lama, jadi hemat waktu dan jalankan alat ini: microsoft.com/en-us/download/…
Eduardo

Jawaban:


59

Saya mengalami masalah ini dengan aplikasi ASP.NET MVC yang saya kerjakan.

Saya menyadari bahwa saya baru saja mengubah kata sandi saya, dan saya dapat memperbaikinya dengan keluar dan masuk kembali.


1
Ini adalah masalahku. kata sandi berubah. membuat akun saya menjalankan kumpulan aplikasi.
Dragos Durlut

ketika saya mengalami masalah ini, saya keluar dan masuk kembali. Mengatasi masalah.
shary.sharath

Masalah serupa. Ini membantu saya untuk melihat kembali tindakan saya. TQ
Reddy

26

Saya menerima kesalahan ini saat menyambung melalui SQL Server Management Studio menggunakan Otentikasi Windows. Kata sandi saya telah kedaluwarsa tetapi saya belum mengubahnya. Setelah diubah, saya kemudian harus keluar dan masuk kembali agar mesin berfungsi menggunakan kredensial baru saya.


1
Saya punya masalah ini. Kata sandi saya kedaluwarsa, saya mengubahnya ketika saya masuk dan kemudian mencoba menyambung tetapi mendapat kesalahan ini. Saya kemudian mengunci mesin saya, dan kemudian membuka kunci dengan kata sandi baru saya dan saya dapat terhubung lagi
bgura

1
me-reboot tidak selalu berhasil, tetapi mengunci / membuka kunci tampaknya
Andrew Brick

23

Coba setel Integrated Security=trueuntuk menghapus param ini dari string koneksi.


PENTING: Saat pengguna @Auspex berkomentar,

Menghapus Keamanan Terintegrasi akan mencegah kesalahan ini, karena kesalahan terjadi saat mencoba masuk dengan kredensial Windows Anda. Sayangnya, sebagian besar waktu, Anda ingin bisa masuk dengan kredensial Windows Anda


Bagaimana Anda menghapusnya jika koneksi melalui SSMS?
Geoff Dawdy

25
Nah, menghapus dengan jelas Integrated Security akan mencegah kesalahan ini, karena kesalahan terjadi saat mencoba masuk dengan kredensial Windows Anda. Sayangnya, sering kali, Anda ingin bisa masuk dengan kredensial Windows Anda!
Auspex

2
@GeoffDawdy jawaban saya di bawah ini dapat membantu? Itu karena kata sandi yang kedaluwarsa, mengharuskan saya untuk mengubah kata sandi saya, keluar dan masuk kembali dan kemudian semuanya berfungsi seperti biasa.
Matt Shepherd

3
Hemat waktu Anda dan jalankan alat ini: microsoft.com/en-us/download/…
Eduardo

15

Saya mendapatkan kesalahan yang sama ketika mencoba melalui otentikasi windows. Kedengarannya menggelikan, tetapi untuk berjaga-jaga jika ini membantu orang lain: itu karena akun domain saya terkunci entah bagaimana saat saya masih masuk (!). Membuka kunci akun memperbaikinya.


13

Saya masuk ke Windows 10 dengan PIN, bukan kata sandi. Saya keluar dan masuk kembali dengan kata sandi saya dan bisa masuk ke SQL Server melalui Management Studio.


Konyol sekali. Dan itu berhasil. Saya telah membuang banyak waktu untuk ini. Terima kasih!
mcb2k3

2
Ups, kurang tepat. SSMS melakukan perubahan pada saya ketika saya tidak melihat dan kembali ke akun SQL Server saya. Tetapi saya akhirnya mencoba beralih dari menggunakan akun Microsoft untuk masuk secara lokal ke menggunakan akun lokal secara lokal. Itu berhasil, dan sepertinya berfungsi sekarang bahkan jika saya masuk menggunakan PIN saya.
mcb2k3

Yup menggunakan kata sandi, bukan pin, juga berfungsi untuk saya. 1 untuk Microsoft.
BrunoMartinsPro

YA TUHAN! Saya tidak percaya ini benar-benar membuat perbedaan!
arni

9

Kesalahan konteks SSPI pasti menunjukkan otentikasi sedang dicoba menggunakan Kerberos .

Karena otentikasi Kerberos Otentikasi Windows SQL Server bergantung pada Active Directory , yang memerlukan hubungan dorong antara komputer Anda dan pengontrol domain jaringan, Anda harus mulai dengan memvalidasi hubungan itu.

Anda dapat dengan cepat memeriksa hubungan itu, melalui perintah Powershell berikut Test-ComputerSecureChannel .

Test-ComputerSecureChannel -verbose

masukkan deskripsi gambar di sini

Jika mengembalikan False , Anda harus memperbaiki saluran aman Active Directory komputer, karena tanpanya tidak ada validasi kredensial domain di luar komputer Anda.

Anda dapat memperbaiki Saluran Aman Komputer Anda, melalui perintah Powershell berikut :

Test-ComputerSecureChannel -Repair

Periksa log peristiwa keamanan, jika Anda menggunakan kerberos, Anda akan melihat upaya masuk dengan paket otentikasi: Kerberos.

Otentikasi NTLM mungkin gagal sehingga upaya otentikasi kerberos sedang dilakukan. Anda mungkin juga melihat upaya logon NTLM gagal di log peristiwa keamanan Anda?

Anda dapat mengaktifkan pencatatan log peristiwa kerberos di dev untuk mencoba men-debug mengapa kerberos gagal, meskipun sangat bertele-tele.

Manajer Konfigurasi Kerberos Microsoft untuk SQL Server dapat membantu Anda dengan cepat mendiagnosis dan memperbaiki masalah ini.

Berikut ini kisah yang bagus untuk dibaca: http://houseofbrick.com/microsoft-made-an-easy-button-for-spn-and-double-hop-issues/


Ini memperbaiki masalah saya. SPN didaftarkan pada objek pengguna yang salah di Active Directory. Manajer Konfigurasi Kerberos untuk SQL Server memperbaikinya dua klik!
Craig - MSFT

8

Hanya untuk menambahkan solusi potensial lain untuk kesalahan yang paling ambigu ini The target principal name is incorrect. Cannot generate SSPI context. (.Net SqlClient Data Provider) :

Verifikasi bahwa IP yang diselesaikan saat melakukan ping ke SQL Server adalah sama dengan yang ada di Pengelola Konfigurasi. Untuk memeriksanya, buka SQL Server Configuration Manager lalu buka Konfigurasi Jaringan SQL Server> Protokol untuk MSSQLServer> TCP / IP.

Pastikan TCP / IP diaktifkan dan di tab Alamat IP, pastikan bahwa IP yang diselesaikan server saat melakukan ping adalah sama di sini. Itu memperbaiki kesalahan ini untuk saya.


6

Masalahnya tampaknya menjadi masalah kredensial windows. Saya mendapatkan kesalahan yang sama di laptop kerja saya dengan VPN. Saya seharusnya masuk sebagai Domain / Nama Pengguna saya, yang berhasil saya gunakan saat menghubungkan secara langsung tetapi segera setelah saya pindah ke VPN dengan koneksi lain, saya menerima kesalahan ini. Saya pikir itu adalah masalah DNS karena saya bisa melakukan ping ke server tetapi ternyata saya perlu menjalankan SMSS secara eksplisit sebagai pengguna saya dari Command prompt.

misalnya runas / netonly / user: YourDoman \ YourUsername "C: \ Program Files (x86) \ Microsoft SQL Server Management Studio 18 \ Common7 \ IDE \ Ssms.exe"


Saya mengalami masalah serupa (iMac vpn dengan VM Windows). Saya menyelesaikannya dengan menambahkan server DNS pekerjaan saya ke pengaturan jaringan Wi-Fi Mac saya. Saya menduga ada cara yang lebih baik, tapi ini berhasil untuk saya.
Erik Pearson

5

Masuk ke SQL Box dan klien Anda, lalu ketik:

ipconfig /flushdns
nbtstat -R

Jika tidak berhasil, perbarui DHCP Anda di mesin klien ... Ini berfungsi untuk 2 PC di kantor kami.


melakukan jawaban Anda pada mesin klien saya dan kotak SQL plus ipconfig/releasedan ipconfig/renewpada mesin klien saya dan itu tidak berhasil untuk saya; (
AlbatrossCafe

4

Saya baru saja mengalami ini dan memperbaikinya dengan melakukan 2 hal:

  1. Memberikan izin baca / tulis servicePrincipalName ke akun layanan menggunakan ADSI Edit, seperti yang dijelaskan di https://support.microsoft.com/en-us/kb/811889
  2. Menghapus SPN yang sebelumnya ada di akun komputer SQL Server (sebagai lawan akun layanan) menggunakan

    setspn -D MSSQLSvc/HOSTNAME.domain.name.com:1234 HOSTNAME
    

    di mana 1234 adalah nomor port yang digunakan oleh instance (milik saya bukan instance default).


Saya mengalihkan contoh MS SQL Server dari menjalankan menggunakan NT Service\MSSQLSSERVERmenjadi menjalankan sebagai Akun Layanan Terkelola. Setelah melakukannya, SSMS dapat terhubung ke database secara lokal di server, tetapi tidak dari jarak jauh dari laptop saya. Memperbaiki SPN mengatasi masalah tersebut.
Hydrargyrum


4

Saya sedang menguji IPv6 pada sekelompok PC di jaringan yang terisolasi dan mengalami masalah ini ketika saya kembali ke IPv4. Saya telah bermain di direktori aktif, DNS dan DHCP jadi tidak tahu apa yang saya dorong untuk merusak pengaturan Kerberos.

Saya menguji ulang koneksi di luar perangkat lunak saya dengan tip berguna ini untuk menghubungkan konektivitas jarak jauh yang saya temukan.

https://blogs.msdn.microsoft.com/steverac/2010/12/13/test-remote-sql-connectivity-easily/

kemudian setelah pencarian singkat menemukan ini di situs web Microsoft https://support.microsoft.com/en-gb/help/811889/how-to-troubleshoot-the-cannot-generate-sspi-context-error-message .

jalankan alat di server SQL, lihat apakah ada masalah jika status mengatakan kesalahan, lalu tekan tombol perbaiki yang muncul.

Ini menyelesaikan masalah saya.


3

Ini biasanya karena Nama Prinsip Layanan (SPN) yang hilang, salah, atau terduplikasi

Langkah-langkah penyelesaian:

  1. Konfirmasikan akun AD apa yang digunakan SQL Server
  2. Jalankan perintah berikut di Powershell atau CMD dalam mode administrator (akun layanan tidak boleh berisi domain)
setspn -L <ServiceAccountName> | Select-String <ServerName> | select line
  1. Pastikan output yang dikembalikan berisi SPN yang sepenuhnya memenuhi syarat, tidak memenuhi syarat, dengan port dan tanpa port.

    Output yang Diharapkan:

    Registered ServicePrincipalNames for CN=<ServiceAccountName>,OU=CSN Service Accounts,DC=<Domain>,DC=com: 
    MSSQLSvc/<ServerName>.<domain>.com:1433
    MSSQLSvc/<ServerName>:1433                                           
    MSSQLSvc/<ServerName>.<domain>.com
    MSSQLSvc/<ServerName>
    
  2. Jika Anda tidak melihat semua hal di atas, jalankan perintah berikut di PowerShell atau CMD dalam mode admin (pastikan untuk mengubah port jika Anda tidak menggunakan default 1433)

SETSPN -S  MSSQLSvc/<ServerName> <Domain>\<ServiceAccountName> 
SETSPN -S  MSSQLSvc/<ServerName>.<Domain> <Domain>\<ServiceAccountName> 
SETSPN -S  MSSQLSvc/<ServerName>:1433 <Domain>\<ServiceAccountName> 
SETSPN -S  MSSQLSvc/<ServerName>.<Domain>:1433 <Domain>\<ServiceAccountName>
  1. Setelah di atas selesai, biasanya diperlukan beberapa menit untuk propagasi DNS

Selain itu, jika Anda mendapatkan pesan tentang duplikat SPN yang ditemukan, Anda mungkin ingin menghapusnya dan membuatnya kembali


2

Saya mengalami masalah ini saat mengakses aplikasi web. Mungkin karena saya telah mengubah kata sandi windows baru-baru ini.

Masalah ini teratasi ketika saya memperbarui kata sandi untuk kumpulan aplikasi tempat saya meng-host aplikasi web.


2

Periksa apakah jam Anda cocok antara klien dan server.

Ketika saya mengalami kesalahan ini sesekali, tidak ada jawaban di atas yang berfungsi, kemudian kami menemukan waktu telah menyimpang di beberapa server kami, begitu mereka disinkronkan lagi, kesalahan itu hilang. Cari w32tm atau NTP untuk mengetahui cara menyinkronkan waktu secara otomatis di Windows.


1

Karena saya mendarat di sini ketika mencari solusi untuk masalah saya sendiri, saya akan membagikan solusi saya di sini, jika orang lain juga mendarat di sini.

Saya menghubungkan dengan baik ke SQL Server sampai mesin saya dipindahkan ke kantor lain di domain lain . Kemudian, setelah peralihan, saya mendapatkan kesalahan ini terkait nama pokok target. Yang memperbaikinya adalah menghubungkan menggunakan nama yang sepenuhnya memenuhi syarat seperti: server.domain.com . Dan sebenarnya, begitu saya terhubung ke server pertama dengan cara itu, saya dapat terhubung ke server lain hanya dengan menggunakan nama server (tanpa kualifikasi lengkap), tetapi jarak tempuh Anda mungkin berbeda.


Masalah ini hanya terjadi pada saya ketika saya menambahkan sertifikat ke koneksi SQL. Sertifikat dikeluarkan untuk FQDN, jadi ketika saya terhubung ke FQDN \ Instance, itu berfungsi.
Slogmeister Extraordinaire

1

Saya mengalami ini hari ini dan ingin membagikan perbaikan saya, karena yang ini diabaikan dan mudah diperbaiki.

Kami mengelola rDNS kami sendiri dan baru-baru ini mengubah skema penamaan server kami. Sebagai bagian dari itu, kami harus memperbarui rDNS kami dan lupa melakukan ini.

Sebuah ping memunculkan nama host yang benar, tetapi ping -a mengembalikan nama host yang salah.

Perbaikan mudah: ubah rDNS, lakukan ipconfig / flushdns, tunggu 30 detik (hanya sesuatu yang saya lakukan), lakukan ping lagi -a, lihat itu menyelesaikan nama host yang benar, hubungkan ... untung.


1

Saya menemukan yang baru untuk ini: SQL 2012 di-host di Server 2012. Ditugasi untuk membuat cluster untuk SQL AlwaysOn.
Cluster dibuat setiap orang mendapat pesan SSPI.

Untuk memperbaiki masalah, jalankan perintah berikut:

setspn -D MSSQLSvc/SERVER_FQNName:1433 DomainNamerunningSQLService

DomainNamerunningSQLService== akun domain yang saya tetapkan untuk SQL Saya membutuhkan Administrator Domain untuk menjalankan perintah. Hanya satu server di cluster yang mengalami masalah.

Kemudian mulai ulang SQL. Yang mengejutkan saya, saya dapat terhubung.


Saya mengalami masalah yang sama, tetapi tidak ada di cluster. Saya telah mengubah logon untuk layanan SQL Engine ke akun domain. Saya harus menghapus MSSQLSvc/SERVER_FQNName:*SPN dari akun komputer dan kemudian menambahkannya ke akun pengguna yang menjalankan layanan.
Slogmeister Extraordinaire

1

Saya mencoba menyambung ke VM yang menjalankan SQL Server 2015 dari laptop saya di Aplikasi Konsol Visual Studio 2015. Saya menjalankan aplikasi saya malam sebelumnya dan tidak apa-apa. Di pagi hari saya mencoba men-debug aplikasi dan saya mendapatkan kesalahan ini. Saya mencoba ipconfig/flushdan release+ renewdan sekelompok sampah lainnya, tetapi pada akhirnya ...

Mulai ulang VM Anda dan mulai ulang klien. Itu memperbaikinya untuk saya. Saya seharusnya tahu, restart bekerja setiap saat.


Pengalaman serupa, SQLServer 2016 di VM. Tidak yakin mengapa koneksi mulai gagal. Mulai ulang VM memperbaikinya tanpa perlu memulai ulang klien.
youcantryreachingme

1

Saya punya masalah ini di server sql saya. Saya setspn -D mssqlsvc \ Hostname.domainname Hostname kemudian berhenti dan memulai layanan SQL server saya.

Saya berpikir bahwa hanya dengan menghentikan dan memulai layanan sql saya akan berhasil.


Inilah yang saya lakukan setelah membandingkan setspn -L <Hostname>dengan server yang berfungsi. Ternyata semua instans yang berfungsi tidak memiliki SPN yang terdaftar. Saya tidak begitu tahu apa yang saya lakukan, tapi ternyata tanpa SPN-SPN tersebut, NTLM bisa digunakan. Terima kasih!
BenderBoy

Sadarilah bahwa ini sebenarnya bukan solusi jika Anda ingin menggunakan Kerberos daripada NTLM, seperti yang seharusnya Anda lakukan: serverfault.com/a/384721 . Faktanya, solusi ini pada dasarnya mematikan autentikasi Kerberos.
BenderBoy

1

Saya memiliki masalah yang sama, tetapi mengunci, dan membuka kunci mesin berhasil untuk saya. Terkadang, masalah firewall akan memberikan kesalahan.

Saya tidak yakin ini akan berhasil untuk Anda atau tidak, hanya berbagi pengalaman saya.


1

Saya telah mencoba semua solusi di sini dan belum ada yang berhasil. Solusi yang berhasil adalah dengan Klik Hubungkan , masukkan nama server, pilih Opsi, tab Properti Koneksi. Setel "Protokol jaringan" ke "Pipa Bernama". Ini memungkinkan pengguna untuk menghubungkan jarak jauh menggunakan kredensial jaringan mereka. Saya akan memposting pembaruan ketika saya mendapatkan perbaikan.


Saya sebenarnya mengatur milik saya ke "TCP / IP". Saya tidak tahu apakah tindakan mengubahnya memperbaiki masalah atau pengaturan khusus untuk situasi jaringan saya ...
Zarepheth

1

Dalam kasus saya, masalahnya adalah mengatur DNS di wifi. Saya menghapus pengaturan, dan membiarkannya kosong, dan bekerja.

Como ficou minha configuração do DNS


1

Pastikan bahwa "Pipa bernama" diaktifkan dari "Manajer Konfigurasi Server SQL". Ini berhasil untuk saya.

  1. Buka "Manajer Konfigurasi Server SQL".
  2. Luaskan "Konfigurasi Jaringan SQL Server", dari daftar di sebelah kiri.
  3. Pilih "Protokol untuk [Nama Instance Anda]".
  4. Klik kanan pada "Named Pipes", dari daftar di sebelah kanan.
  5. Pilih "Aktifkan"
  6. Mulai ulang layanan Instance Anda.

1
Saya memiliki pesan yang sama. Saya mencoba untuk terhubung dengan IP jadi saya lakukan sebagai stackoverflow.com/users/8568873/s3minaki , yaitu langkah 1-6 tetapi saya mengaktifkan TCP / IP alih-alih Pipa Bernama. Juga di bawah IPALL saya membersihkan port TCP Dynamic dan mengatur TCP Port sebagai gantinya. Pastikan tidak ada instance lain yang menjalankan port ini atau instance tidak akan dimulai ulang. Saya juga membutuhkan pengguna SQL, Otentikasi Windows tidak akan berfungsi. Di SQL Manager, Anda terhubung dengan xxxx \ instancename, portnr. yaitu 127.0.0.1 \ SQLEXPRESS, 1433
Tomas Hesse


1

Dalam situasi saya, saya mencoba menggunakan Keamanan Terpadu untuk menyambung dari PC ke SQL Server di PC lain di jaringan tanpa domain. Di kedua PC, saya masuk ke Windows dengan akun Microsoft yang sama . Saya beralih ke akun lokal di PC dan SQL Server sekarang berhasil tersambung.


1

Dalam Kasus saya sejak saya bekerja di lingkungan pengembangan saya, seseorang telah mematikan Pengontrol Domain dan Kredensial Windows tidak dapat diautentikasi. Setelah menyalakan Pengontrol Domain, kesalahan menghilang dan semuanya bekerja dengan baik.


1

Ceruk lain untuk masalah ini disebabkan oleh koneksi jaringan. Saya terhubung melalui klien Windows VPN dan masalah ini muncul ketika saya beralih dari Wifi ke koneksi kabel. Perbaikan untuk situasi saya adalah menyesuaikan metrik adaptor secara manual.

Di PowerShell, gunakan Get-NetIPInterface untuk melihat semua nilai metrik. Angka yang lebih rendah lebih murah sehingga lebih disukai oleh windows. Saya mengganti ethernet dan VPN dan kredensial sampai di tempat yang mereka butuhkan agar SSMS senang.

Untuk mengkonfigurasi fitur Metrik Otomatis: Di Panel Kontrol, klik dua kali Sambungan Jaringan. Klik kanan antarmuka jaringan, lalu pilih Properti. Klik Protokol Internet (TCP / IP), lalu pilih Properti. Pada tab Umum, pilih Tingkat Lanjut. Untuk menentukan metrik, pada tab Pengaturan IP, pilih untuk mengosongkan kotak centang Metrik otomatis, lalu masukkan metrik yang Anda inginkan di bidang Metrik Antarmuka.

Sumber: https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/automatic-metric-for-ipv4-routes


0

Saya mengalami varian dari masalah ini, berikut adalah karakteristiknya:

  • Pengguna berhasil terhubung ke instance bernama, misalnya, koneksi keServer\Instance berhasil
  • Pengguna tidak dapat terhubung ke contoh default, misalnya, koneksi Servergagal dengan tangkapan layar OP mengenai SSPI
  • Pengguna tidak dapat menghubungkan instans default dengan nama yang sepenuhnya memenuhi syarat, misalnya, koneksi Server.domain.comgagal (batas waktu)
  • Pengguna tidak dapat menghubungkan alamat IP tanpa contoh bernama, misalnya, koneksi 192.168.1.134gagal
  • Pengguna lain yang tidak ada di domain (misalnya, pengguna yang VPN ke jaringan) tetapi menggunakan kredensial domain berhasil menyambung ke contoh default dan alamat IP

Jadi, setelah banyak pusing mencoba mencari tahu mengapa pengguna tunggal ini tidak dapat terhubung, berikut adalah langkah-langkah yang kami ambil untuk memperbaiki situasi tersebut:

  1. Lihatlah server dalam daftar SPN menggunakan
    setspn -l Server
    file. Dalam kasus kami, katanyaServer.domain.com
  2. Tambahkan entri ke file host yang terletak di C:\Windows\System32\drivers\etc\hosts(jalankan Notepad sebagai Administrator untuk mengubah file ini). Entri yang kami tambahkan adalah
    Server.domain.com Server

Setelah ini, kami berhasil terhubung melalui SSMS ke instance default.


0

Saya juga mengalami masalah ini di SQL Server 2014 saat masuk dengan Windows Authentication, untuk mengatasi masalah ini, saya telah me-restart server saya sekali dan kemudian mencoba masuk, itu berhasil untuk saya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.