İstemciden SQL Server'a bağlantıyı kontrol etmenin kolay yolu


18

Sorun giderme amacıyla, bir istemcinin SQL Server'a bağlanamayan uygulamadan bağımsız olarak bir istemcinin bir SQL Server örneğine bağlanıp bağlanamayacağını kontrol etmek istiyorum.

Varsayılan Windows sistem araçlarını kullanarak bunu yapmanın kolay bir yolu var mı (başka bir deyişle, üçüncü taraf yazılımları yüklemek zorunda değilsiniz)? Belki de komut dosyaları veya ağ uygulamaları mı kullanıyorsunuz?


dizüstü bilgisayarımda bir sqlserver odbc bağlantısı oluşturabilir ve sqlserver'a erişimi test edebilirim. Ama sqlserver odc sürücüsü sqlserver erişmek için yapılandırılmış tüm istemcilerde bulunamıyorsa hayır. ancak bulabilirse, sunucunun sqlserver korumasının telnet ile erişilebilirliğini kontrol ettikten sonra bir sonraki test olacaktır.
miracle173

Yanıtlar:


15

Sunucu TCP / IP kullanıyorsa, basit yol SQL Server bağlantı noktasına telnet bağlamak ve bağlanıp bağlanmadığını görmektir. Varsayılan olarak, bu bağlantı noktası 1433'tür, bu yüzden çalışması gerekir:

telnet servername 1433

Bu muhtemelen çoğu durumda uygun olacaktır.

Farklı bir bağlantı noktası veya (adlandırılmış bir örnekle ortak olan) dinamik bağlantı noktaları kullanıyorsa, o anda hangi bağlantı noktasını dinlediğini belirlemeniz gerekir. Belirli bir bağlantı noktası mı yoksa dinamik bağlantı noktaları mı olduğunu görmek için SQL Server yapılandırma yöneticisini kontrol edin. Dinamik bağlantı noktaları kullanıyorsa, sunucuda birden fazla örneğiniz olmadığı sürece netstat -abn, muhtemelen ne kullandığını bulmanın en basit yoludur. Aksi takdirde, örnek tarafından hangi bağlantı noktasının kullanıldığını belirten bir ileti için Windows olay günlüğünü veya SQL Server hata günlüğünü inceleyin.

SQL Server Named Pipes kullanıyorsa, o zaman inan sen makinede erişim hisseleri mümkün iseniz, yeterli ağ bağlantısı var. Bu makalede, daha ileri gidip IPC $ paylaşımına bağlanmayı deneyebileceğiniz belirtiliyor:

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

net use \\servername\IPC$

Bu SQL Server 2000 için yazılmıştır, ancak bu yönün çok değiştiğini düşünmüyorum.


2
Bu, bir istemcinin "SQL Server örneğine bağlanıp bağlanamayacağını" görmez. Bu sadece bir portun dinleyip dinlemediğini görmek için test ediyor.
Thomas Stringer

4
... bir istemci sisteminin "SQL Server'a bağlanamayan uygulamadan bağımsız olarak bir SQL Server örneğine bağlanıp bağlanamayacağını" görüyor. Ağ bağlantısının ötesinde her şey uygulama sorunlarıyla ilgilenmektedir.
db2

22

SQL bağlantısı için basit bir test yöntemi, "UDL" dosya uzantısına sahip boş bir metin dosyası oluşturmaktır. Not Defteri'nde oluşturabilirsiniz. Ve herhangi bir adı olabilir. "TestSQL.UDL" kullanıyorum

Windows PC'nin masaüstüne kaydedin ve çift tıklayın.

SQL sunucusunun IP adresini ve ayrıca bir SQL kullanıcı adını ve parolasını girebileceğiniz bir "Veri Bağlantısı Özellikleri" iletişim kutusu açılır.

Bağlanıp bağlanamayacağınızı görmek için "Bağlantıyı Test Et" düğmesini tıklayın.

resim açıklamasını buraya girin


Sağlayıcı sekmesini tıklatıp doğru OLE DB sağlayıcısını seçtiğinizden emin olun: "SQL Server için Microsoft OLE DB Sağlayıcısı"
DaveB

Dave, hoţgeldin ve iyi cevap. Bu ek bilgileri eklemek için yayınınızı (sol alt köşe) düzenleyebilirsiniz. Ardından yorumunuzu silin.
Michael Green

Bu gerçekten harika bir cevaptır, çünkü yüklü olandan veya olmayandan bağımsız olarak hemen hemen her sunucuda çalışır. Tek ihtiyacınız olan Not Defteri. Bu harika cevap için teşekkürler, gerçekten müvekkilim SQL bağlantı çalıştığını ikna yardımcı oldu.
robnick

8

Microsoft.SqlServer.SmoYerel makinede GAC'nizde montaj olması kaydıyla , PowerShell ile kolayca yapılabilir:

[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..."
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.