Вы можете сделать что-то вроде этого -
$srv = new-Object Microsoft.SqlServer.Management.Smo.Server(SourceServerName); #New SMO Object
$db = New-Object Microsoft.SqlServer.Management.Smo.Database; #New Database Connection Object
$db = $srv.Databases.Item(SourceDatabaseName); #Database Information stored in $db
Если у вас есть учетные данные, вы можете построить строку подключения следующим образом -
$ConnectionString = server=*serverName*;database=*databaseName*;user id=*userName*;password=*passWord*; #For SQL Credentials
$Connection = New-Object System.Data.SQLClient.SQLConnection($ConnectionString)
или
$ConnectionString = "server=*serverName*;database=*databaseName*;user id=*domain\username*;password=*passWord*;trusted_connection=true;" #For Domain credentials
$Connection = New-Object System.Data.SQLClient.SQLConnection($ConnectionString)
Но описанный выше метод очень чувствителен к SQL-инъекциям.Если вас мало или совсем не беспокоит безопасность, вы можете попробовать что-то вроде вышеупомянутого.
Здесь вы также можете посмотреть другие решения, особенно модуль PowerShell dbatools 1017 *.Надеюсь, это поможет!