Mah*_*ari 9 sql stored-procedures sql-server-2008-r2
Stored Procedures
我的Sql server 2008 R2
数据库中有200个由应用程序自动生成.现在我想删除所有与再生它们,因为表已发生了很大变化.
这个问题与我的情况非常相似,但在我的情况下,所有的SP都以sp_开头,我认为使用相同的代码是危险的,因为系统SP也是以sp_开头的,我可能会全部杀死它们.
我应该相信上面链接中的解决方案吗?如果没有,是否有更安全的解决方案?
Aar*_*and 24
如果这是一次性任务,只需打开对象资源管理器,展开数据库>可编程性并突出显示"存储过程"节点.然后打开对象资源管理器详细信息(我认为是F7).在右侧,您应该看到您的列表,在这里您可以进行多选 - 因此您可以按名称排序,选择以sp_开头的所有过程,并通过一次击键将它们全部删除.
如果你反复这样做,那么(假设你的程序都在dbo模式中):
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += N'DROP PROCEDURE dbo.'
+ QUOTENAME(name) + ';
' FROM sys.procedures
WHERE name LIKE N'sp[_]%'
AND SCHEMA_NAME(schema_id) = N'dbo';
EXEC sp_executesql @sql;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20355 次 |
最近记录: |