动态创建Sql Server用户及其权限
一、如何动态创建用户
1.使用存储过程
sp_addlogin (Transact-SQL)
创建新的 SQL Server 登录,该登录允许用户使用 SQL Server 身份验证连接到 SQL Server 实例。
重要提示:
后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。请改用 CREATE LOGIN。
安全说明:
请尽可能使用 Windows 身份验证。
Transact-SQL 语法约定
语法
sp_addlogin [ @loginame = ] 'login'
[ , [ @passwd = ] 'password' ]
[ , [ @defdb = ] 'database' ]
[ , [ @deflanguage = ] 'language' ]
[ , [ @sid = ] sid ]
[ , [ @encryptopt= ] 'encryption_option' ]
参数
[ @loginame = ] 'login'
登录的名称。login 的数据类型为 sysname,无默认值。
[ @passwd = ] 'password'
登录的密码。password 的数据类型为 sysname,默认值为 NULL。
安全说明:
不要使用空密码。请使用强密码。
[ @defdb = ] 'database'
登录的默认数据库(在登录后登录首先连接到该数据库)。database 的数据类型为 sysname,默认值为 master。
[ @deflanguage = ] 'language'
登录的默认语言。language 的数据类型为 sysname,默认值为 NULL。如果未指定 language,则新登录的默认 language 将设置为服务器的当前默认语言。
[ @sid = ] 'sid'
安全标识号 (SID)。sid 的数据类型为 varbinary(16),默认值为 NULL。如果 sid 为 NULL,则系统将为新登录生成 SID。不管是否使用 varbinary 数据类型,NULL 以外的值的长度都必须正好是 16 个字节,并且一定不能已经存在。指定 sid 非常有用,例如,如果您要编写脚本,或将 SQL Server 登录从一台服务器移动到另一台服务器,并且想让登录在不同服务器上使用相同的 SID,都需要指定它。
[ @encryptopt = ] 'encryption_option'
指定是以明文形式,还是以明文密码的哈希运算结果来传递密码。注意,不进行加密。在本讨论中使用“加密”一词是为了向后兼容。如果传入明文密码,将对它进行哈希运算。哈希值将存储起来。encryption_option 的数据类型为 varchar(20),可以是下列值之一:
值 说明
NULL
以明文形式传递密码。这是默认设置。
skip_encryption
密码已经过哈希运算
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。
不幸地是,存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的 ......
MySQL服务器包含一些其他SQL DBMS中不具备的扩展。注意,如果使用了它们,将无法把代码移植到其他SQL服务器。在某些情况下,你可以编写包含MySQL扩展的代码,但仍保持其可移植性,方法是用“/*... */”注释掉这些扩展。MySQL服务器能够解析并执行注释中的代码,就像对待其他MySQL语句一样,但其他SQL服务器将忽略 ......
1. 查看数据库的版本
select @@version
常见的几种SQL SERVER打补丁后的版本号:
8.00.194 Microsoft SQL Server 2000
8.00.384 Microsoft SQL Server 2000 SP1
8.00.532 Microsoft SQL Server 2000 SP2
8.00.760 Microsoft SQL Server 2000 SP3
8.00.818 Microsoft SQL ......
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:
1. /*+ALL_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.
例如:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO=’SCOTT’;
2. /*+FIRST_ROWS*/
表 ......