社区
MS-SQL Server
帖子详情
使用sp_depends查看对象相关性时候,怎么更新数据库对象相关性的信息
vovo2000
2006-06-15 05:49:24
使用sp_depends查看对象相关性时候,有时候因为某些原因无法查出。比如查一个存储过程的相关性时,有时候查不出来,需要Alter一下这个存储过程,或者执行一下这存储过程之后在执行一下sp_depends才能查询出来。
如果有很多存储过程,我怎么样才能一次同时更新这些存储过程的相关性信息啊。
如果可能把出现丢失相关性信息的原因也说明一下,比如什么操作会导致丢失相关性性信息啊。
...全文
378
5
打赏
收藏
使用sp_depends查看对象相关性时候,怎么更新数据库对象相关性的信息
使用sp_depends查看对象相关性时候,有时候因为某些原因无法查出。比如查一个存储过程的相关性时,有时候查不出来,需要Alter一下这个存储过程,或者执行一下这存储过程之后在执行一下sp_depends才能查询出来。 如果有很多存储过程,我怎么样才能一次同时更新这些存储过程的相关性信息啊。 如果可能把出现丢失相关性信息的原因也说明一下,比如什么操作会导致丢失相关性性信息啊。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vovo2000
2006-06-16
打赏
举报
回复
谢谢邹老大!!马上结帖!!
laoliu666
2006-06-15
打赏
举报
回复
老大就是老大,顶
zjcxc
元老
2006-06-15
打赏
举报
回复
如何一次性更新的问题, 这个有点麻烦, 因为很多情况下不是重新编译一下就可以解决问题的, 而是必须要ALTER一下, 所以不是那么简单.
不过, 还是有一个不是很复杂的方法, 那就是生成脚本, 再执行脚本, 方法如下:
1. 生成脚本
企业管理器--右键你的数据库--所有任务--生成脚本--选择"为所有对象生成脚本", 然后调整一下, 只选择为存储过程生成脚本
然后将脚本保存到一个文件中
2. 创建的脚本的行为是创建存储过程, 我们要把它改成ALTER行为
查询分析器连接到sql服务器, 选择你的数据库, 然后打开刚才生成的脚本文件, 按Ctrl+H打开替换对话框, 将CREATE替换为ALTER
3. 执行脚本完成刷新, 按F5执行修改后的脚本
zjcxc
元老
2006-06-15
打赏
举报
回复
"有时候查不出来,需要Alter一下这个存储过程"
alter 会导致存储过程引用的对象的相关信息被重写, 所以alter 一下之后, 用sp_depends当然就可以查出结果了.
同样用上面的测试示例, 楼主在最后的删除之前做一个ALTER, 然后再查询 EXEC sp_depends, 就会出结果了.
zjcxc
元老
2006-06-15
打赏
举报
回复
--=====================================================
--1. 不会被 sp_depends 查询出来的情况
--=====================================================
/*-- 对象建立的顺序问题
当存储过程引用的对象比存储过程后建立的时候, 就会产生这种情况
一般被视为关联信息丢失
--*/
CREATE PROC dbo.p
AS
SELECT * FROM dbo.tb
GO
CREATE TABLE dbo.tb(id int)
EXEC dbo.p
GO
EXEC sp_depends 'dbo.p'
EXEC sp_depends 'dbo.tb'
GO
DROP TABLE dbo.tb
DROP PROC dbo.p
/*-- 引用的对象删除后再重建
当存储过程引用的对象在删除后重新建立, 这种关联也会丢失
--*/
CREATE TABLE dbo.tb(id int)
GO
CREATE PROC dbo.p
AS
SELECT * FROM dbo.tb
GO
EXEC sp_depends 'dbo.p'
EXEC sp_depends 'dbo.tb'
GO
DROP TABLE dbo.tb
CREATE TABLE dbo.tb(id int)
GO
EXEC sp_depends 'dbo.p'
EXEC sp_depends 'dbo.tb'
GO
EXEC dbo.p
GO
EXEC sp_depends 'dbo.p'
EXEC sp_depends 'dbo.tb'
GO
DROP TABLE dbo.tb
DROP PROC dbo.p
系统存储过程
这些过程可以帮助管理员和开发人员更方便地管理和查询
数据库
对象
的
相关性
、依赖关系、状态等
信息
。 1. **
sp
_
depends
** 是一个非常重要的系统存储过程,它用于显示
数据库
对象
之间的依赖关系。当你想要了解一个表、...
SQL_Server_2000教程第三章
-
使用
`
sp
_
depends
`系统存储过程
查看
依赖于该存储过程的
对象
。 **4. 删除存储过程** - **删除存储过程**: -
使用
`DROP PROCEDURE`命令删除存储过程,例如:`DROP PROCEDURE u
sp
_get_product_details_new;` ###...
数据库
实验报告(视图).pdf
4. **检查视图
相关性
**:利用`
sp
_
depends
`存储过程可以
查看
视图与其他
对象
的依赖关系,确保修改不会影响到其他系统组件。 5. **修改视图**:如果需要
更新
视图的查询逻辑,可以
使用
`ALTER VIEW`语句进行修改。 6. **...
数据库
实验报告视图.pdf
- **检查视图
相关性
**:
使用
`
sp
_
depends
`存储过程
查看
哪些
对象
依赖于视图或被视图依赖。 - **修改视图**:通过`ALTER VIEW`语句
更新
视图的定义,但需要注意,如果视图已被其他
对象
引用,修改可能会影响这些
对象
。 - ...
天翼云从业者练习题(含答案).docx
【云计算概念与发展】 云计算是一种基于互联网的计算...查询存储过程与表之间的
相关性
通常
使用
`
sp
_
depends
`命令。虚拟化中的虚拟地址(VA)是虚拟机看到的地址,由虚拟机管理器(VMM)抽象出来,不同于实际物理地址。
MS-SQL Server
34,838
社区成员
254,632
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章