我在 SQL Server 2008R2 中有一个非常大的生产数据库和一个非常大的测试环境数据库。两个数据库具有相似的表结构,但不同的用户/登录名/权限/角色。
我只需要定期从生产中刷新测试数据库中的几个表,大约每月一次。
我目前计划这样做的方式是
对于这么小的任务来说,这一切似乎有点太复杂了。它似乎也会产生很多重做(在 t-log 中)有没有更好的方法来做到这一点?
我想到的另一种方法是将备份从生产恢复到测试环境 - 但我遇到的问题是完整备份会非常大,我不需要刷新所有表,只需要刷新几个 - - 而且生产数据库中的用户和安全性与测试不同。如果我恢复整个数据库,这将被生产数据库中的安全设置覆盖。
我正在创建一个存储过程,我希望它接受不同数量的参数,并根据提供的参数数量具有不同的行为。因此,假设我提供一个参数(例如一个数字),它会返回该数字。如果我给它提供两个数字,我希望它把它们加在一起。如果我为它提供一个字符串和一个数字,我希望它将字符串与数字连接起来并显示它——类似于 Java 中重载构造函数的行为。
SQL Server 中的存储过程是否有这样的功能,或者我最好只创建单独的存储过程。我只想走这条路,让我的应用程序结构更简单。
谢谢