Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 如何从特定模式提取存储过程/表/函数?_Sql Server 2008_Extract_Database Schema - Fatal编程技术网

Sql server 2008 如何从特定模式提取存储过程/表/函数?

Sql server 2008 如何从特定模式提取存储过程/表/函数?,sql-server-2008,extract,database-schema,Sql Server 2008,Extract,Database Schema,我需要从SQLServer08DB中提取特定模式下的所有表、存储的过程和函数。我可以在ManagementStudio中过滤显示的项目,然后对每个项目执行Script As->Drop/Create,但我确实希望避免这种情况,因为模式中有很多项目 有办法做到这一点吗 编辑: 我已经看过了(我刚找到的可能是重复的)。我不想像建议的那样使用外部工具,因为这是可行的,我需要获得批准才能使用。我也不想要一个大的创建数据库脚本-我需要为每个表/存储过程/函数使用单独的脚本。Visual Studio 20

我需要从SQLServer08DB中提取特定模式下的所有表、存储的过程和函数。我可以在ManagementStudio中过滤显示的项目,然后对每个项目执行
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