SQL SERVER 建好了,如何创建用户以及赋予所有权限?

2024年11月17日 22:47
有3个网友回答
网友(1):

工具/材料:SQL Server Management Studio。

1、首先在桌面上,点击“SQL Server Management Studio”图标。

2、然后在该界面中,点击“安全性”里的“登录名”选项。

3、之后在该界面中,右键点击“新建登录名”选项。

4、接着在该界面中,输入“登录名”、“密码”和“确认密码”。

5、然后在该界面中,点击左侧选择页中“服务器角色”选项。

6、再者在该界面中,勾选“sysadmin”选项。

7、最后在该界面中,点击“确定”按钮。

网友(2):

1. 首先在 SQL Server 服务器级别,创建登陆帐户(create login)
--创建登陆帐户(create login)
create login dba with password='abcd1234@', default_database=mydb

登陆帐户名为:“dba”,登陆密码:abcd1234@”,默认连接到的数据库:“mydb”。 这时候,dba 帐户就可以连接到 SQL Server 服务器上了。但是此时还不能 访问数据库中的对象(严格的说,此时 dba 帐户默认是 guest 数据库用户身份, 可以访问 guest 能够访问的数据库对象)。
要使 dba 帐户能够在 mydb 数据库中访问自己需要的对象, 需要在数据库 mydb 中建立一个“数据库用户”,赋予这个“数据库用户” 某些访问权限,并且把登陆帐户“dba” 和这个“数据库用户” 映射起来。 习惯上,“数据库用户” 的名字和 “登陆帐户”的名字相同,即:“dba”。 创建“数据库用户”和建立映射关系只需要一步即可完成:
2. 创建数据库用户(create user):
--为登陆账户创建数据库用户(create user),在mydb数据库中的security中的user下可以找到新创建的dba
create user dba for login dba with default_schema=dbo

并指定数据库用户“dba” 的默认 schema 是“dbo”。这意味着 用户“dba” 在执行“select * from t”,实际上执行的是 “select * from dbo.t”。
3. 通过加入数据库角色,赋予数据库用户“dba”权限:
--通过加入数据库角色,赋予数据库用户“db_owner”权限
exec sp_addrolemember 'db_owner', 'dba'

此时,dba 就可以全权管理数据库 mydb 中的对象了。
如果想让 SQL Server 登陆帐户“dba”访问多个数据库,比如 mydb2。 可以让 sa 执行下面的语句:

--让 SQL Server 登陆帐户“dba”访问多个数据库
use mydb2
go
create user dba for login dba with default_schema=dbo
go
exec sp_addrolemember 'db_owner', 'dba'
go

此时,dba 就可以有两个数据库 mydb, mydb2 的管理权限了!

网友(3):

package com.yong;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Test2 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

Connection con = null;
PreparedStatement ps = null;
boolean flag = false;

try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=TestOracle","sa","sqlserver2000");
ps = con.prepareStatement("create table sdf(name nvarchar(30))");
flag = ps.execute();
System.out.println(flag);//这里为什么是false
if(flag) {

System.out.println("创建成功");

} else {

System.out.println("创建失败");
}

} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {

try {
if(ps != null) ps.close();
if(con != null) con.close();

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

}