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

    技术2025-12-24  5

    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

     

    最新回复(0)