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

    技术2025-12-24  34

    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)