sql >> Database teknologi >  >> Database Tools >> SSMS

Hvordan sender du flere kommandoer til SQL PowerShell fra Windows-kommandolinjen?

Hvis du har hver enkelt ny vare opført på en separat linje i en PS1-fil, for eksempel hvis jeg har en fil med navnet register.ps1 med følgende linjer.:

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 kalde sqlps som dette:

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

En bedre løsning ville være at tilføje parametre til register.ps1

param($ServerInstance)

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

Opret derefter en fil med listen over SQL Instances, for eksempel server.txt:

server1
server2

Kald register.ps1 for hver linje:

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


  1. SSMS tillader dublerede poster i en tabel, men ikke efterfølgende opdateringer

  2. phpMyAdmin udløser gui-tjek alder

  3. hvordan man får login mulighed for phpmyadmin i xampp

  4. Genkend datatypen nvarchar i databasen