Powershell 将Backup SqlDatabase cmdlet与SQL Server身份验证一起使用

Powershell 将Backup SqlDatabase cmdlet与SQL Server身份验证一起使用,powershell,sql-server-2012,backup-sqldatabase,Powershell,Sql Server 2012,Backup Sqldatabase,是否有方法调用Backup SqlDatabase cmdlet,但让它使用SQL Server凭据连接到SQL Server 2012 我当前使用的命令是: Backup-SqlDatabase -ServerInstance $serverName -Database $sqldbname -BackupFile "$($backupFolder)$($dbname)_db_$($addinionToName).bak" 但这取决于调用它的用户,默认情况下使用的是Windows身份验证。您

是否有方法调用Backup SqlDatabase cmdlet,但让它使用SQL Server凭据连接到SQL Server 2012

我当前使用的命令是:

Backup-SqlDatabase -ServerInstance $serverName -Database $sqldbname -BackupFile "$($backupFolder)$($dbname)_db_$($addinionToName).bak"
但这取决于调用它的用户,默认情况下使用的是Windows身份验证。

您可以在运行
备份SqlDatabase

$backupFolder='…'
$AdditionTonName=“…”
$user='Username'
$pass='Password'
$inst='Server\Instance'
$db='master'
$file=“$backupFolder${db}\u db\u$additionToName.bak”
$root=“SQLSERVER:\SQL\$inst”
$drv='sqldrive'
$cred=New Object Management.Automation.PSCredential-ArgumentList$user,$pass
新PSDrive$drv-PSProvider SqlServer-Root$Root-Credential$cred-Scope 1
设置位置$drv
备份SqlDatabase-ServerInstance$inst-Database$db-BackupFile$file
或者,您可以通过以下方式备份数据库:

$backupFolder='…'
$AdditionTonName=“…”
$user='Username'
$pass=ConvertTo SecureString'Password'-AsPlainText-Force
$inst='Server\Instance'
$db='master'
$file=“$backupFolder${db}\u db\u$additionToName.bak”
$sql=@“
使用$db;
去
将数据库$db备份到磁盘=“$file”;
去
"@
调用Sqlcmd-Query$sql-ServerInstance$inst–用户名$user–密码$pass

backup sqldatabase cmdlet支持凭据参数。如果查看cmdlet的帮助,甚至还有一个示例(来自帮助备份sqldatabase-full):


能否在SQL Server实例中将脚本作为Powershell作业步骤运行?然后它将在代理的帐户下运行,身份验证不应该是一个问题。您可以将变量名从下面的下划线中分离出来,方法是将其放在大括号中:
“$backupFolder${dbname}\u db\u$addinionToName.bak”
。嘿@chad miller,谢谢您的回复。我也需要这个。但是,由于我们的备份过程计划每晚在服务器上运行,而且不是人工完成的,我想知道我们是否可以在脚本中包含密码,这样就不用等待人工输入密码了。。。
 -------------------------- EXAMPLE 4 --------------------------

 C:\PS>Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -Credential (Get-Credential sa)


 Description
 -----------
 This command creates a complete database backup of the database 'MyDB', using the sa SQL Server credential. This co
 mmand will prompt you for a password to complete SQL Server authentication.