网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.轻松掌握Oracle数据库Where条件执.
.自己改写的一个sql server 2000的.
.SQLite数据库用来处理锁定情况的.
.sql server 2005中的表分区.
.数据库中为什么会出现_WA_Sys_开.
.SQL Server 2008 的管理能力.
.讲解SQL 2005数据库转到SQL 2000.
."SQL Server不存在或访问被拒绝".
.Microsoft SQL Server备份和恢复.
.SQLSERVER扩展存储过程XP_CMDSHE.
.建立一个传表名参数的存储过程.
.用一个示例讲解自治事务和非自治.
.实例讲解System.Data.DataTable计.
.SQL Server根据查询结果,生成XML.
.Sql Server全文搜索中文出错的问.
.另类解读SQL Server中的DateTime.
.实现删除主表数据时, 判断与之关.
.角色赋给指定用户即可拥有备份数.
.教你如何用SQL备份和还原数据库.
.分页实现方法的性能比较.

如何修改数据库表或存储过程的所有者

发表日期:2007-6-17


use dbname

sp_changedbowner 'new_user'
更改当前数据库的所有者。


--批量修改数据库对象的所有者

新建一个存储过程:changename
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

以SA登陆查询分析器 ,选中你要的数据库
执行存储过程
执行exec Changename '原所有者','dbo'
或exec Changename 'dbo,'数据库所有者'


修改MS SQL表用户属性的命令 
 
可以用exec sp_changeobjectowner 'dataname.数据表','dbo' 把表或存储过程中的所有者都改成dbo

上一篇:Sql Server中利用自定义函数完成单据流水号的设计 人气:3916
下一篇:分页实现方法的性能比较 人气:3981
浏览全部数据库所有者的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐