相关疑难解决方法(0)

谁更改/修改了 SSMS 2005 或 2008 中的存储过程?

可能的重复:
确定架构更改是如何发生的?

我有一个存储过程,它在昨晚深夜修改过,早上大部分时间都在跟踪问题回到这个变化。

基本上没有人承认这一变化,所以我试图弄清楚如何找到谁修改了这个存储过程。我已经在网上研究过如何找到它,但看起来这是不可能的?

我想如果有人知道如何做到这一点,那就是这里的某个人。

我确实尝试过这个。:

“在 SSMS 中,右键单击服务器名称,选择报告/标准报告/架构更改历史记录。” --> 这没有给我任何东西,但我至少能够运行它,这为我提供了时间。

select name, create_date, modify_date
from sys.procedures
where name = 'mystoredprocedure'
Run Code Online (Sandbox Code Playgroud)

感谢您的任何建议或方向。

sql-server-2005 sql-server-2008 sql-server stored-procedures

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

如何从过程代码中删除 WITH ENCRYPTION - 通过 T-SQL

我有很多过程在创建它们时使用了WITH ENCRYPTION选项。

您可以在下面的图片中看到这一点,例如:

在此处输入图片说明

问题是当我想保存我以前版本的存储过程时,我无法得到预期的结果,如下图所示。

在此处输入图片说明

我备份存储过程代码的方式在下面的链接上: 如何备份存储过程的当前代码及其权限?

select 'Proc' = SCHEMA_NAME(p.schema_id)+'.'+p.name
    , 'Type' = per.state_desc, 'Permission' = per.permission_name
    , 'Login' = pri.name, 'Type' = pri.type_desc 
    , *
From sys.procedures as p
left join sys.database_permissions as per on p.object_id = per.major_id
left join sys.database_principals as pri on per.grantee_principal_id = pri.principal_id
where ...
Run Code Online (Sandbox Code Playgroud)

有没有办法在保存之前从存储过程的代码中删除 WITH ENCRYPTION?

前提是我拥有​​该程序的所有权。

下面的链接上有一个几乎重复的问题 How to view an encrypted view or stored procedure

但是,在这个问题上,我拥有数据库。我是系统管理员。我可以使用任何资源,但我想要通过 T-SQL 的解决方案。

sql-server stored-procedures t-sql sql-server-2014

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