【问题标题】:How to backup SQL Server database using Powershell如何使用 Powershell 备份 SQL Server 数据库
【发布时间】:2021-07-08 18:54:12
【问题描述】:

我正在尝试备份一个 SQL Server 2008 R2 数据库,数据库名称是 test

我正在使用以下 PowerShell 脚本,但我收到一条错误消息,指出数据库不存在,但我可以看到 test 数据库和表,并且可以查询它。

Backup-SqlDatabase -ServerInstance testpc-001\SQLEXPRESS -Database test -BackupAction   
Database

如果我尝试使用

编辑上述脚本
$date = Get-Date -Format yyyyMMddHHmmss
$dbname = 'test'
Backup-SqlDatabase -ServerInstance SQLEXPRESS -Database $dbname -BackupFile   
"C:\DBbackups\$($dbname)_db_$($dt).bak"

我收到一个错误,无法连接到SQLEXPRESS

【问题讨论】:

  • 请有人帮忙
  • 您是使用 SQL 身份验证还是 Windows 身份验证进行连接?
  • 我正在使用 Windows 身份验证
  • 我看到了连接参数ServerInstanceDatabase。您还需要表明您正在使用 Windows 身份验证进行连接。我在任何地方都没有看到。例如,ODBC 连接字符串将包括“Trusted_Connection=yes;”表示 Windows 身份验证。
  • 我不知道该怎么做,请您尝试修改我的脚本,非常感谢

标签: powershell sql-server-2008-r2 backup


【解决方案1】:
$date = Get-Date -Format yyyyMMddHHmmss
$dbname = 'test'
Backup-SqlDatabase -ServerInstance testpc-001\SQLEXPRESS  -Database $dbname -BackupFile   
"C:\DBbackups\$($dbname)_db_$($date).bak"

-ServerInstance 参数中有错字

【讨论】:

    【解决方案2】:
    $datetime = (Get-Date).ToString('MM-dd-yyyy');
    $database1 = "Path\to\folder" + $datetime + ".bak";
    
    $password = ConvertTo-SecureString "password" -AsPlainText -Force
    $Cred = New-Object System.Management.Automation.PSCredential ("password", $password)
    
    Backup-SqlDatabase -ServerInstance "SERVER ADDRESS" -Credential $Cred -Database Dummy_Bkp -Initialize -BackupFile $database1;
    
    start-sleep -Seconds 20
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      • 1970-01-01
      • 1970-01-01
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多