怎样用T-SQL语句在SQL Server 2000 数据库Test下建立用户MyUser?

时间:2022-03-15 15:36:18
如题。
我在软件打包时碰到的问题。主要是在软件安装时初始化数据库,包括建立用户及设置其密码,设置登陆的默认语言和数据库;设置服务器角色;等等。
谢谢各位大虾的不吝赐教!

2 个解决方案

#1


示例
A. 创建没有密码和主默认数据库的登录 ID
下面的示例为用户 Victoria 创建一个 SQL Server 登录名,没有指定密码或默认数据库。

EXEC sp_addlogin 'Victoria'

B. 创建登录 ID 和默认数据库
此示例为用户 Albert 创建一个 SQL Server 登录,并指定密码 food 以及名为 corporate 的默认数据库。

EXEC sp_addlogin 'Albert', 'food', 'corporate'

C.创建使用其它默认语言的登录 ID
下面的示例为用户 Claire Picard 创建一个 SQL Server 登录名,密码为"caniche",默认数据库为 public_db,默认语言为 French。

EXEC sp_addlogin 'Claire Picard', 'caniche', 'public_db', 'french'

D. 创建带有特定 SID 的登录 ID
下面的示例为用户 Michael 创建一个 SQL Server 登录名,密码为"chocolate",默认数据库为 pubs,默认语言为 us_english,SID 为 0x0123456789ABCDEF0123456789ABCDEF。

EXEC sp_addlogin 'Michael', 'chocolate', 'pubs', 'us_english', 0x0123456789ABCDEF0123456789ABCDEF

E. 创建登录 ID 并且不加密密码
下例在 Server1 上为用户 Margaret 创建了一个密码为"Rose"的 SQL Server 登录,再析取此加密密码,然后使用前面加密的密码将用户登录 Margaret 添加到 Server2,但不对此密码进一步加密。之后,用户 Margaret 即可使用密码"Rose"登录到 Server2。

-- Server1
EXEC sp_addlogin Margaret, Rose

--Results
New login created.

-- Extract encrypted password for Margaret
SELECT CONVERT(VARBINARY(32), password)
   FROM syslogins 
   WHERE name = 'Margaret'

--Results
------------------------------------------------------------------ 
0x2131214A212B57304F5A552A3D513453

(1 row(s) affected)

-- Server2
EXEC sp_addlogin 'Margaret', 0x2131214A212B57304F5A552A3D513453, 
   @encryptopt = 'skip_encryption'

#2


非常感谢!
以上我知道了如何“建立用户及设置其密码,设置登陆的默认语言和数据库”;
但是如何针对某用户“设置服务器角色”?

#1


示例
A. 创建没有密码和主默认数据库的登录 ID
下面的示例为用户 Victoria 创建一个 SQL Server 登录名,没有指定密码或默认数据库。

EXEC sp_addlogin 'Victoria'

B. 创建登录 ID 和默认数据库
此示例为用户 Albert 创建一个 SQL Server 登录,并指定密码 food 以及名为 corporate 的默认数据库。

EXEC sp_addlogin 'Albert', 'food', 'corporate'

C.创建使用其它默认语言的登录 ID
下面的示例为用户 Claire Picard 创建一个 SQL Server 登录名,密码为"caniche",默认数据库为 public_db,默认语言为 French。

EXEC sp_addlogin 'Claire Picard', 'caniche', 'public_db', 'french'

D. 创建带有特定 SID 的登录 ID
下面的示例为用户 Michael 创建一个 SQL Server 登录名,密码为"chocolate",默认数据库为 pubs,默认语言为 us_english,SID 为 0x0123456789ABCDEF0123456789ABCDEF。

EXEC sp_addlogin 'Michael', 'chocolate', 'pubs', 'us_english', 0x0123456789ABCDEF0123456789ABCDEF

E. 创建登录 ID 并且不加密密码
下例在 Server1 上为用户 Margaret 创建了一个密码为"Rose"的 SQL Server 登录,再析取此加密密码,然后使用前面加密的密码将用户登录 Margaret 添加到 Server2,但不对此密码进一步加密。之后,用户 Margaret 即可使用密码"Rose"登录到 Server2。

-- Server1
EXEC sp_addlogin Margaret, Rose

--Results
New login created.

-- Extract encrypted password for Margaret
SELECT CONVERT(VARBINARY(32), password)
   FROM syslogins 
   WHERE name = 'Margaret'

--Results
------------------------------------------------------------------ 
0x2131214A212B57304F5A552A3D513453

(1 row(s) affected)

-- Server2
EXEC sp_addlogin 'Margaret', 0x2131214A212B57304F5A552A3D513453, 
   @encryptopt = 'skip_encryption'

#2


非常感谢!
以上我知道了如何“建立用户及设置其密码,设置登陆的默认语言和数据库”;
但是如何针对某用户“设置服务器角色”?