标签: generate-scripts

获取SQLCLR存储过程的T-SQL CREATE语句

我有一个应用程序,使用sp_helptext检索存储过程的文本.它适用于 CLR存储过程之外的所有存储过程.如果我尝试sp_helptext在SQLCLR存储过程上使用,我会收到此错误:

对象'PROC_NAME'没有文字

我知道SSMS可以在我使用"script as" - >"create to" - >命令时执行此操作.

但是当我使用SQL Server Profiler跟踪SSMS"生成脚本"操作时,它给了我一个相当复杂的活动的令人生畏的长列表.如果必须的话,我可以通过它,但有没有人知道以编程方式获取CLR存储过程的代码的简单方法?

编辑以澄清
我不希望看到程序集中的实际代码; 我只想要一种简单的方法来查看T-SQL代码,如下例所示:

CREATE PROCEDURE [dbo].[MY_PROC]
    @PARAM1 [xml],
    @PARAM2 [uniqueidentifier],
    @PARAM3 [nvarchar](255),
    @PARAM4[bit] = False
WITH EXECUTE AS OWNER
AS
EXTERNAL NAME [SomeSolution.SomeProject].[SomeAssembly].[SomeMethod]
GO
Run Code Online (Sandbox Code Playgroud)

换句话说,SQLCLR函数的"SQL Server端".

sql-server sqlclr generate-scripts

9
推荐指数
1
解决办法
7023
查看次数

在SQL Server中导入现有的存储过程

我从生产中恢复了我的开发数据库,​​我的生成数据库中不存在我在开发环境中需要的存储过程.是否可以使用命令将developmetn存储过程导入SQL Server.大约有88个文件,因为每个过程都在不同的文本文件中.

TIA!克里斯

sql-server import stored-procedures generate-scripts

5
推荐指数
1
解决办法
2万
查看次数

SQL Server 2012:如何将所有数据库存储过程编写成单独的.sql文件脚本?

我想将所有从SQL Server 2012到Visual Studio 2012的存储过程编写为.sql文件脚本 (在另一个项目中)。我怎么做?我需要每个存储过程一个.sql文件吗?在SQL Server 2012中右键单击数据库后,可以使用“在任务中生成脚本”选项获取脚本。但是,在每种情况下,.sql文件的名称均为spname.StoredProcedure。我希望该名称为spname.sql。同样,我不希望文件名是database.spname.StoredProcedure,我希望它只是spname.sql

sql sql-server sql-scripts generate-scripts visual-studio-2012

4
推荐指数
2
解决办法
1万
查看次数

SQL Server 生成带有标识插入的脚本

生成数据库脚本时,我正在编写要迁移到不同环境的数据的脚本。脚本生成中是否有一个设置,我可以启用它来自动设置 IDENTITY_INSERT 开/关,这样我就不必在生成的脚本中手动检查每个表并进行设置?我正在使用 SSMS,我想通过 SSMS 来做到这一点。

这是我得到的:

INSERT my_table (my_table_id, my_table_name) VALUES (1, 'val1');
INSERT my_table (my_table_id, my_table_name) VALUES (2, 'val2');
Run Code Online (Sandbox Code Playgroud)

这是我想要的:

SET IDENTITY_INSERT my_table ON
INSERT my_table (my_table_id, my_table_name) VALUES (1, 'val1');
INSERT my_table (my_table_id, my_table_name) VALUES (2, 'val2');
SET IDENTITY_INSERT my_table OFF
Run Code Online (Sandbox Code Playgroud)

identity-insert generate-scripts sql-server-2008

2
推荐指数
1
解决办法
8517
查看次数