zoukankan      html  css  js  c++  java
  • SQL2000 修改表所有者的方法

    SQL2000 修改表所有者的方法

    单个修改所有者sql语句如下:

    查询分析器输入:EXEC sp_changeobjectowner 'user.table', 'dbo'

    user.table的意思为:所有者.表名,比如oblog.oblog_user,以前的语句表示将table这张表的所有者由

    user改成dbo

    批量修改所有者语句如下:

    查询分析器输入:exec sp_msforeachtable 'sp_changeobjectowner ''?'', ''dbo'''

    即可把当面表的所有所有者换成dbo

    第二种方法:

    更改数据库所有者并不能影响已经创建的表的所有者,你需要使用sp_changeobjectower来改变对象的所有者,并且对象的所有者sa对应的是dbo

    以下语句是利用游标,读取mydb帐户拥有的所有对象,并将其所有者更改为sa
    另外如果之前本地不存在mydb帐户,可能会导致孤立帐户的出现,你先试试能不能成功吧,如果不行,再提供给你解决方法。

    declare cur cursor for
    select name
    from sysobjects
    where uid=user_id('mydb')

    declare @name sysname
    declare @sqlstr varchar(5000)

    open cur
    fetch next from cur
    into @name

    while @@fetch_status=0
    begin
    set @sqlstr='exec sp_changeobjectowner ''mydb.'+@name+''',''dbo'''
    exec (@sqlstr)
    fetch next from cur
    into @name
    end
    close cur
    deallocate cur

  • 相关阅读:
    《思帝乡·春日游》——[唐]韦庄
    《临江仙·梦后楼台高锁》——[宋]晏几道
    《西江月·夜行黄沙道中》——辛弃疾
    CentOS7 安装 MySQL 5.7.10
    CentOS6 下安装JDK7
    Makefile基础
    CentOS6 下Vim安装和配置
    CentOS6 下MySQL option file
    CentOS6 下编译安装 MySQL 5.6.26
    slice和substring的区别
  • 原文地址:https://www.cnblogs.com/fengju/p/6173817.html
Copyright © 2011-2022 走看看