189 8069 5689

sqlserver记录号,sql 记录数

如何在SQLSERVER删除记录后重新编号

您好:

创新互联公司专注于企业全网营销推广、网站重做改版、盐湖网站定制设计、自适应品牌网站建设、H5技术商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为盐湖等各大城市提供网站开发制作服务。

SQL Server重置自增列的方法如下

-- 1.删除原表数据,并重置自增列

truncate table tablename  --truncate方式也可以重置自增字段

-- 2.重置表的自增字段,保留数据

DBCC CHECKIDENT (tablename,reseed,0) 

-- 3.设置允许显式插入自增列

SET IDENTITY_INSERT tablename  ON

-- 当然插入完毕记得要设置不允许显式插入自增列

SET IDENTITY_INSERT tablename  Off

关于SqlServer数据库行求和的问题

create Table T

(

id int,

a  int,

b  int

)

Insert into t values(1,1,1)    

Insert into t values(2,2,1)    

Insert into t values(3,3,1)  

Insert into t values(4,4,1)    

Insert into t values(5,5,1)   

Insert into t values(6,6,1)   

/*思路:

id可能不连续,所以先用id排序,产生一个记录号id2

然后按3条记录一组产生一个分组号G,接着按G分组求和,id取最大

最后更新

*/

With CT

AS

(

Select max(id) As id,SUM(a) As A,SUM(B) As B

from

(

Select *,(id2+2)/3 As G 

from (Select *,ROW_NUMBER() over(order by id) As id2 from T) S

)M Group by G

)

Update T Set a=CT.A-T.a,b=CT.B-T.b

From CT

where T.id=CT.id

如何使用SqlServer查询数据库表所有或指定记录

首先需要登录

打开 Sql Server

先展开你需要查询的表,了解其中的字段名后点击新建查询

查询中输入如下命令,系统会有实时提示

正确后,点击执行

如果表中没有数据则0显示

查询中输入如下命令:

select top 20 UserID,UserName

from ReportServer$SQLSERVER.dbo.Users

即可查看所有符合条件的记录。

注:其中 top 20 为最先的20条。可以去掉后显示所有。

UserID,UserName 为指定字段名,如替换为 * 则显示所有字段。

ReportServer$SQLSERVER.dbo.Users,分别为库名,表名。

如何查看sqlserver日志的方法

定期分析sqlserver日志是DBA很重要的任务,那如何才能查看sqlserver日志呢?

在SQL Server 7.0和SQL Server2000中,可以用下面的命令查看:

DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )

参数:

Dbid or dbname - 任一数据库的ID或名字

type - 输出结果的类型:

0 - 最少信息(operation, context, transaction id)

1 - 更多信息(plus flags, tags, row length)

2 - 非常详细的信息(plus object name, index name,page id, slot id)

3 - 每种操作的全部信息

4 - 每种操作的全部信息加上该事务的16进制信息

默认 type = 0

要查看MSATER数据库的事务日志可以用以下命令:

DBCC log (master)

释放日志空间

1.清空日志

DUMP TRANSACTION 库名 WITH NO_LOG

2.截断事务日志:

BACKUP LOG 数据库名 WITH NO_LOG

3.收缩数据库文件(如果不压缩,数据库的文件不会减小

企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件

--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

也可以用SQL语句来完成

--收缩数据库

DBCC SHRINKDATABASE(客户资料)

--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles

DBCC SHRINKFILE(1)

4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)

a.分离数据库:

企业管理器--服务器--数据库--右键--分离数据库

b.在我的电脑中删除LOG文件

c.附加数据库:

企业管理器--服务器--数据库--右键--附加数据库

此法将生成新的LOG,大小只有500多K

或用代码:

下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

a.分离

E X E C sp_detach_db @dbname = 'pubs'

b.删除日志文件

c.再附加

E X E C sp_attach_single_file_db @dbname = 'pubs',

@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Da ta\pubs.mdf'

5.为了以后能自动收缩,做如下设置:

企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"

--SQL语句设置方式:

E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE'

6.如果想以后不让它日志增长得太大

企业管理器--服务器--右键数据库--属性--事务日志

--将文件增长限制为xM(x是你允许的最大数据文件大小)

--SQL语句的设置方式:

alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)

特别注意:

请按步骤进行,未进行前面的步骤,请不要做后面的步骤

否则可能损坏你的数据库.

一般不建议做第4,6两步

第4步不安全,有可能损坏数据库或丢失数据

第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.

另外提供一种更简单的方法,建议大家使用。

更简单的方法:

1。右建数据库属性窗口--故障还原模型--设为简单

2。右建数据库所有任务--收缩数据库

3。右建数据库属性窗口--故障还原模型--设为大容量日志记录

删除重复记录并保留其中记录号最大的一条,用 sql 语如何写

Delete from tablea a

where  记录号 not in (select max(记录号) from tablea b

where b.col1=a.col1 and b.col2=a.col2 ) 

--取出重复数据中记录号最大的,然后删除不是最大记录号的数据


文章题目:sqlserver记录号,sql 记录数
分享地址:http://cdxtjz.cn/article/pheecp.html

其他资讯