针对JWGL数据库,用SQL命令完成下列操作: 1.建立用户账号 建立账号liubei,guanyu, zhangfei,zhaoyun,初始密码均为1234,建立成功后用相关账号登陆系统,观察效果。 2.对新建用户账号进行权限配置 授予liubei查看和修改JWGL数据库的所有表的查询权限,授予guanyu对STUDENT表的更新权限(插入、修改、删除)。 完成配置权限操作后,以相关用户登录系统进行操作验证,观察效果。 3.建立角色 创建角色 jiangjun,授予zhaoyun,zhangfei角色 jiangjun。 4.对新建角色进行权限配置 授予角色jiangjun查看STUDENT、SC表的权限,以zhangfei、zhaoyun用户登录系统操作,验证效果。
时间: 2024-02-03 08:12:22 浏览: 145
1. 建立用户账号
```
CREATE USER liubei IDENTIFIED BY '1234';
CREATE USER guanyu IDENTIFIED BY '1234';
CREATE USER zhangfei IDENTIFIED BY '1234';
CREATE USER zhaoyun IDENTIFIED BY '1234';
```
2. 对新建用户账号进行权限配置
```
-- 授予liubei查询和修改JWGL数据库的所有表的查询权限
GRANT SELECT, INSERT, UPDATE, DELETE ON JWGL.* TO liubei;
-- 授予guanyu对STUDENT表的更新权限(插入、修改、删除)
GRANT INSERT, UPDATE, DELETE ON JWGL.STUDENT TO guanyu;
```
3. 建立角色
```
CREATE ROLE jiangjun;
```
4. 对新建角色进行权限配置
```
-- 授予角色jiangjun查看STUDENT、SC表的权限
GRANT SELECT ON JWGL.STUDENT, JWGL.SC TO jiangjun;
-- 将zhaoyun和zhangfei加入角色jiangjun
GRANT jiangjun TO zhaoyun, zhangfei;
```
相关问题
1.利用SSMS和T-SQL 脚本创建名为“JWGL”的数据库,相关属性为默认值。 2.使用 SSMS 和 T-SQL 脚本查看JWGL数据库的属性,如当前数据库文件、文件组及数数据库技术与应用(SQL Server 2019 据库大小等信息。 3.在D盘student 目录下新建一个名为LIBRARY 数据库,其中: (1) 主数据文件逻辑名为“LIBRARY DATA”,物理文件名为“LIBRARY_DATA.mdr 初始大小为5MB,最大大小为10MB,增长方式为1MB。 (2)事务日志文件逻辑名为“LIBRARY LOG”,物理文件名为“LIBRARY_LOGldf”初始大小为2MB,最大大小为10MB,增长方式为5%。 4.修改 LIBRARY 数据库,修改要求如下: (1)为其增加一个文件组 DY,其中包含两个数据文件,逻辑名分别为“DYA”和“DYB 其他属性采用默认值。 (2)为其增加一个事务日志文件,其中逻辑名为“DY_LOG”,物理文件名为“DY_LOG.Idf”,初始大小为1MB,最大大小为不限制,增长方式为1MB。 (3) 修改数据文件“LIBRARY_DATA”,将其最大大小修改为不限制(UNLIMITED)。5.将“LIBRARY”数据库分离出来后,尝试删除其中的事务日志文件,然后附加到当前 计算机 SQL Server服务器上,检查事务日志文件相关属性的前后变化情况。 数据庄 库对 建立 接关
### 回答:
#### **1. 创建名为“JWGL”的数据库**
通过SSMS (SQL Server Management Studio) 或者 T-SQL 脚本可以快速创建一个名为 "JWGL" 的数据库,并设置其属性为默认值。
**T-SQL脚本示例:**
```sql
CREATE DATABASE JWGL;
```
上述命令会在 SQL Server 中创建一个新的数据库 `JWGL`,所有属性均采用系统默认配置(包括主数据文件、日志文件的位置、大小和增长方式)。
---
#### **2. 查看JWGL数据库的属性**
我们可以通过以下步骤查看数据库的相关属性,例如当前的数据文件、文件组以及数据库大小等信息。
**(a) 使用SSMS图形界面:**
1. 打开 SSMS 并连接到目标实例。
2. 展开左侧的对象资源管理器,找到并展开 “数据库” → 右键点击“JWGL” → 点击“属性”。
3. 在弹出窗口中可以看到详细的信息,如:
- 文件列表及其路径
- 日志文件信息
- 总体大小
**(b) 使用T-SQL查询:**
可通过 `sys.master_files` 视图获取数据库的所有文件详情。
```sql
USE master;
GO
SELECT
name AS FileName,
physical_name AS FilePath,
size * 8 / 1024 AS SizeInMB, -- 将页转换为 MB
growth AS GrowthValue,
CASE WHEN is_percent_growth = 1 THEN 'Percent' ELSE 'KB/MGB' END AS GrowthType,
max_size AS MaxSize
FROM sys.master_files
WHERE database_id = DB_ID('JWGL');
```
---
#### **3. 在 D:\student 下创建 LIBRARY 数据库**
以下是基于题目需求的具体实现步骤。
**(a) 编写T-SQL脚本:**
```sql
CREATE DATABASE LIBRARY
ON PRIMARY (
NAME = 'LIBRARY_DATA', -- 数据文件逻辑名
FILENAME = 'D:\student\LIBRARY_DATA.mdf', -- 物理文件位置
SIZE = 5MB, -- 初始大小
MAXSIZE = 10MB, -- 最大大小
FILEGROWTH = 1MB -- 增长方式
)
LOG ON (
NAME = 'LIBRARY_LOG', -- 日志文件逻辑名
FILENAME = 'D:\student\LIBRARY_LOG.ldf', -- 物理文件位置
SIZE = 2MB, -- 初始大小
MAXSIZE = 10MB, -- 最大大小
FILEGROWTH = 5% -- 增长方式
);
```
---
#### **4. 修改 LIBRARY 数据库**
按照题目要求逐步完成以下任务:
**(a) 添加新的文件组 DY 和两个数据文件:**
```sql
ALTER DATABASE LIBRARY ADD FILEGROUP DY; -- 新增文件组 DY
-- 向文件组 DY 中添加第一个数据文件
ALTER DATABASE LIBRARY ADD FILE (
NAME = 'DYA',
FILENAME = 'D:\student\DYA.ndf'
);
-- 向文件组 DY 中添加第二个数据文件
ALTER DATABASE LIBRARY ADD FILE (
NAME = 'DYB',
FILENAME = 'D:\student\DYB.ndf'
);
```
**(b) 添加额外的日志文件:**
```sql
ALTER DATABASE LIBRARY ADD LOG FILE (
NAME = 'DY_LOG',
FILENAME = 'D:\student\DY_LOG.ldf',
SIZE = 1MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1MB
);
```
**(c) 修改原始数据文件的最大容量:**
```sql
ALTER DATABASE LIBRARY MODIFY FILE (
NAME = 'LIBRARY_DATA',
MAXSIZE = UNLIMITED
);
```
---
#### **5. 分离与附加 LIBRARY 数据库**
**(a) 分离数据库:**
在分离前需要确保用户进程未占用该数据库。
```sql
USE master;
GO
EXEC sp_detach_db @dbname = N'LIBRARY';
```
**(b) 删除事务日志文件:**
手动从磁盘上删除指定的 `.ldf` 文件即可。
**(c) 重新附加数据库:**
注意此时不需要提供已删除的事务日志文件。
```sql
CREATE DATABASE LIBRARY ON (
FILENAME = 'D:\student\LIBRARY_DATA.mdf'
) FOR ATTACH_REBUILD_LOG;
```
检查前后日志文件的变化情况,验证是否成功重建了新的日志文件。
---
###
请分别使用Management界面方式或T-SQL语句实现以下操作,但至少有一道题同时使用两种方法完成。 创建一个教务管理数据库,名称为jaowugl,只有一个数据文件和日志文件,文件逻辑名称分别为jwgl和jwgl_log,存储路径为‘D:\xxx’,物理名称为jwgl_data.mdf 和jwgl_log.ldf,初始大小都为8MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。 在‘D:\xxx’中创建一个Company数据库,该数据库的主数据文件逻辑名称为Company_data,物理文件为Company.mdf,初始大小为8MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为50MB,增长速度为1MB。 在数据库Company中增加数据文件db2,初始大小为10MB,最大大小为50 MB,按10%增长; 在数据库Company中添加日志文件,保存在D盘中,初始大小为8MB,最大无限制,增长方式按照8MB增长; 修改数据库Company主数据文件的大小,将主数据文件的初始大小修改为15MB,增长方式为20%; 修改数据库Company辅助数据文件初始大小为30MB,最大为100MB,按照10%增长,名称为db; 删除数据库Company辅助数据文件和第二个日志文件; 删除数据库company。
<think>嗯,我现在需要处理用户关于如何创建和管理SQL Server数据库的问题。用户希望同时使用Management Studio界面方式和T-SQL语句来完成这些操作,并且至少有一道题需要两种方法。首先,我要理清楚每个操作的具体要求,然后分步骤思考如何实现。
首先,第一个任务是创建教务管理数据库jaowugl。用户指定了数据文件和日志文件的逻辑名称、存储路径、物理名称、初始大小、增长方式以及最大大小。数据文件的增长是10%,最大500MB,而日志文件增长1MB,没有最大限制。我需要确认在T-SQL中如何设置这些参数,比如使用CREATE DATABASE语句,指定FILEGROWTH和MAXSIZE。同时,界面操作的话,需要通过SSMS的图形界面来设置这些参数,比如在数据库属性中调整初始大小、增长设置等。
接下来是创建Company数据库,同样需要主数据文件和日志文件,但参数不同。主数据文件初始8MB,最大无限制,增长10%,日志文件初始1MB,最大50MB,增长1MB。这里要注意MAXSIZE设置为UNLIMITED或者具体的数值。然后,在Company数据库中增加辅助数据文件db2,初始10MB,最大50MB,增长10%。这一步可能需要ALTER DATABASE ADD FILE语句,或者在SSMS中通过数据库属性添加新文件。
接下来是添加新的日志文件到Company数据库,保存在D盘,初始8MB,最大无限制,增长8MB。同样使用ALTER DATABASE ADD LOG FILE,或者界面操作。然后修改主数据文件的初始大小为15MB,增长方式改为20%。这里需要注意的是修改现有文件的初始大小可能需要调整,可能需要使用MODIFY FILE,但初始大小是否可以修改可能需要确认,或者是否需要重新指定SIZE属性。可能用户希望的是更改现有文件的属性,比如使用ALTER DATABASE MODIFY FILE来设置新的SIZE和FILEGROWTH。
然后修改辅助数据文件db的初始大小到30MB,最大100MB,增长10%。这里要注意文件名是否正确,可能需要先确认辅助文件的逻辑名称是否为db,或者是否之前有重命名的问题。可能需要使用ALTER DATABASE MODIFY FILE来调整参数。
接下来是删除辅助数据文件和第二个日志文件。这涉及到使用ALTER DATABASE REMOVE FILE语句,或者在SSMS中删除对应的文件。需要确保文件没有被使用才能删除,可能需要先清空文件等步骤,但通常直接删除即可,如果文件是空的的话。
最后删除整个Company数据库。使用DROP DATABASE或者在SSMS中右键删除。
现在,我需要确保每个步骤的T-SQL语句正确,参数正确设置,比如初始大小、增长百分比或固定增长,MAXSIZE的设置是否正确。同时,界面操作的步骤需要详细描述,比如如何导航到对应界面,设置哪些参数。
可能遇到的疑问点:修改主数据文件的初始大小是否可行,因为通常创建后初始大小可能需要通过收缩或增长来调整,但ALTER DATABASE MODIFY FILE中的SIZE参数应该可以设置新的初始大小,即使文件已经存在,可能需要重启数据库或者立即生效?需要验证这一点,但根据SQL Server的文档,MODIFY FILE可以更改SIZE属性,但可能需要数据库处于单用户模式或类似状态?或者是否只能在创建时设置初始大小?可能需要进一步确认,但根据用户的问题,假设可以修改。
另外,添加日志文件时,路径是否正确,特别是第二个日志文件保存在D盘,可能需要指定完整的路径,比如D:\xxx,但用户示例中的路径是D:\xxx,可能需要用户替换为实际路径,但这里保持原样即可。
在写步骤时,要分清楚每个操作对应的两种方法,特别是用户要求至少有一题同时使用两种方法。可能选择创建数据库jaowugl或者Company中的一个,用两种方法完成。例如,创建jaowugl用两种方法,而其他操作可能只用其中一种。
另外,注意在T-SQL中,文件路径可能需要存在,否则会出错。所以在界面操作中,用户需要确保路径存在,或者在T-SQL中处理异常。
最后,删除数据库时,需要确保没有连接在使用该数据库,否则删除会失败。所以在执行DROP DATABASE之前,可能需要设置数据库为单用户模式,或者在SSMS中关闭现有连接。
现在,整理每个操作的步骤,确保两种方法正确,语法无误,并且逻辑清晰。</think>以下分步骤实现数据库操作,其中第一部分【创建教务管理数据库jaowugl】使用两种方法演示:
---
### 一、创建教务管理数据库 jaowugl
#### 方法1:SQL Server Management Studio (SSMS) 界面操作
1. 打开SSMS → 右键点击"数据库" → 选择"新建数据库"
2. 在"常规"页设置:
- 数据库名称:`jaowugl`
- 数据文件逻辑名称:`jwgl`
- 路径:`D:\xxx`(需手动输入或选择)
- 物理文件名:`jwgl_data.mdf`
- 初始大小:`8 MB`
- 自动增长:`按百分比` → `10%` → 最大文件大小:`500 MB`
- 日志文件逻辑名称:`jwgl_log`
- 路径:`D:\xxx`
- 物理文件名:`jwgl_log.ldf`
- 初始大小:`8 MB`
- 自动增长:`按MB` → `1 MB` → 最大文件大小:`无限制`
3. 点击"确定"完成创建
#### 方法2:T-SQL语句
```sql
CREATE DATABASE jaowugl
ON PRIMARY
(
NAME = jwgl,
FILENAME = 'D:\xxx\jwgl_data.mdf',
SIZE = 8MB,
MAXSIZE = 500MB,
FILEGROWTH = 10%
)
LOG ON
(
NAME = jwgl_log,
FILENAME = 'D:\xxx\jwgl_log.ldf',
SIZE = 8MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1MB
);
```
---
### 二、创建 Company 数据库(仅T-SQL)
```sql
CREATE DATABASE Company
ON PRIMARY
(
NAME = Company_data,
FILENAME = 'D:\xxx\Company.mdf',
SIZE = 8MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 10%
)
LOG ON
(
NAME = Company_log,
FILENAME = 'D:\xxx\Company.ldf',
SIZE = 1MB,
MAXSIZE = 50MB,
FILEGROWTH = 1MB
);
```
---
### 三、在 Company 中增加数据文件 db2
#### T-SQL
```sql
ALTER DATABASE Company
ADD FILE
(
NAME = db2,
FILENAME = 'D:\xxx\db2.ndf',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 10%
);
```
---
### 四、在 Company 中添加日志文件
#### T-SQL
```sql
ALTER DATABASE Company
ADD LOG FILE
(
NAME = New_Company_log,
FILENAME = 'D:\Company_log2.ldf',
SIZE = 8MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 8MB
);
```
---
### 五、修改 Company 主数据文件属性
#### T-SQL
```sql
ALTER DATABASE Company
MODIFY FILE
(
NAME = Company_data,
SIZE = 15MB,
FILEGROWTH = 20%
);
```
---
### 六、修改辅助数据文件 db 属性
#### T-SQL
```sql
ALTER DATABASE Company
MODIFY FILE
(
NAME = db2, --假设原辅助文件名为db2
NEWNAME = db, --重命名为db(若需改名)
SIZE = 30MB,
MAXSIZE = 100MB,
FILEGROWTH = 10%
);
```
---
### 七、删除辅助数据文件及第二个日志文件
#### T-SQL
```sql
-- 删除辅助数据文件
ALTER DATABASE Company
REMOVE FILE db;
-- 删除第二个日志文件(假设逻辑名为New_Company_log)
ALTER DATABASE Company
REMOVE FILE New_Company_log;
```
---
### 八、删除数据库 Company
#### 方法1:SSMS界面操作
右键点击数据库 → 选择"删除" → 勾选"关闭现有连接" → 点击"确定"
#### 方法2:T-SQL
```sql
DROP DATABASE Company;
```
---
### 关键点总结
1. 文件路径需真实存在,否则会报错
2. 修改文件属性时需确保逻辑名与物理文件对应
3. 删除文件前需确认文件未被使用
4. 界面操作与T-SQL逻辑完全等价,可根据习惯选择
阅读全文
相关推荐














