如何使用azure Devops管道将sql数据库表从一个VM复制到另一个VM

问题描述 投票:0回答:1

我想使用azure Devops管道将SQL数据库的特定表从源VM复制到目标VM的数据库,任何人都可以建议这样做的方法吗

powershell azure-devops automation azure-pipelines azure-sql-database
1个回答
0
投票

如果你给我 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 
  }
}

欲了解更多信息,您可以参考此文档

© www.soinside.com 2019 - 2024. All rights reserved.