SQL Server 2022 : リモートホストから接続 : SQL Server 認証2023/01/13 |
インストールした SQL Server のデータベースエンジンに、リモートホストから SQL Server 認証で接続するには以下のように設定します。
Windows 認証ではないため、Active Directory ドメインの所属は必須ではありません。
|
[1] | 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} # 認証モードを混合モードに変更 # MSSQL16.(確認したインスタンス名) PS C:\Users\Administrator> Set-ItemProperty -Path "HKLM:\Software\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLSERVER" -Name "LoginMode" -Value 2 PS C:\Users\Administrator> Get-ItemProperty -Path "HKLM:\Software\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLSERVER" -Name "LoginMode" LoginMode : 2 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLSERVER PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER PSChildName : MSSQLSERVER PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry # TCP/IP の設定を有効にする PS C:\Users\Administrator> Set-ItemProperty -Path "HKLM:\Software\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp" -Name "Enabled" -Value 1 PS C:\Users\Administrator> Get-ItemProperty -Path "HKLM:\Software\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp" -Name "Enabled" Enabled : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLServer\SuperSocketNetLib PSChildName : Tcp PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry PS C:\Users\Administrator> Get-Service | Out-String -Stream | Select-String "SQL" Running MsDtsServer160 SQL Server Integration Services 16.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 SSISTELEMETRY160 SQL Server Integration Services CEI... # インスタンスサービス 再起動 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 認証で接続し # データベースインスタンスの管理者ユーザー (SA) を有効にしてパスワードを設定 PS C:\Users\Administrator> sqlcmd -S localhost 1> alter login sa enable; 2> alter login sa with password = 'P@ssw0rd01'; 3> go 1> exit # SA でログイン確認 PS C:\Users\Administrator> sqlcmd -S localhost -U SA Password: 1> # ログインできた |
SQL Server 2022 : リモートホストから接続 : SQL Server 認証 (GUI)
|
[2] |
GUI で変更する場合は、以下のように設定します。
スタートメニューから [SQL Server 2022 構成マネージャー] を起動し、左ペインで [SQL Server ネットワークの構成]
を展開して、右ペインで [TCP/IP] を有効にします。
|
[3] | SSMS を起動してデータベースエンジンに接続後、インスタンス名を右クリックして [プロパティ] を開きます。 |
[4] | 左ペインで [セキュリティ] を選択し、右ペインで [SQL Server 認証モードと Windows 認証モード] にチェックを入れて [OK] します。 |
[5] | インスタンス名を右クリックして [再起動] します。 |
[6] | データベースインスタンス 管理ユーザーを有効化します。 左ペインで [セキュリティ] - [ログイン] と展開し、[sa] を右クリックして [プロパティ] を開きます。 |
[7] | 左ペインの [全般] で、管理者のパスワードを設定します。 |
[8] | 左ペインの [状態] で、[ログイン] を [有効] にして [OK] します。 |
[9] | Windows Firewall 稼働中の場合は インスタンス サービス ポートを許可しておきます。(規定は 1433) |
SQL Server 2022 : リモートホストから接続 : SQL Server 認証 (クライアント)
|
[10] |
クライアントホストからの SQL Server 認証での SQL Server への接続です。Windows 11 を例にします。
SQL Server Management Studio (SSMS) をダウンロードしてインストールします。
インストール後、SSMS を起動して、[認証] に [SQL Server 認証] を選択し、[ログイン] に、有効化した [SA] ユーザーとパスワードを指定してログインします。
⇒ https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms |
[11] | SQL Server 認証でログインできました。 |
[12] |
コマンドで接続したい場合は [sqlcmd] コマンドを利用します。
[sqlcmd] コマンドをインストールすると、CUI での SQL Server への接続も可能です。
ただし、 [sqlcmd] は SSMS 18 からは含まれなくなったため、利用したい場合は別途インストールする必要があります。 ⇒ https://learn.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-ver16 |
Sponsored Link |
|