GUI 클라이언트에서 로컬 MS SQL Server에 연결


11

저는 SQL 및 데이터베이스 서버를 처음 사용합니다. 최근에 SQL Server Express를 사용하고 Windows의 SQL Server Management Studio를 사용하여 데이터베이스에 액세스했습니다. Linux 시스템에서 비슷한 설정을 달성하려고합니다.

컴퓨터에서 로컬 SQL Server 인스턴스를 만들고 SQLectron 을 GUI 클라이언트로 사용 하여 데이터베이스를 쿼리하고 싶습니다. Manjaro Linux를 사용하고 있으므로 AUR에서 패키지를 설치하십시오.

지금까지 나는 설치 mssql-server, mssql-toolssqlectron-gui. sudo /opt/mssql/bin/mssql-conf setup로컬 서버를 설정하기 위해 명령을 실행했습니다 . 그런 다음 명령을 실행하면 systemctl status mssql-server다음이 반환됩니다.

[kev @ XPS-Manjaro ~] $ systemctl 상태 mssql-server
● mssql-server.service-Microsoft SQL Server 데이터베이스 엔진
로드 됨 :로드 됨 (/usr/lib/systemd/system/mssql-server.service; 활성화; 공급 업체 사전 설정 : 비활성화)
활동 : 수요일부터 활동 (활동) 2017-08-23 13:43:49 IST; 2 시간 42 분 전
    문서 : https://docs.microsoft.com/en-us/sql/linux
주요 PID : 9130 (sqlservr)
    작업 : 165
C 그룹 : /system.slice/mssql-server.service
        ├─9130 / opt / mssql / bin / sqlservr
        └─9144 / opt / mssql / bin / sqlservr

8 월 23 일 13:43:52 XPS-Manjaro sqlservr [9130] : [145B BLOB 데이터]
8 월 23 일 13:43:52 XPS-Manjaro sqlservr [9130] : [66B 얼룩 데이터]
8 월 23 일 13:43:52 XPS-Manjaro sqlservr [9130] : [96B BLOB 데이터]
8 월 23 일 13:43:52 XPS-Manjaro sqlservr [9130] : [100B BLOB 데이터]
8 월 23 일 13:43:52 XPS-Manjaro sqlservr [9130] : [71B BLOB 데이터]
8 월 23 일 13:43:52 XPS-Manjaro sqlservr [9130] : [124B BLOB 데이터]
8 월 23 일 13:49:03 XPS-Manjaro sqlservr [9130] : [156B BLOB 데이터]
8 월 23 일 13:49:03 XPS-Manjaro sqlservr [9130] : [194B BLOB 데이터]
8 월 23 일 13:52:31 XPS-Manjaro sqlservr [9130] : [74B BLOB 데이터]
8 월 23 일 13:52:31 XPS-Manjaro sqlservr [9130] : [199B BLOB 데이터]

다음 화면에서 SQLectron을 통해 서버에 로컬 연결을 만들려고합니다.

여기에 이미지 설명을 입력하십시오

SQL Server에 대한 경험이 거의 없으므로 로컬 서버에 연결하기 위해 이러한 자격 증명을 모두 얻을 수있는 곳이 완전히 없어졌습니다. 내가 아는 유일한 것은 sudo /opt/mssql/bin/mssql-conf setup명령 에서 설정 한 비밀번호입니다 .

서버 이름, 호스트 주소 (127.0.0.1?), 포트, 도메인, Unix 소켓 경로 및 사용자 이름을 어떻게 찾을 수 있습니까?


Windows에서 SQL Server로만 작업했지만 일부 용어가 도움이되는 경우 : Name은 서버 이름 (필요한 경우 인스턴스)입니다. address127.0.0.1에서 작동하는 것처럼 말하십시오 . port서버를 설정할 때 설정되어 있어야합니다 (기본값은 1433 임). user당신이에 로그인 할 사용자 이름을 것입니다 (아마도 리눅스 사용자 계정 또는 SQL Server 계정 (같은 수 sa), 및 password해당 계정에 대한 암호입니다. Database그리고 Schema당신이 연결 것이 기본 데이터베이스 및 스키마 것, 시도 master및 빈, 나 master하고 dbo.
RDFozz

답변:


7

mssql-server 서비스와 동일한 시스템에서 GUI를 실행중인 경우 주소 (127.0.0.1)에 localhost를 사용할 수 있습니다. 다른 워크 스테이션에서 GUI를 실행중인 경우 mssql-server 서비스가 실행중인 시스템의 IPv4 주소가 필요합니다. ifconfigLinux 터미널 프롬프트에서 실행 하여이를 얻을 수 있습니다 . 의 샘플 출력 ifconfig:

eth0 : 플래그 = 4163mtu 1500
        ether 00 : 15 : 5d : 89 : 45 : 01 txqueuelen 1000 (이더넷)
        RX 패킷 423 바이트 137827 (134.5 KiB)
        수신 에러 0 드롭 0 오버런 0 프레임 0
        TX 패킷 0 바이트 0 (0.0B)
        TX 오류 0 삭제 0 오버런 0 캐리어 0 충돌 0

eth1 : 플래그 = 4163 mtu 1500
        inet 192.168.200.11 넷 마스크 255.255.255.0 브로드 캐스트 192.168.200.255
        inet6 fe80 :: 2f70 : 9d15 : 8e7d : 16cb 접두사 64 scopeid 0x20
        ether 00 : 15 : 5d : 89 : 45 : 04 txqueuelen 1000 (이더넷)
        RX 패킷 20138 바이트 2006000 (1.9MiB)
        수신 에러 0 드롭 0 오버런 0 프레임 0
        TX 패킷 19756 바이트 30125657 (28.7MiB)
        TX 오류 0 삭제 0 오버런 0 캐리어 0 충돌 0

lo : 플래그 = 73 mtu 65536
        inet 127.0.0.1 넷 마스크 255.0.0.0
        inet6 :: 1 접두사 128 scopeid 0x10
        txqueuelen 루프 1 (로컬 루프백)
        RX 패킷 3239 바이트 361340 (352.8 KiB)
        수신 에러 0 드롭 0 오버런 0 프레임 0
        TX 패킷 3239 바이트 361340 (352.8 KiB)
        TX 오류 0 삭제 0 오버런 0 캐리어 0 충돌 0

위의 출력에서 ​​중요한 비트는 "inet"주소이며, 제 경우에는 192.168.200.11입니다.

SQL Server의 기본 포트는 1433입니다. mssql-conf에서 다른 포트를 선택하지 않으면 해당 포트 번호를 사용하십시오. 네트워크를 통해 SQL Server에 연결하려는 경우 Linux 상자의 방화벽이 1433을 통해 외부 연결을 허용하는지 확인하십시오.

명령을 sa통해 SQL Server를 설치하는 동안 지정한 로그인 및 암호로 사용하십시오 sudo /opt/mssql/bin/mssql-conf setup.

도메인과 유닉스 소켓 경로를 비워 두겠습니다.

인스턴스에 연결 한 후 비 SA 계정을 구성 할 수 있습니다. CREATE LOGIN진술로 그렇게하십시오 .

참고로 SQL Server Management Studio를 사용하여 원하는 경우 Linux에서 SQL Server에 연결할 수 있습니다.


FYI와 관련하여 Linux에서 SSMS GUI를 어떻게 얻을 수 있습니까? 나는 둘 다 설치되지 않은 mssql-servermssql-tools- 둘 GUI 응용 프로그램 또는 SSMS 관련하여 설치 아무것도 모든 종류의를 갖고있는 것 같다있는 있습니다. SSMS에 대해 가장 잘 알고 있기 때문에 계속 사용하는 것을 선호하지만 Linux에서 사용할 수 있다고 생각하지 않았습니다.
KOB

아뇨, Windows 워크 스테이션 에서 SSMS를 실행 하고 Linux의 SQL Server에 연결할 수 있다는 의미 입니다.
맥스 버논

오 알았어 아니요, 나는 단지 실험 중이며 모든 것을 Linux 컴퓨터에서 실행하고 싶습니다.
KOB

마지막으로 따라야 할 것 : 파이썬 스크립트 내에서 데이터베이스에 액세스하려면 언급 한 것처럼 sa 이외의 계정을 구성한 다음 드라이버를 설치해야합니까? Windows에서 작업 할 때 ODBC 드라이버를 사용했습니다. Windows의 Pyton 스크립트에서 SSMS에서 연결 엔진의 서버 이름을 SSMS에서 얻었습니다 CPX-9GL9XXXXXXX\SQLEXPRESS. SSMS에 액세스하지 않고도이 서버 이름을 어떻게 찾을 수 있습니까?
KOB

SQL Server Browser 는 포트 번호를 미리 몰라도 SQL Server 인스턴스를 찾는 데 사용됩니다. 따라서 for- CPX-9GL9XXXXXXX\SQLEXPRESS> SQLEXPRESS는 인스턴스 이름으로 , SQL Server Browser 서비스에서 포트 번호로 변환합니다. 불행히도 SQL Server Browser는 Linux 에서 아직 지원되지 않으므로 포트 번호 (기본적으로 1433)를 알아야합니다.
Max Vernon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.