我目前正在将表,视图和存储过程从SQL Server中的一个数据库移动到同一服务器上的另一个数据库。几个星期前,我已经开始手动移动其中一些程序,我不确定到目前为止我已经移动了哪些程序。我想写一个查询,将我已经移动到数据库2的表与数据库1中的表进行比较,并列出数据库1中的东西,我还没有移动过。我想我对从哪里开始感到困惑,因为我没有太多使用系统表的经验。
答案 0 :(得分:0)
最简单的方法是忽略你已经做过的事情,使用SSMS Generate Scripts任务编写所有脚本,然后执行DROP / CREATE或检查是否存在只是为了确定。
答案 1 :(得分:0)
这里应该有用。
select
name
,type_desc
from
CurrentDatabase.sys.objects
where
is_ms_shipped <> 1
and type_desc in ('VIEW','SQL_STORED_PROCEDURE','USER_TABLE') --add in trigers, TVF, etc that you may want...
except
select
name
,type_desc
from
YourNewDatabase.sys.objects
where
is_ms_shipped <> 1
and type_desc in ('VIEW','SQL_STORED_PROCEDURE','USER_TABLE') --add in trigers, TVF, etc that you may want...