Azure / Azure/sql-action

Database names with spaces cause firewall detection to fail - sqlcmd argument not quoted

Abierto
#267 0 comentarios 0 reacciones 1 asignado Reclamado por @dzsquared Ver en GitHub
bug
Lenguaje dominante
TypeScript
Estrellas
142
Forks
73
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

When the connection string contains a database name with a space (e.g. `Initial Catalog=MyDatabase Live`), the firewall IP detection step fails because the database name is not properly quoted when passed to sqlcmd.

**Error:**
```
Failed to add firewall rule. Unable to detect client IP Address. Sqlcmd: 'Live': Unknown command. Enter '--help' for command help.
```

**Debug output:**
```
##[debug]Validating if client has access to 'MyDatabase Live' on 'myserver.database.windows.net'.
##[debug]The process 'sqlcmd' failed with exit code 1
##[debug]SqlCmd stderr: Sqlcmd: 'Live': Unknown command. Enter '--help' for command help.
```

The action correctly parses the database name as `MyDatabase Live`, but fails to quote it when executing sqlcmd.

**Environment:**
- `azure/sql-action@v2.3`
- `runs-on: ubuntu-latest`
- Azure SQL Database with `Authentication=Active Directory Default`

**Connection string:**
```
Server=myserver.database.windows.net;Initial Catalog=MyDatabase Live;Authentication=Active Directory Default;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
```

**Attempted workarounds (none worked):**
- Single quotes: `Initial Catalog='MyDatabase Live'`
- Double quotes: `Initial Catalog="MyDatabase Live"`

**Potential root cause:**

The `detectIPAddress` function extracts the database name correctly but may pass it to sqlcmd as the `-d` argument without quoting, resulting in:

```
sqlcmd -S myserver.database.windows.net -d MyDatabase Live -Q "select getdate()"
```

**Expected behaviour:**

```
sqlcmd -S myserver.database.windows.net -d "MyDatabase Live" -Q "select getdate()"
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.