From cc2402f91e37ce9ad7e108f3f51bbfe99f201e0b Mon Sep 17 00:00:00 2001 From: Josh Elster Date: Mon, 19 Dec 2016 18:54:09 -0600 Subject: [PATCH] prevent attach failure when db name contains '.' When a database name along the lines of "WidgetCatalog_v8.3.433" is passed into the script, attach fails at the "v8.3". Rather than deal with trying to properly escape/encode a `[` and `]` around the names, I found that escaping them with quotes behaves as expected. --- .../mssql-server-2016-express-sp1-windows/start.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/manage/windows-containers/mssql-server-2016-express-sp1-windows/start.ps1 b/samples/manage/windows-containers/mssql-server-2016-express-sp1-windows/start.ps1 index 8885c522..8d52d04b 100644 --- a/samples/manage/windows-containers/mssql-server-2016-express-sp1-windows/start.ps1 +++ b/samples/manage/windows-containers/mssql-server-2016-express-sp1-windows/start.ps1 @@ -46,7 +46,7 @@ if ($null -ne $dbs -And $dbs.Length -gt 0){ } $files = $files -join "," - $sqlcmd = "sp_detach_db $($db.dbName);CREATE DATABASE $($db.dbName) ON $($files) FOR ATTACH ;" + $sqlcmd = "sp_detach_db ""$($db.dbName)"";CREATE DATABASE ""$($db.dbName)"" ON $($files) FOR ATTACH ;" Write-Verbose "Invoke-Sqlcmd -Query $($sqlcmd) -ServerInstance '.\SQLEXPRESS'" Invoke-Sqlcmd -Query $sqlcmd -ServerInstance ".\SQLEXPRESS" @@ -54,4 +54,4 @@ if ($null -ne $dbs -And $dbs.Length -gt 0){ } Write-Verbose "Started SQL Server." -while ($true) { Start-Sleep -Seconds 3600 } \ No newline at end of file +while ($true) { Start-Sleep -Seconds 3600 }