sql
SQL Server事务日志的几个常用操作?
一、SQL Server事务日志的几个常用操作?
我们知道,SQL Server事务日志主要是用来记录所有事务对数据库所做的修改,如果系统出现故障,它将成为最新数据的唯一来源。日志的操作常有以下几个应用:
一、事务日志文件LDF的丢失
当我们不小删除或者LDF文件丢失的时候,数据库只剩下MDF文件,此时直接通过附加MDF是无法恢复数据库的,那我们怎么样才能恢复数据库呢?我们可以把SQL Server的日志文件分为两种形式:一类是无活动事务的日志,另一类是有活动事务的日志,我们分别根据两种情况来进行数据库恢复。
1、无活动事务的日志恢复
当文件并没有发生活动性的日志,我们就可以很容易的利用MDF文件就可以直接恢复数据库了,具体操作方法如下:
1)数据库要是没有日志,就会处于置疑的状态,我们先可以通过企业管理器中在对应数据库中点击右键,然后在“所有任务”下选择“分离数据库”把数据库进行分离;
2)利用MDF文件附加数据库生成新的日志文件,可用企业管理器中数据库点击右键选择“所有任务”下的“附加数据库”把数据库附加上。
这样就可以直接恢复好数据库了,而如果数据库的日志文件中含有活动事务,利用此方法就不能恢复数据库,所以得使用下面的方法。
2、有活动事务的日志恢复
当日志发生了事务的记录,丢失的时候,我们采用如下的方法来实现:
1)新建一个同名的数据库,如原数据库名为MYDB,然后停止SQL Server服务器,再把数据库主数据MDF文件移走,然后重新启动SQL Server服务器,新建一个同名的数据库MYDB,然后再停止SQL Server服务器,把移走的MDF文件再覆盖回来,然后再重新启动SQL Server服务器,在默认的情况下,系统表是不允许被修改的,我们需要运行以下语句才可以,在查询分析器中,选择Master数据库,然后执行:
Sp_configure 'allow updates',1
Reconfigure With Override
接着运行以下语句,把Sysdatabases表中MYDB数据库的status属性设为‘37268’,把MYDB数据库设置为紧急模式。
update sysdatabases set status=32768 where name=’MYDB’
然后再把数据库MYDB设置为单用户模式,然后重启SQL Server服务器,并把数据库MYDB设为单用户模式
Sp_dboption 'MYDB','single user', 'true'
二、SQL service事务是什么?
事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中的永久组成部分。
如果事务遇到错误且必须取消或回滚,则所有数据修改均被清除。
SQL Server 以下列事务模式运行。自动提交事务 每条单独的语句都是一个事务。
显式事务 每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。
隐式事务 在前一个事务完成时新事务隐式启动,但每个事务仍以 COMMIT 或 ROLLBACK 语句显式完成。
批处理级事务只能应用于多个活动结果集 (MARS),在 MARS 会话中启动的 Transact-SQL 显式或隐式事务变为批处理级事务。
三、sql降序排列怎么操作?
sql中的排序,如何使用倒序
sql中的排序使用倒序的步骤如下:
我们需要准备的材料分别是:电脑、sql查询器。
1、首先,打开sql查询器,连接上相应的数据库表,例如test表,以score字段倒序为例。
2、点击“查询”按钮,输入:select * from test order by score desc;。
3、点击“运行”按钮,此时会发现score字段按倒序排序查询出了。
如何用sql语句排序一个倒一个顺 比如 az 这个字段是顺序 asc id这个字
例如,按学生学号升序排列,学生成绩按降序排列
sql是这样写的:select * from tab order by id,scroe desc
sql server会根据order by跟id scroe 先后进行排序,
先根据id升序排序,再根据scroe降序排序,也许你会发现scroe列的数据不是按照降序排列
这就是优先排序的原则,order by 后面谁在前,谁就优先排序
你可以仔细看看相同的id(你可以插入几行相同的id,不同scroe),score就是按照降序排列的
sql 升序降序排列
降序:SELECT * FROM kc ORDER BY cpbh DESC
升序:SELECT * FROM kc ORDER BY cpbh ASC
语法:
sql可以根据字段进行排序,其中,DESC表示降序,ASC表示升序
order by 字段名 DESC;按照字段名降序排序
order by 字段名 ASC;按照字段名升序排序
实例:
一、/*查询学生表中姓名、学号,并以学号降序排序*/
select name,StuID from Students_information order by StuID desc /**order by 以什么排序,默认为升序,desc是降序*/
二、/*查询学生表中前5名学生的姓名,学号,并以学号升序排列*/
select top 5 name,StuID from Students_information order by StuID /*order by 默认为升序*/
扩展资料:
一、ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
二、SQL 排序多个字段
order by 多个字段,每个字段后面都有排序方式,默认ASC
例如:select table a order by a.time1 ,a.time2 desc,a.time3 asc
参考资料:w3school-SQL ORDER BY 子句
SQL语句返回排序后的位置
可惜SQL SERVER没有直接查看结果集中某行所在位置的功能,只能借助临时表了。以下语句同时执行:
if exists(select * from sysobjects where name ='temp_for_insert' )
begin
drop table temp_for_insert
end
select identity(int,1,1) as rowid,id,name,addtime
into temp_for_insert
from [users]
where addtime between '20061129' and '20061130'
order by addtime
select *
from temp_for_insert
drop table temp_for_insert
注意,如果users表中原来有自增的列的话,需要在select into的时候转换一下,比如id列是自增的,语句就是
select identity(int,1,1) as rowid,cast(id as int) as id,name,addtime
into temp_for_insert
from [users]
where addtime between '20061129' and '20061130'
order by addtime
where addtime between '20061129' and '20061130'
是限定时间段的。
四、sql2012事务日志已满永久解决?
DB右击属性-》文件-》添加一个log文件,下面就不会异常,但是防止下次异常还需需要收索下log日志文件
五、SQL事务的概念,四个特性?
概念:SQL是一种介于关系代数与关系演算之间的结构化查询语言,其功能不仅仅是查询.SQL是一个通用的、功能极强的关系数据库语言。
特性:综合统一,高度非过程化,面向集合的操作方式,以一种语法结构提供两种使用方式。六、怎么用事务机制执行多条SQL语句?
产生的改变逻辑上只有事务(transaction)内(后两条SQL)能看到,其他并行的SQL看不到改变(直到事务完全commit了)。您可以理解为三条是同时执行的,而不是一条一条执行的,也就是不存在“执行完第一条”的时刻。
七、SQL的数据操作语句包括?
SQL包含的语言
数据定义语言(Data Definition Language,DDL)
1)DROP:删除数据库和表等对象。
2)CREATE:创建数据库和表等对象。
3)ALTER:修改数据库和表等对象。
数据操作语言(Data Manipulation Language,DML)
1)SELECT:查询表中数据。
2)INSERT:向表中插入新数据。
3)UPDATE:更新表中数据。
4)DELETE:删除表中数据。
数据查询语句(Data Query Language,DQL)
主要通过SELECT语句查询。
数据控制语言(Data Control Language ,DCL)
1)GRANT:赋予用户操作权限。
2)REVOKE:取消用户操作权限。
3)COMMIT:确认对数据库中的数据进行变更。
4)ROLLBACK:取消对数据库中的数据进行变更。
八、sql面向集合的操作方式?
Select语句中 使用group by 统计集合对应信息。
九、sql server 聚类分析操作步骤?
1.打开SQL Server Business Intelligence Development Studio
2、文件-新建项目-商业智能项目-Analysis Services项目,设置项目名称,例如
“Clsutering”
3、新建数据源-数据源向导,下一步-服务器名称(本机请点击下拉选择ADMIN-PC,网
络数据库请填写IP地址)-使用SQL Server身份验证(建议勾选“保存密码”)-连接到一个数据库(下拉选择待分析数据所在数据库)-测试连接,确定-下一步-点选“使用服务帐户”,下一步-数据源名称(默认即数据库名称)
4.、新建数据源视图-数据源视图向导,下一步-双击上一步中新建的关系数据源如test-
下一步-添加与分析相关的所有表,下一步-命名数据源视图
十、SQL SERVER的事务模式,和各自的特点?
3种模式:
1.显式事务:都是通过显式的命令控制事务的开始和结束。
2.自动提交事务:是数据引擎的缺省模式,每个单独的语句在完成后被提交,失败后被回滚。
3.隐式事务:一个语句是一个新的事务,直到结束这个事务。
热点信息
-
在Python中,要查看函数的用法,可以使用以下方法: 1. 使用内置函数help():在Python交互式环境中,可以直接输入help(函数名)来获取函数的帮助文档。例如,...
-
一、java 连接数据库 在当今信息时代,Java 是一种广泛应用的编程语言,尤其在与数据库进行交互的过程中发挥着重要作用。无论是在企业级应用开发还是...
-
一、idea连接mysql数据库 php connect_error) { die("连接失败: " . $conn->connect_error);}echo "成功连接到MySQL数据库!";// 关闭连接$conn->close();?> 二、idea连接mysql数据库连...
-
要在Python中安装modbus-tk库,您可以按照以下步骤进行操作: 1. 确保您已经安装了Python解释器。您可以从Python官方网站(https://www.python.org)下载和安装最新版本...