About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
windows_first
⚠️
missing_linux_example
⚠️
windows_tools
⚠️
powershell_heavy
Summary:
The documentation is heavily biased toward Windows environments. All examples, instructions, and tooling references (such as SSMS, NT SERVICE accounts, and PowerShell scripts) are specific to Windows. There is no mention of Linux-based SQL Server VMs, nor are there any Linux command-line or configuration examples. The documentation assumes the use of Windows authentication, Windows file paths, and Windows-specific service accounts, with no guidance for equivalent Linux scenarios.
Recommendations:
- Add explicit support and examples for SQL Server running on Linux-based Azure VMs, including any differences in the Azure Backup extension and service account configuration.
- Provide Linux command-line examples (e.g., using sqlcmd, bash scripts) for granting permissions and configuring backups.
- Clarify whether the AzureBackupWindowsWorkload extension or an equivalent is available for Linux, and if not, state the limitation up front.
- Include Linux file path conventions and permission-setting instructions (e.g., using chmod/chown) for configuring local backup folders.
- Mention any differences in authentication (e.g., use of local or domain accounts vs. service accounts) for Linux SQL Server.
- If the solution is Windows-only, clearly state this at the beginning of the documentation to set expectations.
Create pull request
Flagged Code Snippets
param(
[Parameter(Mandatory=$false)]
[string] $InstanceName = "MSSQLSERVER"
)
if ($InstanceName -eq "MSSQLSERVER")
{
$fullInstance = $env:COMPUTERNAME # In case it is the default SQL Server Instance
}
else
{
$fullInstance = $env:COMPUTERNAME + "\" + $InstanceName # In case of named instance
}
try
{
sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT Service\AzureWLBackupPluginSvc', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
Write-Host "An error occurred:"
Write-Host $_.Exception|format-list -force
}
try
{
sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT AUTHORITY\SYSTEM', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
Write-Host "An error occurred:"
Write-Host $_.Exception|format-list -force
}
{
"EnableLocalDiskBackupForBackupTypes": ["Log"],
"LocalDiskBackupFolderPath": "E:\\LocalBackup",
}
$cred = Get-Credential
New-SmbGlobalMapping -RemotePath <FileSharePath> -Credential $cred -LocalPath <LocalDrive>: -FullAccess @("<Comma Separated list of accounts>") -Persistent $true
$cred = Get-Credential
New-SmbGlobalMapping -RemotePath \\i00601p1imsa01.file.core.windows.net\rsvshare -Credential $cred -LocalPath Y: -FullAccess @("NT AUTHORITY\SYSTEM","NT Service\AzureWLBackupPluginSvc") -Persistent $true