(1)启动SSMS,建立数据库连接,打开一个“查询”窗口(记为“窗口1”),运行事务,见图1。 (2)再打开一个“查询”窗口(记为“窗口2”)。 (3)执行一个select操作,见图2。 (4)在“窗口1”中执行commit,观察“窗口2”,见图3。 分析原因并解释。 提示:考虑表的加锁情况。SQL Server默认只能读取已经提交的数据,在一个未提交的事务中的数据将被锁定。 (选做)3、设计一个事务的运行过程,观察“事务隔离级别”对事务执行的影响。 (1)启动SSMS,建立数据库连接,打开一个“查询”窗口(记为“窗口1”),运行事务,见图4。 (2)再打开一个“查询”窗口(记为“窗口2”)。输入以下SQL命令: set transaction isolation level read uncommitted select * from student (3)观察执行结果。对比实验步骤1中的运行结果。思考两者的差异性。 提示:sqlserver的默认隔离级别是提交读(read committed),即相当于: set transaction isolation level read committed
时间: 2024-03-11 22:44:53 浏览: 21
很抱歉,作为一个语言模型AI,我无法展示图片和运行SQL语句。但我可以回答你的问题。
对于第一个问题,原因是在“窗口1”中执行了commit操作后,之前被锁定的数据被释放,可以被“窗口2”查询。而在执行select操作时,由于“窗口1”中的事务未提交,数据被锁定,所以“窗口2”查询不到这些数据。
对于第二个问题,read uncommitted事务隔离级别允许读取未提交的数据,因此“窗口2”可以读取“窗口1”中未提交的数据。而在默认的提交读(read committed)隔离级别下,只能读取已经提交的数据,因此“窗口2”无法读取“窗口1”中未提交的数据。
相关问题
用SQL Server创建一个数据库
要在SQL Server上创建一个数据库,可以按照以下步骤操作:
1. 打开SQL Server Management Studio(SSMS)。
2. 在对象资源管理器窗口中,右键单击“数据库”文件夹,然后选择“新建数据库”。
3. 在“新建数据库”对话框中,输入数据库名称。
4. 在“文件”选项卡中,指定数据库文件的名称、路径和大小,以及事务日志文件的名称、路径和大小。
5. 在“选项”选项卡中,可以指定数据库的一些属性,如自动关闭、恢复模式、日志文件增长选项等。
6. 单击“确定”按钮创建数据库。
以上就是在SQL Server上创建数据库的基本步骤。在创建数据库之前,要确保你有足够的权限来创建数据库。
SSMS中该怎么做
在 SQL Server Management Studio (SSMS) 中,可以使用以下步骤使用更新的日志记录进行数据库恢复:
1. 在 SSMS 中连接到 SQL Server 数据库引擎实例。
2. 在“对象资源管理器”中找到要恢复的数据库,并右键单击该数据库,选择“属性”。
3. 在“属性”对话框中,选择“选项”页面,找到“恢复模式”选项,并选择“完整恢复模式”。
4. 点击“确定”按钮,关闭“属性”对话框。
5. 在 SSMS 中打开一个新的查询窗口,并执行以下命令来备份当前数据库:
```
BACKUP DATABASE [database_name] TO DISK = 'backup_file_path' WITH INIT
```
其中,“database_name”是要备份的数据库名称,“backup_file_path”是要备份文件的路径。
6. 在 SSMS 中执行以下命令来还原最新的完整备份:
```
RESTORE DATABASE [database_name] FROM DISK = 'full_backup_file_path' WITH NORECOVERY
```
其中,“database_name”是要还原的数据库名称,“full_backup_file_path”是要还原的完整备份文件的路径。
7. 在 SSMS 中执行以下命令来还原所有最新的事务日志:
```
RESTORE LOG [database_name] FROM DISK = 'transaction_log_backup_file_path' WITH NORECOVERY
```
其中,“database_name”是要还原的数据库名称,“transaction_log_backup_file_path”是要还原的事务日志备份文件的路径。
8. 重复步骤 7,直到 LSN 太早的错误消失为止。
9. 在 SSMS 中执行以下命令来检查数据库是否存在其他错误:
```
DBCC CHECKDB ([database_name])
```
其中,“database_name”是要检查的数据库名称。
需要注意的是,使用更新的日志记录进行数据库恢复可能需要一定的时间和资源,具体取决于数据库的大小和日志备份的数量。因此,在执行此过程之前,建议先评估系统资源和时间限制。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)