SQLサーバーとデータベースサーバーは非常に初めてです。最近、SQL Server Expressを使用していて、Windows上のSQL Server Management Studioを使用してデータベースにアクセスしています。私は今、Linuxマシンで同様のセットアップを実現しようとしています。
マシンにローカルSQL Serverインスタンスを作成し、データベースにクエリを実行するためのGUIクライアントとして SQLectron を使用します。 Manjaro Linuxを使用しているので、AURからパッケージをインストールします。
これまでに、_mssql-server
_、_mssql-tools
_および_sqlectron-gui
_をインストールしました。ローカルサーバーをセットアップするために、_Sudo /opt/mssql/bin/mssql-conf setup
_コマンドを実行しました。その後、コマンド_systemctl status mssql-server
_を実行すると、次のように返されます。
[kev @ XPS-Manjaro〜] $ systemctl status mssql-server ●mssql-server.service-Microsoft SQL Server Database Engine Loaded:loaded(/ usr/lib/systemd/system/mssql -server.service;有効、ベンダープリセット:無効) アクティブ:2017年8月23日水曜日以降、アクティブ(実行中)13:43:49 IST; 2時間42分前 ドキュメント:https://docs.Microsoft.com/en-us/sql/linux メインPID:9130(sqlservr) タスク:165 CGroup:/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 blobデータ] 8月23日13:43:52 XPS-Manjaro sqlservr [9130]:[96B blobデータ] 8月23日13:43:52 XPS-Manjaro sqlservr [9130]:[100B blobデータ] Aug 23 13:43:52 XPS-Manjaro sqlservr [9130]:[71B blob data] Aug 23 13:43:52 XPS-Manjaro sqlservr [9130]:[124B blob data ] 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ソケットパス、ユーザー名はどのようにして見つけますか?
Mssql-serverサービスと同じマシンでGUIを実行している場合は、アドレス(127.0.0.1)にlocalhostを使用できます。別のワークステーションからGUIを実行している場合は、mssql-serverサービスが実行されているマシンのIPv4アドレスが必要です。 Linuxターミナルプロンプトからifconfig
を実行することで取得できます。 ifconfig
からの出力例:
eth0:flags = 4163 mtu 1500 ether 00:15:5d:89:45:01 txqueuelen 1000(Ethernet) RXパケット423バイト137827(134.5 KiB) RXエラー0ドロップ0オーバーラン0フレーム0 TXパケット0バイト0(0.0 B) TXエラー0ドロップ0オーバーラン0キャリア0コリジョン0 eth1:フラグ= 4163 mtu 1500 inet 192.168.200.11 netmask 255.255.255.0 broadcast 192.168.200.255 inet6 fe80 :: 2f70:9d15:8e7d:16cb prefixlen 64 scopeid 0x20 ether 00:15 :5d:89:45:04 txqueuelen 1000(イーサネット) RXパケット20138バイト2006000(1.9 MiB) RXエラー0ドロップ0オーバーラン0フレーム0 TXパケット19756バイト30125657(28.7 MiB) TXエラー0ドロップ0オーバーラン0キャリア0コリジョン0 lo:flags = 73 mtu 65536 inet 127.0.0.1ネットマスク255.0。 0.0 inet6 :: 1 prefixlen 128 scopeid 0x10 loop txqueuelen 1(ローカルループバック) RXパケット3239バイト361340(352.8 KiB) RXエラー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
コマンドを使用して指定したパスワードを使用します。
ドメインとUNIXソケットパスは空白のままにします。
インスタンスに接続したら、sa以外のアカウントを構成できます。 CREATE LOGIN
ステートメント でそれを行います。
参考までに、SQL Server Management Studioを使用してLinux上のSQL Serverに接続できます(必要な場合)。