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 page exhibits a strong Windows bias. All examples, instructions, and tooling references are specific to Windows environments. There is no mention of Linux-based SQL Server VMs, nor are there any examples or instructions for Linux users. All account names, file paths, permissions, and automation scripts (PowerShell, SMB shares, NT SERVICE accounts) are Windows-specific. The documentation assumes the use of Windows authentication, Windows file system paths, and Windows-only tools such as SSMS and PowerShell, with no Linux alternatives or parity.
Recommendations:
- Add explicit guidance and examples for SQL Server running on Linux-based Azure VMs, including differences in backup extension installation, service accounts, and file system paths.
- Provide Linux command-line equivalents (e.g., bash scripts, sqlcmd usage on Linux, chown/chmod for permissions) alongside PowerShell and SSMS instructions.
- Clarify which features or steps are Windows-only and provide alternative steps or note limitations for Linux users.
- Reference Linux authentication and account management patterns (e.g., systemd service accounts, sudoers) where appropriate.
- Include screenshots or terminal output relevant to Linux environments, not just Windows GUIs.
- Update links and quickstart guides to include both Windows and Linux SQL Server VM creation and management.
Create pull request
Flagged Code Snippets
$cred = Get-Credential
New-SmbGlobalMapping -RemotePath <FileSharePath> -Credential $cred -LocalPath <LocalDrive>: -FullAccess @("<Comma Separated list of accounts>") -Persistent $true
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 \\i00601p1imsa01.file.core.windows.net\rsvshare -Credential $cred -LocalPath Y: -FullAccess @("NT AUTHORITY\SYSTEM","NT Service\AzureWLBackupPluginSvc") -Persistent $true