网站地图 | TAG标签 | RSS订阅 | 【加入收藏,方便下次访问提供有关域名,主机,邮局,服务器,云主机等的相关知识和使用帮助!
热门搜索: 数据库 域名 转入 MSSQL 流程 解析 IIS CN
你现在的位置:网站首页 / 服务器 / 正文内容

修改SQL2005数据库表中所有者
时间:2013-5-25 12:57:0 | 作者 : 925help | 分类 : 服务器 | 浏览: 次 | 已有 0 人对本文发表了看法

章纯属个人体会和实践,如有错误,请转告于我。大家一起研究一下!
         今天遇到一个问题,就是网站登录后台的时候,出错了,提示找不到admin表。但是在
数据库的表中是能够看到的,只是表名略有不同。
        先说说问题吧:
        首先,网站是从别的服务器上转到这个服务器上的,我们都知道网站有
数据库的,况且这个网站是SQL2005的数据库,也就是传到这个服务器上之后,我们要附加数据库,但是附加完毕之后,也就需要配置数据库。
        然后我们需要进行新建这个
数据库的账号和密码,但是默认原本数据库里面的账号就必须得删除,但是就在删除的时候,出错了!说是用户在架构中存在,我们大家都知道用户默认新建之后会出现在数据库的架构里面,所以要删除此用户,必须先要到架构里面删掉这个用户的架构。
        但是,可惜的是在删除的时候,又出现了错误,也就是
数据库的架构在admin的表中已经使用,也就是我在本文开始前的一句话,表名变了,默认的表名一般为dbo_admin ,但是此时的表名为用户名加admin,例如:“925cc_admin”就像这种格式。
         所以,情况恶劣了,就是架构也删不掉,就意味着用户删不掉,也意味着现在的表也不能使用。理所当然的是先要修改表名。但是,表有很多,批量修改表名的命令是有,但是要与储存过程一起使用。
         首当其冲的当然是要新建一个储存过程,但是百度不给力,搜了半天没有结果,根据公司网建加研发的一些人给经验,然后弄出来了。
解决办法 :
       1、 首先在此
数据库里面新建查询,直接复制下面的代码到查询窗口里面,点执行就可以了,代码如下:
 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[changename]')
and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[changename]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
Create PROCEDURE dbo.changename
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
AS
DECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)
DECLARE curObject CURSOR FOR
select 'Name' = name,
'Owner' = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name
OPEN curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner + '.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end
FETCH NEXT FROM curObject INTO @Name, @Owner
END
close curObject
deallocate curObject
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
        2、执行完毕之后,也就是存储过程已经建立完毕,然后开始执行,下面的代码,复制之后,修改成你表中的名称,比如我以925cc_admin为例,代码如下:
           exec Changename '925cc','dbo'
        3、执行完这两段代码之后,在刷新一下
数据库,此时数据库的表就显示为“dbo_admin”这样才算解决完毕。
        其实文章到上面一段已经结束了,不过我还说一下吧!
        这个被上传到这个服务器上的网站属于ASP的,所以他的配置文件在admin的con
n
件和conn2文件里面配置。所以新建SQL用户和密码之后,在里面配置进去,就可以了。

本文系作者辛苦写作所得,转载请留下版权链接:本文转载自七彩科技(www.925.cc) 帮助系统(http://www.925.cc)感激不尽!

发表评论:

必填,人过留名 雁过留声

选填,填了我们绝对保密

选填,欢迎站长留下链接互访

必填,不填不让过哦,嘻嘻。

记住我,下次回复时不用重新输入个人信息

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

无觅相关文章插件,快速提升流量
Copyright © 2005-2013 925.cc. 七彩科技 客户服务中心 浙ICP备10050069号-1