Sql server 2008 如何从特定模式提取存储过程/表/函数?
我需要从SQLServer08DB中提取特定模式下的所有表、存储的过程和函数。我可以在ManagementStudio中过滤显示的项目,然后对每个项目执行Sql server 2008 如何从特定模式提取存储过程/表/函数?,sql-server-2008,extract,database-schema,Sql Server 2008,Extract,Database Schema,我需要从SQLServer08DB中提取特定模式下的所有表、存储的过程和函数。我可以在ManagementStudio中过滤显示的项目,然后对每个项目执行Script As->Drop/Create,但我确实希望避免这种情况,因为模式中有很多项目 有办法做到这一点吗 编辑: 我已经看过了(我刚找到的可能是重复的)。我不想像建议的那样使用外部工具,因为这是可行的,我需要获得批准才能使用。我也不想要一个大的创建数据库脚本-我需要为每个表/存储过程/函数使用单独的脚本。Visual Studio 20
Script As->Drop/Create
,但我确实希望避免这种情况,因为模式中有很多项目
有办法做到这一点吗
编辑:
我已经看过了(我刚找到的可能是重复的)。我不想像建议的那样使用外部工具,因为这是可行的,我需要获得批准才能使用。我也不想要一个大的
创建数据库脚本-我需要为每个表/存储过程/函数使用单独的脚本。Visual Studio 2010 Premium包括数据库项目工具支持,允许您在数据库之间执行数据库架构比较(您可以只筛选到指定的数据库架构)并将实时数据库中的所有对象(和配置)提取到VS2010数据库项目中,为每个对象创建一个脚本
请参阅。基于
SELECT [text] FROM [syscomments]
--syscoments表在sql 2000中使用过,您不应该再使用它了-但是当使用sys.syscomments表时就可以了,谢谢。但是得到一个奇怪的行为-它适用于除我正在寻找的模式之外的所有模式。是否有任何配置或任何东西可以阻止架构显示在此查询/sys.objects中?我已经确定了对象绝对在正确的模式中,所以它不是空的。
select
object_name(obj.object_id),
sch.name,
co.definition
from
sys.objects obj
join sys.schemas sch on sch.schema_id = obj.schema_id
left join sys.sql_modules co on co.object_id = obj.object_id
where
sch.name = 'DBO' --here goes your schema name