`

MS SQL 常用SQL语句(七):数据库登录名、服务器角色、数据库用户、权限管理等操作sq

阅读更多

七、数据库登录名、服务器角色、权限管理等操作

--1、使用T-SQL修改服务器的认证模式
xp_instance_regwrite N'HKEY_LOCAL_MACHINE',N'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLServer','LoginMode',N'REG_DWORD',2
--1、windows身份认证
--2、SQL Server身份认证

--2、修改用户名的密码
--语法结构:exec sp_password '旧密码','新密码','登录名';
exec sp_password '123456','sa','sa';

--3、修改登录名的默认数据库(默认是master)
--语法结构:exec sp_defaultdb '登录名','数据库名称';
exec sp_defaultdb 'wjl','test';

--4、修改登录名的默认语言(默认是simplified chinese)
--语法结构:exec sp_defaultdb '登录名','语言名称';
exec sp_defaultlanguage 'wjl','english';

--5、删除登录名
--语法结构:exec sp_droplogin '登录名';
exec sp_droplogin 'wjl'

--6、为数据库添加用户
--语法结构:exec sp_grantdbaccess '登录名','数据库用户名'
use test;
exec sp_grantdbaccess 'wjl','wjlUser';

--7、查看当前数据库中所有用户的信息
use test;
exec sp_helpuser;

--8、查看当前数据库中指定用户的信息
exec sp_helpuser 'wjlUser';

--9、删除当前数据库中指定的用户
exec sp_revokedbaccess 'wjlUser';

--10、为登录名添加服务器角色
--SQLServer中服务器角色和数据库角色权限
--a、bulkadmin:大容量的插入操作
--b、dbcreator:创建和更改数据库
--c、diskadmin:管理磁盘文件
--d、processadmin:管理运行在sql server中的进程
--e、public:提供数据库中用户的管理权限
--f、securityadmin:管理服务器的登录
--g、serveradmin:管理配置服务器范围的设置
--h、setupadmin:库与库管理拓展的存储过程
--i、sysadmin:可以执行sql server安装中的任何操作
--可参考的连接:http://blog.csdn.net/e_online/article/details/4597957
--可参考的连接:http://www.cnblogs.com/xwdreamer/archive/2012/06/25/2561391.html

--使用T-sql进行操作:
--为登录名称wjl添加sysadmin角色
exec sp_addsrvrolemember 'wjl','sysadmin';

--11、为登录名删除指定的服务器角色
--为登录名称wjl删除sysadmin角色
exec sp_dropsrvrolemember 'wjl','sysadmin';

--12、自定义数据库角色
--图形化界面:test数据库--->安全性--->角色--->数据库角色--->右键“添加数据库角色”--->填写“数据库角色名称”和所有者,勾选拥有的架构(选填),添加角色成员--->确定。

--使用T-SQL:
exec sp_addrole 'test_dbAdmin','dbo';
--test_dbAdmin:数据库角色名称 dbo:所有者

--13、删除数据库角色
exec sp_droprole 'test_dbAdmin';

--14、将数据库角色添加给数据库用户
--为数据库用户wjl添加test_dbAdmin数据库角色
exec sp_addrolemember 'test_dbAdmin','wjl';

--15、将数据库用户的某个数据库角色删除
--将数据库用户wjl的test_dbAdmin数据库角色删除
exec sp_droprolemember 'test_dbAdmin','wjl';

--16、权限管理:
--默认管理员登录号:Guest、Public

--给指定的数据库角色添加权限
--授予当前数据库test_dbAdmin角色对于表employee更新的权限,且该角色可以将更新的权限授予其他角色
grant update on employee to test_dbAdmin with grant option 

--授予当前数据库test_dbAdmin角色对于表employee添加数据的权限,但是该角色不能将添加数据的权限授予其他角色
grant insert on employee to test_dbAdmin 

--剥夺某个用户的指定权限,同时剥夺它授予他人权限的权利
revoke update on employee from test_dbAdmin cascade;
--剥夺某个用户的指定权限,不剥夺它授予他人权限的权利
revoke insert on employee from test_dbAdmin

--拒绝被授予某项权限
--拒绝赋予test_dbAdmin对于表employee的更新权限,同时拒绝“授予他人更新权限”的权限
deny update on employee to test_dbAdmin cascade;

--17、使用T-SQL进行数据库备份
--完整备份
backup database test to disk=N'F:\DB_bak\test20161115.bak' with noformat,noinit,name=N'multidatabase-完整数据库备份',skip,norewind,nounload,stats=1; 

--差异备份
backup database test to disk=N'F:\DB_bak\test20161115_different.bak' with differential,noinit,name=N'multidatabase-差异数据库备份',skip,norewind,nounload,stats=10;
--注意:进行差异备份要求备份的数据库至少进行过一次完整备份,否则会报错:
--无法执行数据库 "test2" 的差异备份,因为不存在当前数据库备份。请去掉 WITH DIFFERENTIAL 选项后重新发出 BACKUP DATABASE 以执行数据库的完整备份。 

--事务日期备份(测试未成功,目前不知道原因)
backup log database test to disk=N'F:\DB_bak\test20161115_log2.bak' with noformat,noinit,name=N'multidatabase-事务日志备份',skip,norewind,nounload,stats=10;
--报错:关键字 'database' 附近有语法错误。关键字 'with' 附近有语法错误。如果此语句是公用表表达式或 xmlnamespaces 子句,那么前一个语句必须以分号结尾。

--18、使用T-SQL进行数据库还原(测试未成功,目前不知道原因)
restore database test from disk=N'F:\DB_bak\test20161115.bak' with file=1,nounload,stats=10;
--报错:尚未备份数据库 "test3" 的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容。

 

分享到:
评论

相关推荐

    SQL语句形式创建数据库表(人事管理系统)

    ### SQL语句形式创建数据库表(人事管理系统) 在构建人事管理系统的过程中,SQL语句是创建数据库表的关键技术之一。本文将详细介绍如何使用SQL Server 2000中的SQL语句来创建一个完整的人事管理系统所需的数据库表...

    管理常用SQL语句的操作、笔记

    以上就是从提供的标题、描述和部分内容中提炼出的主要知识点,涵盖了SQL Server的基础管理和日常维护中常用的SQL语句。这些知识点对于SQL Server管理员来说非常实用,可以帮助他们更好地管理和维护SQL Server数据库...

    java与数据库连接图书管理系统.zip

    在本项目中,你需要理解如何加载JDBC驱动、创建数据库连接、执行SQL语句以及处理结果集。 2. 数据库连接配置:在与数据库建立连接时,你需要配置数据库的URL、用户名和密码。URL通常格式为`jdbc:mysql://服务器地址...

    oracle数据库基本sql语句

    理解并熟练掌握这些基本SQL语句和字段类型对于使用Oracle数据库至关重要,无论是进行日常的数据操作还是复杂的数据库设计。通过实践,你可以更有效地管理你的Oracle数据库,确保数据的安全性和完整性。

    手把手教你用SQL server创建企业人事管理系统(精华)3

    6. 安全性:SQL Server提供了多种安全措施,如登录账户、用户、角色和权限设置,确保只有授权的人员可以访问和操作数据。 7. 备份与恢复:由于人事数据的重要性,定期备份数据库并了解如何在必要时恢复数据是至关...

    sqlserver角色/用户创建,各种约束与权限

    sqlserver安全性与完整,用案例说话用户/角色创建设置约束条件权限的授予 用户/角色创建 语句创建 sp_addlogin '王二','123456' ; //创建用户 //sp_addlogin'登录名','密码'; sp_addrole r1; //创建角色 工具创建 ...

    oracle常用sql语句

    ### Oracle常用SQL语句知识点详解 #### 一、基本操作 **1. 显示当前连接用户** - **命令**: `SQL> show user` - **功能**: 显示当前连接Oracle数据库的用户名。 **2. 查看系统拥有哪些用户** - **命令**: `SQL...

    DBA常用的SQ(性能调优方面)

    根据给定文件的信息,我们可以提炼出Oracle数据库管理(DBA)在性能调优方面常用的一些SQL查询语句。这些语句涵盖了数据库性能分析的关键领域,包括会话管理、等待事件、I/O统计、缓存命中率、索引使用情况等。下面...

    python GUI图书管理系统

    `lab_sq.py`可能包含了创建数据库表结构(如图书信息表、用户信息表等)的SQL语句,以及连接和操作数据库的相关函数。 3. **运行`main.py`**:这是系统的主要入口点,它提供了用户界面和系统的交互。`main.py`中...

    使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法

    PHPMYADMIN作为一个图形化的数据库管理工具,可以帮助开发者直观地执行这些操作,同时避免直接编写SQL语句时可能出现的错误。 总之,通过PHPMYADMIN,你可以轻松地管理MySQL数据库,包括创建数据库、添加用户以及...

    mysql数据库创建账号、授权、数据导出、导入操作示例

    MySQL是世界上最流行的开源关系型数据库管理系统之一,它提供了丰富的功能,包括账号管理、权限控制、数据导入导出等。在日常运维和开发中,掌握这些基本操作至关重要。下面,我们将详细探讨标题和描述中提到的知识...

    cognos获取当前用户名

    在Cognos中,查询通常在数据源中定义,它可以是数据库表、视图或者自定义SQL语句。以下是如何创建一个简单的查询以获取当前登录用户的步骤: 1. 打开Cognos Analytics,进入“数据”选项卡,选择“创建”来新建一个...

    php连接mysql数据库代码

    4. **选择数据库**:在连接数据库服务器后,需要使用`mysql_select_db()`函数来选择要操作的数据库,例如: ```php @mysql_select_db("test") or die("数据库不存在或不可用"); ``` 这里选择了名为“test”的...

    Mysql账户管理原理与实现方法详解

    MySQL账户管理是数据库系统安全的重要组成部分,特别是在生产环境中,为了保证数据的安全性和隔离性,管理员通常不会使用具有最高权限的root账户直接操作数据库。本文将深入探讨MySQL账户管理的原理和实现方法,以及...

    MyQQ聊天程序设计.doc

    `ExecuteSql()`和`ExecuteDataSet()`方法分别用于执行SQL语句和获取数据集,它们封装了异常处理逻辑,确保了程序的稳定运行。 这个设计文档提供了聊天程序的基本架构和核心功能模块,同时给出了数据库连接的实现...

    MyQQ聊天程序设计.pdf

    其中,openConnection()方法用于打开数据库连接,closeConnection()方法用于关闭连接,ExecuteSql()用于执行单条SQL语句,而ExecuteDataSet()则用于获取SQL查询返回的数据集。这样的设计保证了数据库操作的高效性和...

    mysql用户权限管理实例分析

    MySQL用户权限管理是数据库系统中一个至关重要的环节,它确保了数据的安全性和访问控制。本文将深入探讨MySQL中用户权限的定义、适当的权限分配、权限的查看、修改和删除,以及相关的实例分析。 首先,我们要了解...

    Mysql数据库主从复制部署详解

    - **创建用户并授权**:创建一个名为`rep1`的用户,分配必要的权限。例如: ```sql INSERT INTO mysql.user (Host, User, Password) VALUES ("localhost", "rep1", PASSWORD("mysql")); FLUSH PRIVILEGES; ...

    php为什么选mysql作为数据库? Mysql 创建用户方法

    这里,`database_name.*`代表数据库名和所有表,`username`是新用户的名字,`host`指明用户可以从哪个主机连接(如`localhost`或`%`代表任何主机),`password`则是用户登录的密码。 创建用户时需要注意权限的设置...

    php5.3以后的版本连接sqlserver2000的方法

    - 使用odbc_exec执行SQL语句:`$exec = odbc_exec($conn, $sql);` - 循环遍历结果集,获取数据:`while(odbc_fetch_array($exec)) {...}` 以下是一个简单的示例代码: ```php $conn = odbc_connect("数据源名字...

Global site tag (gtag.js) - Google Analytics