数据库的所有者
‘壹’ 数据库 属主 所有者
晕,这个问题好简单啊
数据库系统里有很多用户的嘛,而且每个数据库都是用户来创建的,拿sql server来举例,sa用户创建了A用户,A用户创建了A1数据库,那么A1数据库就是A用户的,同时,sa用户也创建了A1数据库,名字一样,那么数据库系统就会用sa.A1和A.A1来区分两个数据,访问的时候也要加上用户的前缀,如:
select * from sa.A1.table
‘贰’ 数据库所有者
你可以新建一些登录用户,然后赋予他们相应的权限,比如只能添加行,删除行,更新行等等
‘叁’ 如何修改数据库表或存储过程的所有者
更改当前数据库的所有者。
--批量修改数据库对象的所有者
新建一个存储过程:changename
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[changename]') and OBJECTPROPERTY(id, N'IsProcere') = 1)
drop procere [dbo].[changename]GOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS OFFGOCreate PROCEDURE dbo.changename
@OldOwner as NVARCHAR(128),--参数原所有者
@NewOwner as NVARCHAR(128)--参数新所有者ASDECLARE @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)BEGINif @Owner=@OldOwnerbeginset @OwnerName = @OldOwner + '.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwnerendFETCH NEXT FROM curObject INTO @Name, @OwnerENDclose curObject
deallocate curObjectGOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS ONGO以SA登陆查询分析器 ,选中你要的数据库
执行存储过程
执行exec Changename '原所有者','dbo'
或exec Changename 'dbo,'数据库所有者'
修改MS SQL表用户属性的命令
可以用exec sp_changeobjectowner 'dataname.数据表','dbo'把表或存储过程中的所有者都改成dbo<--正文内容结束--
‘肆’ 数据库表的所有者
不写:XXX.运行网页看一下变化!要[对症下药]呀!
‘伍’ 数据库所有者身份如何设置
在数据库-安全性-登录名里设置。
里面还可以设定:
角色
当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role)。数据库角色指定了可以访问相同数据库对象的一组数据库用户。
数据库角色的成员可以分为如下几类:
Windows用户组或用户账户
SQL Server登录
其他角色
‘陆’ sql的表名中的dbo是什么意思
dbo是database owner的缩写,是数据库对象所有者。相当于用户名,以所有者身份使用。
dbo是Database Owner(数据库的所有者)的缩写。
它是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色 sysadmin 的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上。
另外,由固定服务器角色 sysadmin 的任何成员创建的任何对象都自动属于 dbo。创建的表前面有dbo。具体对表操作的时候可以忽略它,不用管它,直接对表操作即可。
(6)数据库的所有者扩展阅读:
结构化查询语言包含6个部分:
1、数据查询语言(DQL:Data Query Language):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。
保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句一起使用。
2、数据操作语言(DML:Data Manipulation Language):其语句包括动词INSERT、UPDATE和DELETE。它们分别用于添加、修改和删除。
3、事务控制语言(TCL):它的语句能确保被DML语句影响的表的所有行及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。
4、数据控制语言(DCL):它的语句通过GRANT或REVOKE实现权限控制,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
5、数据定义语言(DDL):其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。
6、指针控制语言(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。
‘柒’ 更改当前数据库所有者
这个其实可以这样
本地数据库新建一个数据库test
然后导入之前的备份文件MYDB.BAK;
本地数据库test备份导出为test.bak;
然后就可以使用test.bak文件进行导入到其他的数据库或者空间数据库还原。
‘捌’ 如何更改数据库的所有者
用SQL查询分析器连接上”HQGPS”数据库,执行:
EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''sa'' '
即可将该数据库中的所有对象的所有者改为“sa”
‘玖’ 创建自定义数据库角色时,要填写的那个所有者是什么意义
“所有者”顾名思义就是拥有数据库的所有权限了
对象所有者可以执行任何与对象有关的 Transact-SQL 语句(例如 INSERT、UPDATE、DELETE、SELECT 或 EXECUTE),也可以管理对象的权限。