请选择 进入手机版 | 继续访问电脑版
资讯 手机客户端 00 : 00 : 00
圈子家园文章新帖公交查询实验室网盘教案管理上网客户端切换到宽版

127社区

 找回密码
 立即注册

只需一步,快速开始

用新浪微博连接

一步搞定

搜索
热搜: 思源楼 3+1课表 无线共享 招聘 学生会
关闭

站长推荐

亲,还没下载论坛手机客户端?跟上潮流做时尚达人。掌中乐趣无处不在,快点下载吧。

查看 »

10

主题

1

听众

576

积分

责任编辑

  • 收听TA
  • 发消息
发表于 2013-5-17 11:42:34 |显示全部楼层
一、数据库中出现两个相同的表、视图或存储过程,造成程序无法访问相应对象,如何处理?
原因分析:这种情况可能是因为备份还原后,不同的sql用户创建是造成的
解决办法:
1、此种情况两个相同的表,只有一个是能正常操作的,所以先把能改名的哪个表,修改另一个名;
2、右键sqlserver组-》服务器设置—》服务器行为中把允许对系统目录直接进行修改勾选上—》打开相应的数据
库中的表(sysobjects)-》删除无效的表—》把上面修改过的表或对象修改回去
3、修改表、视图、存储过程的所有者方法(使用游标方法):
declare tb cursor local for
select 'sp_changeobjectowner ''['+replace(user_name(uid),']',']]')+'].['
+replace(name,']',']]')+']'',''dbo'''
from sysobjects
where xtype in('U','V','P','TR','FN','IF','TF') and status>=0
open tb
declare @s nvarchar(4000)
fetch tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch tb into @s
end
close tb
deallocate tb
go
4、完成后右键sqlserver组-》服务器设置—》服务器行为中把允许对系统目录直接进行修改勾选取消


回复

使用道具 举报

31

主题

2

听众

5万

积分

圣贤

  • 收听TA
  • 发消息
发表于 2013-5-17 12:19:52 |显示全部楼层
支持一下
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

插件友情推广计划插件友情推广计划插件友情推广计划

手机客户端|Archiver| 127社区-重庆科创职业学院论坛 ( 渝ICP备10016736号 )   |   

GMT+8, 2013-10-16 15:22

回顶部