杨的空间
业精于勤,荒于嬉,行成于思,毁于随

导航

<2025年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910
统计
  • 随笔 - 67
  • 文章 - 13
  • 评论 - 60
  • 引用 - 0

常用链接

留言簿(6)

随笔分类

随笔档案

文章分类

相册

WEB开发相关

其它链接

  • 你所不知道的牛奶的缺点
  • 喝牛奶要特别注意的一些知识
  • 旁观者的Blog (rss)
  • 参与移动增值业务平台开发这些年来,不断地遇到新领域新知识点,屡屡感受到新进入者的迷惑和彷徨,所以对遇到的每一个问题都详细记录问题现象、解决思路以及解决方案,并在blog中留下印迹,以备他日有心人google之而知之。你们的新手之痛,你们的新业务发展之初的思路混沌,我都感同身受,所以欢迎和我一起探讨这些话题,诸如IVR/SMS/MMS/WAP/Podcast/SIP/JavaME/Web2.0等等,知无不言言无不尽。

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 

sql server 2000

exec sp_changeobjectowner '[bbsdb].[dv_style]',[dbo]

更改当前数据库中对象的所有者备份、恢复数据库时,往往会出现所有者是原来的用户,这样当你在新的系统中使用 时,会出现表名无效的错误提示,而加入原来的用户名,又会出现用户已经存在的错误,

所以最好的方法就是修改成dbo:

怎么样把sql server 2000的用户表的所有者,改成dbo,而不是用户名。

(附修改存储过程的方法,在查询器中执行:
EXEC sp_changeobjectowner 'usera.hishop_creatorder', 'dbo'),就把 usera的存储过程改为dbo所有了。

可以使用 sp_changedbowner 更改数据库的所有者。

方法一:右键点击该表-》设计表,在上面的一排小图标中,点最后一个“条件约束”,点“表”页,在里面更改所有者。(若没有条件约束的小图标,可以点右键,能看到一个“check约束”的选项)

方法二:利用脚本直接执行,用系统帐号或者超户登陆到该数据库,然后执行下面语句:

sp_configure 'allow updates','1'
go
reconfigure with override
go
update sysobjects set uid=1 where uid<>1
go
sp_configure 'allow updates','0'
go
reconfigure with override

第二种方法只能使用一次,第二次使用会出错。


sql server 2005

1。先说说如何在SQL 2005中批量修改存储过程的架构。

执行以下SQL,将执行结果拷贝出来,批量执行既可。

SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.' + p.Name

FROM sys.Procedures p INNER JOIN sys.Schemas s on p.schema_id = s.schema_id

WHERE s.Name = '旧的架构名称'

2。再说说如何在SQL 2005中批量修改表的架构。

执行以下SQL,将执行结果拷贝出来,批量执行既可。

declare @name sysname
declare csr1 cursor
for
select TABLE_NAME from INFORMATION_SCHEMA.TABLES
open csr1

FETCH NEXT FROM csr1 INTO @name
while (@@FETCH_STATUS=0)
BEGIN
SET @name='旧的架构名称.' + @name

print 'ALTER SCHEMA dbo TRANSFER ' + @name
fetch next from csr1 into @name
END
CLOSE csr1
DEALLOCATE csr1

 

posted on 2007-11-12 09:02 阅读(1323) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。