GUI istemcisinden yerel bir MS SQL Server'a bağlanma


11

SQL ve veritabanı sunucuları için çok yeniyim. Son zamanlarda SQL Server Express'i kullanıyorum ve Windows'ta SQL Server Management Studio'yu kullanarak veritabanıma erişiyorum. Şimdi bir Linux makinesinde benzer bir kurulum yapmaya çalışıyorum.

Makinede yerel bir SQL Server örneği oluşturmak ve sonra veritabanımı sorgulamak için bir GUI istemcisi olarak SQLectron kullanmak istiyorum. Manjaro Linux kullanıyorum ve bu yüzden paketleri AUR'dan kuruyorum.

Şu ana kadar yüklemiş mssql-server, mssql-toolsve sqlectron-gui. sudo /opt/mssql/bin/mssql-conf setupYerel bir sunucu kurmak için (sanırım) komutu çalıştırdım . Bunu yaptıktan sonra, komutu çalıştırmak şunu systemctl status mssql-serverdöndürür:

[kev @ XPS-Manjaro ~] $ systemctl durumu mssql-sunucusu
● mssql-server.service - Microsoft SQL Server Veritabanı Altyapısı
Yüklendi: yüklendi (/usr/lib/systemd/system/mssql-server.service; etkin; satıcı ön ayarı: devre dışı)
Aktif: Çar 2017-08-23'ten beri aktif (çalışıyor) 13:43:49 IST; 2 sa 42 dk önce
    Dokümanlar: https://docs.microsoft.com/en-us/sql/linux
Ana PID: 9130 (sqlservr)
    Görevler: 165
CGroup: /system.slice/mssql-server.service
        ├─9130 / opt / mssql / bin / sqlservr
        149144 / opt / mssql / bin / sqlservr

23 Ağu 13:43:52 XPS-Manjaro sqlservr [9130]: [145B blob verileri]
23 Ağu 13:43:52 XPS-Manjaro sqlservr [9130]: [66B blob verisi]
23 Ağu 13:43:52 XPS-Manjaro sqlservr [9130]: [96B blob verisi]
23 Ağu 13:43:52 XPS-Manjaro sqlservr [9130]: [100B blob verisi]
23 Ağu 13:43:52 XPS-Manjaro sqlservr [9130]: [71B blob verileri]
23 Ağu 13:43:52 XPS-Manjaro sqlservr [9130]: [124B blob verileri]
23 Ağu 13:49:03 XPS-Manjaro sqlservr [9130]: [156B blob verisi]
23 Ağu 13:49:03 XPS-Manjaro sqlservr [9130]: [194B blob verisi]
23 Ağu 13:52:31 XPS-Manjaro sqlservr [9130]: [74B blob verisi]
23 Ağu 13:52:31 XPS-Manjaro sqlservr [9130]: [199B blob verileri]

Şimdi aşağıdaki ekranda SQLectron üzerinden sunucuma yerel bir bağlantı oluşturmaya çalışıyorum:

resim açıklamasını buraya girin

SQL Server'larla ilgili çok az deneyimim olduğu için, tüm bu kimlik bilgilerinin yerel sunucuma bağlanmak için nereden alınacağı ile tamamen kayboldum. Tek bildiğim sudo /opt/mssql/bin/mssql-conf setupkomutta ayarladığım parola .

Sunucu adını, ana bilgisayar adresini (127.0.0.1?), Bağlantı noktasını, etki alanını, Unix soket yolunu ve kullanıcı adını nasıl bulurum?


Ben sadece SQL Server ile Windows üzerinde çalıştım, ancak bazı terimler yardımcı olur: Ad sunucunun adı (ve gerekirse örnek) olacaktır; Eğer söylediklerine dan address127.0.0.1` çalışması gerektiği gibi; portsunucuyu kurarken ayarlanmış olmalıdır (varsayılan genellikle 1433'tür); usergiriş yapmak istediğiniz kullanıcı adı (muhtemelen bir Linux kullanıcı hesabı veya bir SQL Server hesabı (gibi sa) olabilir ve passwordbu hesabın şifresidir. Databaseve Schemabağlanacağınız varsayılan veritabanı ve şema olur; deneyin masterve boş veya masterve dbo.
RDFozz

Yanıtlar:


7

GUI'yi mssql-server hizmeti ile aynı makinede çalıştırıyorsanız, adres için localhost kullanabilirsiniz (127.0.0.1). GUI'yi farklı bir iş istasyonundan çalıştırıyorsanız, mssql-server hizmetinin çalıştığı makinenin IPv4 adresine ihtiyacınız olacaktır. Bunu ifconfigbir Linux terminal isteminden çalıştırarak elde edebilirsiniz . Örnek çıktı ifconfig:

eth0: bayraklar = 4163 mtu 1500
        eter 00: 15: 5d: 89: 45: 01 txqueuelen 1000 (Ethernet)
        RX paketleri 423 bayt 137827 (134.5 KiB)
        RX hataları 0 düştü 0 aşıldı 0 kare 0
        TX paketleri 0 bayt 0 (0,0 B)
        TX hataları 0 düştü 0 aşıldı 0 operatör 0 çarpışma 0

eth1: bayraklar = 4163 mtu 1500
        inet 192.168.200.11 netmask 255.255.255.0 yayın 192.168.200.255
        inet6 fe80 :: 2f70: 9d15: 8e7d: 16cb önek 64 kapsam 0x20
        eter 00: 15: 5d: 89: 45: 04 txqueuelen 1000 (Ethernet)
        RX paketleri 20138 bayt 2006000 (1,9 MiB)
        RX hataları 0 düştü 0 aşıldı 0 kare 0
        TX paketleri 19756 bayt 30125657 (28.7 MiB)
        TX hataları 0 düştü 0 aşıldı 0 operatör 0 çarpışma 0

lo: bayraklar = 73 mtu 65536
        inet 127.0.0.1 ağ maskesi 255.0.0.0
        inet6 :: 1 önek 128 kapsam 0x10
        loop txqueuelen 1 (Yerel Geridöngü)
        RX paketleri 3239 bayt 361340 (352.8 KiB)
        RX hataları 0 düştü 0 aşıldı 0 kare 0
        TX paketleri 3239 bayt 361340 (352.8 KiB)
        TX hataları 0 düştü 0 aşıldı 0 operatör 0 çarpışma 0

Yukarıdaki çıktıda, önemli olan bit, benim durumumda 192.168.200.11 olan "inet" adresidir.

SQL Server için varsayılan bağlantı noktası 1433'tür - mssql-conf'de farklı bir bağlantı noktası seçmedikçe bu bağlantı noktası numarasını kullanın. Ağ üzerinden SQL Server'a bağlanmayı düşünüyorsanız, Linux kutusundaki güvenlik duvarının 1433 üzerinden dış bağlantılara izin verdiğinden emin olun.

Kullanım sagiriş ve üzeri SQL Server kurulumu sırasında belirtilen şifreyi sudo /opt/mssql/bin/mssql-conf setupkomuta.

Etki alanı ve unix soket yolunu boş bırakırdım.

Örneğe bağlandıktan sonra, sa olmayan bir hesabı yapılandırmak isteyebilirsiniz. İle Bunu yap CREATE LOGINdeyimi .

Sadece bir FYI, arzunuz buysa Linux'ta SQL Server'a bağlanmak için SQL Server Management Studio'yu kullanabilirsiniz.


Bilginize ilişkin olarak, Linux'ta SSMS GUI'sini nasıl edinebilirim? Ben hem yükledim mssql-serverve mssql-toolsne SSI ile ilgili herhangi bir GUI uygulaması veya yüklü bir şey var gibi görünüyor. SSMS'ye en aşina olduğum için, kullanmaya devam etmeyi tercih ederim, ancak Linux'ta kullanılabilir olduğunu düşünmüyordum.
KOB

oh, hayır, yani bir Windows iş istasyonunda SSMS'yi çalıştırabilir ve bunu Linux'ta SQL Server'a bağlayabilirsiniz.
Max Vernon

Oh tamam, ben de öyle düşünmüştüm. Hayır, sadece deniyorum ve Linux makinemden her şeyin çalışmasını istiyorum.
KOB

Son bir takip: Şimdi veritabanıma bir Python betiğinden erişmek istersem, sa olmayan hesabımı belirttiğiniz gibi yapılandırmam ve sonra bazı sürücü yüklemem gerekir mi? Windows üzerinde çalışırken ODBC Sürücüsünü kullandım. Windows'taki Pyton komut dosyamda, SSMS'den bağlantı motoru için sunucu adımı aldım CPX-9GL9XXXXXXX\SQLEXPRESS. SSMS'ye erişmeden bu eşdeğer sunucu adını nasıl bulabilirim?
KOB

SQL Server Tarayıcı , bağlantı noktası numarasını önceden bilmeden SQL Server örneklerini bulmak için kullanılır ... bu nedenle CPX-9GL9XXXXXXX\SQLEXPRESS-> SQLEXPRESS, SQL Server Tarayıcı hizmeti tarafından bir bağlantı noktası numarasına çevrilecek örnek adıdır . Ne yazık ki, SQL Server Tarayıcı henüz Linux'ta desteklenmediğinden, varsayılan olarak 1433 olan bağlantı noktası numarasını bilmeniz gerekir.
Max Vernon
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.