如何使用Power Shell检查SQL Server 2008 R2数据库是否存在

srk786

我有一个可以正常工作的数据库脚本,但是遇到一个问题,我需要一条if语句来检查用户指定的数据库是否已经存在。如果是这样,则脚本应为其创建备份;如果它不存在,则该脚本应显示错误。

这是我的剧本

#Loads Assembly
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SmoExtended") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.ConnectionInfo") | Out-
Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SmoEnum") | Out-Null

$server = New-Object ("Microsoft.SqlServer.Management.Smo.Server") "(local)"
$bkdir = "C:\DBbackups" #We define the folder path as a variable 
$database = Read-Host "Please Specify Database Name"
$dbs = $server.Databases

#To Backup one Database specify exact name
#To backup multiple database which starts with same name use "*" 
foreach ($db in $dbs) 
{
 if($db.Name -like $database) 
 {
 $dbname = $db.Name
 $dt = get-date -format yyyyMMddHHmmss #We use this to create a file name based on the timestamp
 $dbBackup = new-object ("Microsoft.SqlServer.Management.Smo.Backup")
 $dbBackup.Action = "Database"
 $dbBackup.Database = $dbname
 $dbBackup.Devices.AddDevice($bkdir + "\" + $dbname + "_db_" + $dt + ".bak", "File")
 $dbBackup.SqlBackup($server) 
 write-host "Database backup is successful for"$dbname
 write-host "."
 write-host "New Backup file is"$dbname"_db_"$dt".bak"
 }
 }

 write-host "New Backup Location is" $bkdir

这是我修改为

 foreach ($db in $dbs) 
{


 if($db.Name -like $database) 
 {
 $dbname = $db.Name
 $dt = get-date -format yyyyMMddHHmmss #We use this to create a file name based on the timestamp
 $dbBackup = new-object ("Microsoft.SqlServer.Management.Smo.Backup")
 $dbBackup.Action = "Database"
 $dbBackup.Database = $dbname
 $dbBackup.Devices.AddDevice($bkdir + "\" + $dbname + "_db_" + $dt + ".bak", "File")
 $dbBackup.SqlBackup($server) 
 write-host "Database backup is successful for"$dbname `n

 write-host "New Backup file is"$dbname"_db_"$dt".bak" `n

 }
else {
write-host "invalid"
}
}
布鲁斯

尝试将else添加到if($ db.Name -like $ database)块中

if ($db.Name -like $database) { # do current backup stuff }
else { write-output "Database doesn't exist" }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Power Shell检查SQL Server 2008 R2数据库是否存在

来自分类Dev

如何在SQL Server 2008 R2数据库中存储处方(诊所项目)

来自分类Dev

如何使用 sql server 2008 R2 将数据库从现有数据库复制到新数据库 sql 脚本?

来自分类Dev

使用SQL Server 2008 R2调试器调试SQL Server 2005数据库

来自分类Dev

如何在SQL Server 2008 R2中生成没有复制数据的数据库脚本

来自分类Dev

如何将SQL语句应用于许多SQL Server 2008 R2数据库?

来自分类Dev

SQL Server 2008 R2是否提供跨数据库的参照完整性?

来自分类Dev

SQL Server 2008 R2无法连接到Management Studio中的本地数据库

来自分类Dev

将数据库还原到时间点SQL SERVER 2008 R2

来自分类Dev

数据库引擎恢复句柄失败的SQl Server 2008 R2

来自分类Dev

SQL Server 2008 R2上次数据库用户的日期和时间

来自分类Dev

我想为SQL Server 2008 R2数据库创建密码或登录

来自分类Dev

SQL Server 2008 R2中的困难还原数据库

来自分类Dev

将数据库还原到时间点SQL SERVER 2008 R2

来自分类Dev

SQL Server 2008 R2无法连接到Management Studio中的本地数据库

来自分类Dev

从Visual Studio 2013连接到SQL Server 2008 R2数据库

来自分类Dev

在SQL Server 2008 R2中还原数据库备份

来自分类Dev

将数据库附加到SQL Server 2008 R2错误

来自分类Dev

SQL Server 2008 R2数据库隔离更改

来自分类Dev

SQL Server 2008 R2标准版中的数据库加密方法

来自分类Dev

在SSMS 2016上为SQL Server 2008 R2数据库开发

来自分类Dev

如何将所有数据库从开发服务器导入到本地SQL Server 2008 R2?

来自分类Dev

在使用VS13数据库项目创建的SQL Server 2008 R2上部署dacpac时出现问题

来自分类Dev

将SQL Server 2008 R2数据库文件移动到新文件夹位置

来自分类Dev

将SQL Server 2008 R2数据库文件移动到新文件夹位置

来自分类Dev

从SQL Server 2008 R2中的实际数据库表中删除非重复行

来自分类Dev

SQL Server 2008 R2:从其他数据库的视图中获取table_name

来自分类Dev

SQL Server 2008 R2 中不同数据库排序规则之间的排序规则冲突

来自分类Dev

SQL Server 2008 R2不使用分配的内存

Related 相关文章

  1. 1

    如何使用Power Shell检查SQL Server 2008 R2数据库是否存在

  2. 2

    如何在SQL Server 2008 R2数据库中存储处方(诊所项目)

  3. 3

    如何使用 sql server 2008 R2 将数据库从现有数据库复制到新数据库 sql 脚本?

  4. 4

    使用SQL Server 2008 R2调试器调试SQL Server 2005数据库

  5. 5

    如何在SQL Server 2008 R2中生成没有复制数据的数据库脚本

  6. 6

    如何将SQL语句应用于许多SQL Server 2008 R2数据库?

  7. 7

    SQL Server 2008 R2是否提供跨数据库的参照完整性?

  8. 8

    SQL Server 2008 R2无法连接到Management Studio中的本地数据库

  9. 9

    将数据库还原到时间点SQL SERVER 2008 R2

  10. 10

    数据库引擎恢复句柄失败的SQl Server 2008 R2

  11. 11

    SQL Server 2008 R2上次数据库用户的日期和时间

  12. 12

    我想为SQL Server 2008 R2数据库创建密码或登录

  13. 13

    SQL Server 2008 R2中的困难还原数据库

  14. 14

    将数据库还原到时间点SQL SERVER 2008 R2

  15. 15

    SQL Server 2008 R2无法连接到Management Studio中的本地数据库

  16. 16

    从Visual Studio 2013连接到SQL Server 2008 R2数据库

  17. 17

    在SQL Server 2008 R2中还原数据库备份

  18. 18

    将数据库附加到SQL Server 2008 R2错误

  19. 19

    SQL Server 2008 R2数据库隔离更改

  20. 20

    SQL Server 2008 R2标准版中的数据库加密方法

  21. 21

    在SSMS 2016上为SQL Server 2008 R2数据库开发

  22. 22

    如何将所有数据库从开发服务器导入到本地SQL Server 2008 R2?

  23. 23

    在使用VS13数据库项目创建的SQL Server 2008 R2上部署dacpac时出现问题

  24. 24

    将SQL Server 2008 R2数据库文件移动到新文件夹位置

  25. 25

    将SQL Server 2008 R2数据库文件移动到新文件夹位置

  26. 26

    从SQL Server 2008 R2中的实际数据库表中删除非重复行

  27. 27

    SQL Server 2008 R2:从其他数据库的视图中获取table_name

  28. 28

    SQL Server 2008 R2 中不同数据库排序规则之间的排序规则冲突

  29. 29

    SQL Server 2008 R2不使用分配的内存

热门标签

归档