Windows 2019
Sponsored Link

SQL Server 2019 : リモートホストから接続する2020/01/29

 
インストールした SQL Server のデータベースエンジンに、リモートホストから接続するには以下のように設定します。
例として、Windows 10 から接続します。
[1]
接続先の SQL Server インストール ホストと、接続元のリモートホストが、同一の Active Directory ドメインに所属している場合は、接続元ホストにドメインユーザーでログオンすれば、 こちらの例の通り、Windows 認証で SQL Server にもログオンできます
[2]
Active Directory ドメイン環境ではない接続元から SQL Server にリモート接続したい場合は、事前に SQL Server 側で、認証方式を SQL Server 認証と Windows 認証の混合モードに変更しておく必要があります。
CUI で変更する場合は PowerShell を管理者権限で起動して設定します。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

# インスタンス名確認
PS C:\Users\Administrator> Get-ItemProperty -Path "HKLM:\Software\Microsoft\Microsoft SQL Server" | Out-String -Stream | Select-String "InstalledInstances"

InstalledInstances : {MSSQLSERVER}

# 認証モードを混合モードに変更
# MSSQL15.(確認したインスタンス名)
PS C:\Users\Administrator> Set-ItemProperty -Path "HKLM:\Software\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLSERVER" -Name "LoginMode" -Value 2

PS C:\Users\Administrator> Get-ItemProperty -Path "HKLM:\Software\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLSERVER" -Name "LoginMode"

LoginMode    : 2
PSPath       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLSERVER
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER
PSChildName  : MSSQLSERVER
PSDrive      : HKLM
PSProvider   : Microsoft.PowerShell.Core\Registry

PS C:\Users\Administrator> Get-Service | Out-String -Stream | Select-String "SQL"

Running  MsDtsServer150     SQL Server Integration Services 15.0
Running  MSSQLFDLauncher    SQL Full-text Filter Daemon Launche...
Running  MSSQLSERVER        SQL Server (MSSQLSERVER)
Running  MSSQLServerOLAP... SQL Server Analysis Services (MSSQL...
Stopped  SQLBrowser         SQL Server Browser
Stopped  SQLSERVERAGENT     SQL Server Agent (MSSQLSERVER)
Running  SQLTELEMETRY       SQL Server CEIP service (MSSQLSERVER)
Running  SQLWriter          SQL Server VSS Writer
Running  SSASTELEMETRY      SQL Server Analysis Services CEIP (...
Running  SSISTELEMETRY150   SQL Server Integration Services CEI...

# SQL Server 再起動
PS C:\Users\Administrator> Restart-Service MSSQLSERVER

# Windows Firewall 稼働中の場合は データベースエンジン ポートを許可
PS C:\Users\Administrator> New-NetFirewallRule -Name "MSSQL" `
-DisplayName "SQL Server" `
-Description "Allow Database Engine" `
-Profile Any `
-Direction Inbound `
-Action Allow `
-Protocol TCP `
-Program Any `
-LocalAddress Any `
-RemoteAddress Any `
-LocalPort 1433 `
-RemotePort Any 

# ローカルホストから Windows 認証で接続して
# SQL Server の管理者ユーザーを有効にしてパスワードを設定
PS C:\Users\Administrator> sqlcmd -S localhost 

1> alter login sa enable;
2> alter login sa with password = 'password';
3> go

1> exit

# SQL Server の管理者ユーザーで SQL Server 認証でログイン
PS C:\Users\Administrator> sqlcmd -S localhost -U SA
Password:
1>     # ログインできた
[3]
GUI で変更する場合は、SQL Server 稼働ホストに SSMS をインストールして設定します。
Windows ファイアウォール稼働中の場合は、事前に [1433/TCP] を許可しておく必要があります。
認証モードを変更します。
SSMS を起動してデータベースエンジンに接続後、インスタンス名を右クリックして [プロパティ] を開きます。
[4] 左ペインで [セキュリティ] を選択し、右ペインで [SQL Server 認証モードと Windows 認証モード] にチェックを入れて [OK] します。
[5] インスタンス名を右クリックして [再起動] します。
[6] SQL Server 管理ユーザーを有効化します。
左ペインで [セキュリティ] - [ログイン] と展開し、[sa] を右クリックして [プロパティ] を開きます。
[7] 左ペインの [全般] で、SQL Server 管理者のパスワードを設定します。
[8] 左ペインの [状態] で、[ログイン] を [有効] にして [OK] します。以上で完了です。
[9]
リモートホストの Windows 10 側の設定です。
SQL Server Management Studio (SSMS) をダウンロードしてインストールします。
⇒ https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms
インストール後、SSMS を起動して、[認証] に [SQL Server 認証] を選択し、[ログイン] に、有効化した [SA] ユーザーとパスワードを指定してログインします。
[10] SQL Server 認証でログインできました。
[11]
コマンドで接続したい場合は [sqlcmd] コマンドを利用します。
ただし、 [sqlcmd] は SSMS 18 からは含まれなくなったため、利用したい場合は別途インストールする必要があります。
⇒ https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-ver15
[sqlcmd] コマンドをインストールすると、CUI での SQL Server への接続も可能です。
関連コンテンツ