我想使用azure Devops管道将SQL数据库的特定表从源VM复制到目标VM的数据库,任何人都可以建议这样做的方法吗
如果你给我 powershell 脚本来复制就好了,
您可以使用下面的 PowerShell 脚本将 sql 数据库表从一个虚拟机复制到另一台虚拟机,即从一台 sql 服务器复制到另一台 sql 服务器:
Param (
[parameter(Mandatory = $true)]
[string] $SrcServer,
[parameter(Mandatory = $true)]
[string] $SrcDatabase,
[parameter(Mandatory = $true)]
[string] $DestServer,
[parameter(Mandatory = $true)]
[string] $DestDatabase,
[parameter(Mandatory = $false)]
[string] $LogLocation = "C:\Temp\"
)
$ScriptLog = $LogLocation+$SrcDatabase+"_"+$DestDatabase+".log"
Try
{
Get-Date >> $ScriptLog
}
Catch [System.Exception]
{
$ex = $_.Exception
Write-Host $ex.Message
}
Try
{
$TableNames = Read-SQLTableData -ServerInstance $SrcServer -DatabaseName $SrcDatabase -SchemaName "dbo" -TableName "TableList"
}
Catch [System.Exception]
{
$ex = $_.Exception
Write-Host $ex.Message
}
ForEach($TableName in $TableNames)
{
Try
{
Write-Host $TableName.TableName
Copy-DbaDbTableData -SQLInstance $SrcServer -Destination $DestServer -Database $SrcDatabase -DestinationDatabase $DestDatabase -Table $TableName.TableName -DestinationTable $TableName.TableName >> $ScriptLog
}
Catch [System.Exception]
{
$ex = $_.Exception
Write-Host $ex.Message
}
}
欲了解更多信息,您可以参考此文档。