Как прекратить сеанс sqlps и закрыть соединение с базой данных после запуска Invoke-Sqlcmd?

У меня есть следующий скрипт Powershell, который использует Invoke-Sqlcmd Командлет для выполнения SQL-запросов:

Push-Location
Invoke-Sqlcmd -ServerInstance "localhost\SQLEXPRESS" -Query "DROP DATABASE DBB;"
Invoke-Sqlcmd -ServerInstance "localhost\SQLEXPRESS" -Query "CREATE DATABASE DBB;"
Invoke-Sqlcmd -ServerInstance "localhost\SQLEXPRESS" -Database "DBB" -InputFile "AllTables.sql"
Pop-Location

Я не могу запустить этот скрипт несколько раз, потому что при первом запуске не закрывается соединение с базой данных.

На втором запуске при падении DBB В базе данных произошла ошибка "База данных уже используется".

Как правильно выйти из сеанса sqlps и закрыть соединение с базой данных? Пока что я обошёл эту проблему, перезапустив экземпляр SqlServer, который довольно хромает.

0 ответов

Другие вопросы по тегам