sql server 2005 用户权限
要想成功访问 SQL Server 数据库中的数据,我们需要两个方面的授权:一、获得准许连接 SQL Server 服务器的权利;二、获得访问特定数据库中数据的权利(select, update, delete, create table ...)。假设,我们准备建立一个 dba 数据库帐户,用来管理数据库 mydb。
1. 首先在 SQL Server 服务器级别,创建登陆帐户(create login)
create login dba with password='sqlstudy', default_database=mydb
登陆帐户名为:“dba”,登陆密码:“sqlstudy”,默认连接到的数据库:“mydb”。这时候,dba 帐户就可以连接到 SQL Server 服务器上了。但是此时还不能访问数据库中的对象(严格的说,此时 dba 帐户默认是 guest 数据库用户身份,可以访问 guest 能够访问的数据库对象)。
要使 dba 帐户能够在 mydb 数据库中访问自己需要的对象,需要在数据库 mydb 中建立一个“数据库用户”,赋予这个“数据库用户” 某些访问权限,并且把登陆帐户“dba” 和这个“数据库用户” 映射起来。习惯上,“数据库用户” 的名字和 “登陆帐户”的名字相同,即:“dba”。创建“数据库用户”和建立映射关系只需要一步即可完成:
2. 创建数据库用户(create user):
create user dba for login dba with default_schema=dbo
并指定数据库用户“dba” 的默认 schema 是“dbo”。这意味着用户“dba” 在执行“select * from t”,实际上执行的是 “select * from dbo.t”。
3. 通过加入数据库角色,赋予数据库用户“dba”权限:
exec sp_addrolemember 'db_owner', 'dba'
此时,dba 就可以全权管理数据库 mydb 中的对象了。
如果想让 SQL Server 登陆帐户“dba”访问多个数据库,比如 mydb2。可以让 sa 执行下面的语句:
use mydb2
go
create user dba for login dba with default_schema=dbo
go
exec sp_addrolemember 'db_owner', 'dba'
go
此时,dba 就可以有两个数据库 mydb, mydb2 的管理权限了!
4. 禁用、启用登陆帐户:
alter login dba disable
alter login dba enable
5. 登陆帐户改名:
alter login dba with name=dba_tom
提示:在 SQL Server 2005 中也可以给 sa 改名。
6. 登陆帐户改密码:
alter login dba with password='sqlstudy.c
相关文档:
查询通知是在 Microsoft SQL Server 2005 中以及 ADO.NET 2.0 的 System.Data.SqlClient 命名空间中引入的。查询通知建立在 Service Broker 基础结构的基础上,使应用程序可以在数据更改时收到通知。如果应用程序提供数据库中信息的缓存(例如 Web 应用程序),需要在源数据更改时接收通知,此功能特别有用。
通过三种方式 ......
SQL中的 datetime 格式[转]
2009-05-16 10:42
语句及查询结果:
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONV ......
在 Oracle 10g 中
可以通过 http://localhost:5560/isqlplus 访问 isqlplus
在 isqlplus 中 可以执行 plsql
set serveroutput on size 100000 // 打开 服务器的输出 on 后面是 缓存的大小 范围是 (2000 至 1000000)
begin
dbms_output.put_line('hel ......
ORACLE中字段的数据类型
字符型 char 范围 最大2000个字节 定长
char(10) '张三' 后添空格6个把10个字节补满 '张三 &nb ......
SQL语句实现,SQL Server 2000 及ACCESS复制旧表OldTable的结构,或结构及内容到新的表NewTable
两个都试过了,下面的代码在这两个数据库中(SQL Server 2000 及ACCESS)都是可以通过的。
--复制表结构为新的表
select * into NewTable
from OldTable where 1=2
--复制表结构及内容到新的表
select * into newtable
......