SQLServer脚本一键备份与复原(可配置文件及多通配符支持.)

SQLServer脚本一键备份与还原(可配置文件及多通配符支持...)需求:? ?需要数据库中的对象(eg: Table 、 Trig

SQLServer脚本一键备份与还原(可配置文件及多通配符支持...)

需求:

? ?需要数据库中的对象(eg: Table 、 Trigger、 View 、Function、 StoredProcedure 等)进行迁移到同一数据库服务器或远程数据库服务器,且要求支持迁移时改名,及迁移时可以对某些对象改名。

?

思路:

? 利用SMO可以操作数据库对象进行数据库备份与还原。且有两种方式:一种是数据库脚本的形式(.sql) ;一种是整个数据库(.bak)的操作形式,因为第二种(.bak)是对整个数据库的操作,不能够有选择的备份,达不到我的要求,故这种方式我没找到解决办法。(或许本人没找到),因此这里记录的是本人通过第一种形式(.sql)的实现。因为他能够针对你指定的数据库对象来备份数据.而且还能够匹配到你指定的通配符来操作数据库对象。而且也能够进行文本替换来改名。缺点就是数据库对象之间的关系难以确定.因为假如你备份视图,但表不存在,这时就会有问题.

?

?

因为是一键对数据库进行备份与还原.所有这里有三个文件.

?

1) 批处理文件:run.bat

?

1)Restricted - No scripts can be run. Windows PowerShell can be used only in interactive mode.2)AllSigned - Only scripts signed by a trusted publisher can be run.3)RemoteSigned - Downloaded scripts must be signed by a trusted publisher before they can be run.4)Unrestricted - No restrictions; all Windows PowerShell scripts can be run.

第三句是执行同目录下的beta.ps1文件。

?

2)配置文件: config.xml?

?

配置信息为如下:?