Cara mudah untuk memeriksa konektivitas ke SQL Server dari klien

18

Untuk tujuan pemecahan masalah, saya ingin dapat memeriksa apakah klien dapat terhubung ke contoh SQL Server, terlepas dari aplikasi yang mungkin tidak dapat terhubung ke SQL Server.

Apakah ada cara mudah (itu berarti, tidak harus menginstal perangkat lunak pihak ke-3) untuk melakukan ini menggunakan alat sistem Windows default? Mungkin menggunakan skrip atau aplikasi jaringan?

MicSim
sumber
pada notebook saya, saya dapat membuat koneksi odbc sqlserver dan menguji akses ke sqlserver. Tapi saya tidak tidak jika driver odc sqlserver dapat ditemukan pada semua klien yang dikonfigurasi untuk mengakses sqlserver. tetapi jika dapat ditemukan ini akan menjadi tes berikutnya setelah memeriksa jangkauan sqlserver prot server dengan telnet.
miracle173

Jawaban:

15

Jika server menggunakan TCP / IP, maka cara sederhana adalah dengan hanya telnet ke port SQL Server dan lihat apakah itu terhubung. Secara default, itu port 1433, jadi ini seharusnya berfungsi:

telnet servername 1433

Itu mungkin akan sesuai dalam banyak kasus.

Jika menggunakan port yang berbeda, atau port dinamis (umum dengan instance bernama), maka Anda harus menentukan port mana yang sedang didengarkan. Periksa manajer konfigurasi SQL Server untuk melihat apakah itu port tertentu, atau port dinamis. Jika menggunakan port dinamis, maka selama Anda tidak memiliki banyak instance di server, netstat -abnmungkin merupakan cara paling sederhana untuk menemukan apa yang digunakannya. Jika tidak, gali melalui log peristiwa Windows atau log galat SQL Server untuk pesan yang menunjukkan port mana yang digunakan oleh instance.

Jika SQL Server menggunakan Named Pipes, maka saya percaya jika Anda dapat mengakses saham di mesin, Anda memiliki konektivitas jaringan yang memadai. Artikel ini mengatakan Anda bisa melangkah lebih jauh dan mencoba menghubungkan ke IPC $ share:

http://msdn.microsoft.com/en-us/library/aa275787%28v=sql.80%29.aspx

net use \\servername\IPC$

Itu ditulis untuk SQL Server 2000, tapi saya tidak membayangkan aspek ini telah banyak berubah, jika sama sekali.

db2
sumber
2
Itu tidak melihat apakah klien dapat "terhubung ke contoh SQL Server". Itu hanya pengujian untuk melihat apakah port mendengarkan.
Thomas Stringer
4
... yang melihat apakah sistem klien "dapat terhubung ke contoh SQL Server, terlepas dari aplikasi yang mungkin tidak dapat terhubung ke SQL Server." Apa pun di luar konektivitas jaringan berurusan dengan masalah aplikasi.
db2
22

Metode pengujian sederhana untuk konektivitas SQL adalah membuat file teks kosong, dengan ekstensi file "UDL". Anda dapat membuatnya di Notepad. Dan itu bisa memiliki nama apa saja. Saya menggunakan "TestSQL.UDL"

Simpan di desktop PC windows dan klik dua kali.

Kotak dialog "Data Link Properties" akan muncul di mana Anda dapat memasukkan alamat IP dari server SQL dan juga nama pengguna dan kata sandi SQL.

Klik tombol "Uji Koneksi" untuk melihat apakah Anda dapat terhubung.

masukkan deskripsi gambar di sini

DaveB
sumber
Pastikan untuk mengklik tab Provider dan pilih penyedia OLE DB yang tepat: "Microsoft OLE DB Provider untuk SQL Server"
DaveB
Dave, selamat datang, dan jawaban yang bagus. Anda dapat mengedit posting Anda (sudut kiri bawah) untuk menambahkan informasi tambahan ini. Kemudian hapus komentar Anda.
Michael Green
Ini benar-benar jawaban yang bagus karena bekerja pada hampir semua server terlepas dari apa atau apa yang tidak diinstal. Yang Anda butuhkan adalah Notepad. Terima kasih atas jawaban yang luar biasa ini, sangat membantu saya meyakinkan klien saya bahwa konektivitas SQL berfungsi.
Robnick
8

Asalkan Anda memiliki Microsoft.SqlServer.Smoperakitan di GAC Anda pada mesin lokal, ini dapat dengan mudah dilakukan dengan PowerShell:

[Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | Out-Null

$server = New-Object Microsoft.SqlServer.Management.Smo.Server("YourSqlServerName")

# do a simple operation to see if you can get data
Try {
    $server.Version | Out-Null
    Write-Host "SQL Server connection successful!!!"
}
Catch [System.Exception] {
    Write-Host "Error connecting to SQL Server..."
}
Thomas Stringer
sumber