sql >> Databasteknik >  >> Database Tools >> SSMS

Hur skickar du in flera kommandon till SQL PowerShell från Windows kommandorad?

Om du har varje enskild nyhet listad på en separat rad i en PS1-fil, till exempel förutsatt att jag har en fil med namnet register.ps1 med följande rader.:

cd 'SQLSERVER:\sqlregistration\Database Engine Server Group\'; new-item $(Encode-Sqlname server1) -itemtype registration -Value "server=server1;integrated security=true" 
cd 'SQLSERVER:\sqlregistration\Database Engine Server Group\'; new-item $(Encode-Sqlname server2) -itemtype registration -Value "server=server1;integrated security=true" 

Du kan anropa sqlps så här:

sqlps -NoExit -Command "&{C:\bin\register.ps1}"

En bättre lösning skulle vara att lägga till parametrar till register.ps1

param($ServerInstance)

cd 'SQLSERVER:\sqlregistration\Database Engine Server Group\'
New-Item $(Encode-Sqlname $server) -itemtype registration -Value "server=$serverInstance;integrated security=true"

Skapa sedan en fil med listan över SQL-instanser, till exempel server.txt:

server1
server2

Ring register.ps1 för varje linje:

get-content C:\bin\server.txt | foreach {C:\bin\register.ps1 $_ }


  1. Varför visar phpmyadmin ett fel 500 när man försöker komma in i Designer?

  2. Hur man automatiserar säkerhetskopiering av databas med phpmyadmin

  3. Mysql phpMyadmin Timeout-fråga

  4. Ett allvarligt JavaScript-fel har inträffat. Vill du skicka en felrapport? på phpmyadmin