查看: 4099|回复: 4

恢复别人备份引起的问题,请赐教,谢谢!!!急待中!

[复制链接]
论坛徽章:
0
跳转到指定楼层
1#
发表于 2005-9-27 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我恢复别人备份的别的机器上的SQL数据库到我的机器上的SQL SERVER,恢复后该数据库中有一个用户,该用户是所有者,很多表的所有者也是他,但我的安全性里的登录中没有该用户,我删除不了该用户,提示“因为选定的用户拥有对象,所以无法除去该用户”,我创建了别的登录用户后,给他所有者权限,但访问不了数据库,提示对象名---无效,但该表存在,请大家指教该如何处理这个问题,谢谢!!!
论坛徽章:
28
授权会员
日期:2005-10-30 17:05:332011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36马上有车
日期:2014-02-19 11:55:14
2#
发表于 2005-9-27 11:57 | 只看该作者
更改对象所有者

/*
Version: SQL Server 7.0/2000
Created by: Alexander Chigrik
http://www.MSSQLCity.com/ - all about MS SQL
(SQL Server Articles, FAQ, Scripts, Tips and Test Exams).

This stored procedure can be used to run through all of a specific
database's objects owned by the 'oldowner' and change the old
owner with the new one.
You should pass the old owner name and the new owner name,
as in the example below:

EXEC ChangeAllObjOwner @oldowner = 'John', @newowner = 'Alex'
*/

IF OBJECT_ID('ChangeAllObjOwner') IS NOT NULL DROP PROC ChangeAllObjOwner
GO

CREATE PROCEDURE ChangeAllObjOwner (
  @oldowner sysname,
  @newowner sysname
)
AS
DECLARE @objname sysname
SET NOCOUNT ON

--check that the @oldowner exists in the database
IF USER_ID(@oldowner) IS NULL
  BEGIN
    RAISERROR ('The @oldowner passed does not exist in the database', 16, 1)
    RETURN
  END
--check that the @newowner exists in the database
IF USER_ID(@newowner) IS NULL
  BEGIN
    RAISERROR ('The @newowner passed does not exist in the database', 16, 1)
    RETURN
  END

DECLARE owner_cursor CURSOR FOR
  SELECT name FROM sysobjects WHERE uid = USER_ID(@oldowner)

OPEN owner_cursor
FETCH NEXT FROM owner_cursor INTO @objname
WHILE (@@fetch_status <> -1)
BEGIN
  SET @objname = @oldowner + '.' + @objname
  EXEC sp_changeobjectowner @objname, @newowner
  FETCH NEXT FROM owner_cursor INTO @objname
END

CLOSE owner_cursor
DEALLOCATE owner_cursor
GO

使用道具 举报

回复
论坛徽章:
0
3#
 楼主| 发表于 2005-9-27 12:55 | 只看该作者
我是一个菜鸟,能详细解说一下这个的用法吗,谢谢!!!

使用道具 举报

回复
论坛徽章:
0
4#
 楼主| 发表于 2005-9-27 13:05 | 只看该作者
我用了,成功了,非常感谢lynx286
陈永仁
谢谢!!!

使用道具 举报

回复
论坛徽章:
0
5#
发表于 2005-9-27 22:46 | 只看该作者
真的吗?谢谢

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表