如何在SQL Server中创建数据库对象的部分副本(表,函数,存储过程等)?

时间:2018-04-27 12:05:37

标签: sql-server ddl

对于与第三方的连接项目,我需要在SQL Server(2014SP2)中构建一个新数据库,该数据库将仅包含当前主要对象并且没有任何数据,除了一些基本设置,我将稍后插入

我在GitHub上维护我们的 DDL 脚本,因此每天都会将新脚本保存在那里以及带有.sql扩展名的本地SQL Server上,然后将其选中并处理通过我的存储过程mySP跨越我们的测试数据库。一旦每个人都满意并且事情已经过测试,我会将脚本发送给我们的DBA,以便现场申请。

为了解决这个新请求,我正在考虑实施相同的方法:

  1. 将所有相关脚本保存在新SQL Server上。
  2. 运行存储过程mySP,它将接收它们 并逐个处理:将执行脚本,记录 错误(我已经知道会有一些,例如外键 表格,可能还不存在),给我发一封电子邮件列表 错误,然后我将不得不手动修复它们(例如重新构建 那些外键)。
  3. 我的问题是否有更好的方法,请?

    我当前流程的示例:

    步骤1 - 在SQL Server上保存带有.sql扩展名的脚本。此类脚本的示例如下所示

    /*********************************************************************/
    --   Date   |Developer's Name    | Version | Description 
    --27/04/2018| Mr Smith           |    12   | Added new column myColumn
    -----------------------------------------------------------------------
    ALTER TABLE myTable
    ADD myColumn BIT DEFAULT 0 NOT NULL;
    

    第2步 - 我的存储过程计划每小时运行一次,并从预定义的位置获取所有.sql文件并处理它们,然后向我发送电子邮件。脚本在这里:http://www.sqlfiddle.com/#!18/e3309/1

    非常感谢任何建议。

0 个答案:

没有答案