网站地图 | TAG标签 | RSS订阅 | 【加入收藏,方便下次访问提供有关域名,主机,邮局,服务器,云主机等的相关知识和使用帮助!
热门搜索: 数据库 域名 转入 MSSQL 流程 解析 IIS CN
欢迎您,七彩科技(www.925.cc) 帮助系统 的忠实网友, 现在是 , 希望你在本站能找到对您有用的东西。
你现在的位置:网站首页 / SQL2005

修改SQL2005数据库表中所有者2013-5-25

    章纯属个人体会和实践,如有错误,请转告于我。大家一起研究一下!
             今天遇到一个问题,就是网站登录后台的时候,出错了,提示找不到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用户和密码之后,在里面配置进去,就可以了。

分类:服务器 | 浏览:次 | 评论:0人 | TAG:    

SQL2005配置管理器打不开,提示无法连接到WMI提供程序?2013-5-25

    SQLSERVER2005的配置管理器打不开,显示“无法连接到WMI提供程序。您没有权限或者该服务器无法访问"

    还有一个是 外围应用配置器 计算机 localhost 在网络上不存在,或无法远程配置该计算机。请验证远程计算机具有所需的 Windows Management Instrumentation 组件,然后重试。

分类:服务器 | 浏览:次 | 评论:0人 | TAG:    
«1»
Copyright © 2005-2013 925.cc. 七彩科技 客户服务中心 浙ICP备10050069号-1