1

我已获得访问第三方应用程序当前使用的 SQL Server 数据库的权限。因此,我没有任何关于该应用程序如何存储数据或如何检索数据的文档。

我可以根据各种表的名称以及用户定义的函数采用和返回的参数来弄清楚一些事情,但每隔一段时间我仍然会遇到错误。

我在想,如果我能看到存储的函数对返回输出的参数做了什么,那将是非常有帮助的。现在我能弄清楚的是如何查询输入参数和输出列。

是否有任何内置information_schema表可以公开函数在输入和输出之间的作用?

4

3 回答 3

2

如果您可以以某种方式对您的数据库执行查询,并且如果您具有读取系统目录视图的必要权限,那么您可以运行此查询以获取名称、定义(SQL 代码)和更多关于你的职能:

SELECT 
    obj.name ,
    obj.type ,
    obj.type_desc ,
    obj.create_date ,
    obj.modify_date ,
    m.definition ,
    m.is_schema_bound 
FROM 
    sys.objects obj
INNER JOIN 
    sys.sql_modules m ON obj.object_id = m.object_id
WHERE 
    obj.type IN ('AF', 'FN', 'FS', 'FT', 'IF', 'TF')
于 2010-04-26T05:03:57.890 回答
0

如果您有适当的权限,您可以简单地编写所有存储过程和函数的脚本:

在 SSMS (SQL Server Management Studio) 中右键单击您的数据库,选择 Tasks –> Generate Scripts,确保您的数据库突出显示,然后单击下一步。确保选择脚本输出存储过程和函数的选项。

无需 SQL Server 许可证即可安装 SSMS(客户端工具)。

于 2010-04-26T03:08:23.497 回答
0

另一种方法是sp_helptext向您显示传递的 SP 或 UDF 的来源;

sp_helptext fnBlaDeBla

于 2010-04-26T09:56:55.440 回答