您的位置:首页 > 数据库

自己整理的 常用的SqlServer 操作信息

2011-02-17 10:09 246 查看
1、微软内部存贮过程 sp_msforeachtable(‘drop table ?’) 删除数据库中的所有表。

2、查看SQL信息 serverproperty('productversion')显示Sql版本号。
serverproperty('productlevel') 显示Sql级别。
serverproperty('edition') 显示Sql版本。

获取某字段或几个字段有重复的数据,可限定重复几条
  select field1,field2 from table group by field1,field2 having count(field1)>1
  
获取某字段不重复的最新记录
  select top * from table a where id in(select max(id) from table b group by field) order by id desc
  
获取某字段的重复数
  select count(field) from table group by field having count(field)>1
  
获取不重复的记录
  select field1,field2 from table group by field1,field2
  
删除重复记录
  delete from table a where id not in(select max(id) from table b group by field)

利用RowNumber 排序。
Select ROW_NUMBER() OVER(ORDER BY id asc) as RecourdID From USERWT

重复记录。
with t as (SELECT *
FROM (
SELECT *,COUNT(1)OVER(PARTITION BY nkname) cnt
FROM userwt
)M
WHERE m.cnt>1
)

--Select * From t Where username='zhouyu52104551@yahoo.com.cn'

Select username,nkname From t group by nkname,username having count(nkname)>1

Background SPID 正在执行后台任务。

Sleeping SPID 当前并未执行。它通常表示该 SPID 正在等待应用程序发出命令。

Runnable SPID 当前正在执行。

Dormant 类似于 Sleeping,但 Dormant 还表示 SPID 在完成一个 RPC 事件后已被重置。重置操作清除了执行 RPC 事件过程中使用的资源。这是一种正常状态,SPID 不仅可用,并正在等待执行后续命令。

Rollback 该 SPID 处于事务回滚状态。

Defwakeup 表示 SPID 正在等待处于释放过程的资源。waitresource 字段应表示正被讨论的资源。

Spinloop 进程在尝试获取用于 SMP 系统上的并发控制的 spinlock 时正处于等待状态。

查找数据库中的所有用户。

select * from sys.server_principals where type='s'

显示数据库日志信息: Dbcc loginfo.

收缩数据库日志文件:dbcc shrinkfile('Topenfire_log',10)

收缩数据库库文件:dbcc shrinkdatabase(Topenfire)

显示数据库文件的相关信息:Select size*8/1024,* From sys.database_files

查看数据库日志文件占用空间及利用率:dbcc sqlperf(logspace)

显示行数、保留的磁盘空间以及当前数据库中的表、索引视图:exec sp_spaceused 表名

对表进行扫描 DBCC showcontig
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: