1.sql server单用户多用户的切换

2.转换大小写

3.查询数据库中用户名、数据库名、表名、字段名等

4.删除sql server登录时用户名中的自动记录的用户

5.查询存储过程包含的字段

6.排序,自增,表中相同的数据删除另一条

7.修改字段结构

8.判断数据库中表、字段、视图、函数等存在不存在

9.判断函数、视图等存在则删除

10.查询数据库所有的触发器

一、

sql server数据库中会存在单用户和多用户模式

有时候访问数据库,会提示出数据库被占用等异常,想做一些数据库操作,无法进行。

下面是我整理出的一点更改单用户模式和多用户模式的切换

alter database 数据库名字 set Single_user --单用户
alter database 数据库名字 set multi_user --多用户

OR

sp_dboption 数据库名字 ,“single user”,true --单用户

sp_dboption 数据库名字 ,“single user”,false --多用户

二、

转换大小写
SELECT UPPER('AsadSA')
ASADSA
SELECT LOWER('AsadSA')
asadsa

三、

1 .获取所有用户名:
SELECT name FROM Sysusers where  status = ' 2 '  and islogin = ' 1 '
islogin = ' 1 ' 表示帐户
islogin = ' 0 ' 表示角色
status = ' 2 ' 表示用户帐户
status = ' 0 ' 表示糸统帐户
 2 .获取所有数据库名:
SELECT Name FROM Master..SysDatabases ORDER BY Name
 3 .获取所有表名
SELECT Name FROM DatabaseName..SysObjects Where XType = ' U '  ORDER BY Name
XType = ' U ' :表示所有用户表;
XType = ' S ' :表示所有系统表;
 4 .获取所有字段名:
SELECT Name FROM SysColumns WHERE id = Object_Id( ' TableName ' )
 5 .获取数据库所有类型
select name from systypes 
 6 .获取主键字段
SELECT  name FROM SysColumns WHERE id = Object_Id( ' 表名 ' ) and colid = (select top 1  keyno from sysindexkeys where  id = Object_Id( ' 表名 ' ))

四、

删除数据库记录的用户名
C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

五、
查询数据库存储过程包含字段
select name   
from sysobjects o, syscomments s   
where o.id = s.id   
and text like '%PresStatus%'   
and o.xtype = 'P'

六、

select A.*, row_number() over( partition by name ) 工资排名
from A;

--排序,自增列
select ROW_NUMBER() over(partition by xm Order by xm  ASC) As no from MedInfoTableHis

with t1 as(select *,row_number() over ( Order by medonlycode  ASC) as id from MedInfoTableHis)
delete from t1 where t1.id in( 
  SELECT   max(ID)   FROM (select distinct s.no id,s.MedonlyCode from (SELECT ROW_NUMBER() over( Order by medonlycode  ASC) As no,*  from MedInfoTableHis ) s  group by MedonlyCode,s.no) aa group by MedonlyCode having count(*)>1 
  )

七、

--修改表的字段结构
   ALTER TABLE dbo.Windows ALTER COLUMN MachineID VARCHAR(100)

八、

1、判断表是否存在

select * from sysobjects where id = object_id(表名) and OBJECTPROPERTY(id, N'IsUserTable') = 1
2、判断视图是否存在

select table_name from information_schema.views where table_name = 视图名
或者

SELECT * FROM dbo.sysobjects WHERE id = object_id('视图名') AND OBJECTPROPERTY(id, N'IsView') = 1
3、判断函数是否存在

select * from sysobjects where xtype='fn' and name='函数名'
或者

select * from dbo.sysobjects where id = object_id(N'[dbo].[函数名]') and xtype in (N'FN', N'IF', N'TF')
4、判断字段是否存在

select 1 from syscolumns where id=object_id('表名') and name='字段名'
5、判断索引是否存在

if not exists(select * from sysindexes where id=object_id('表名') and name='索引名')

create nonclustered index [索引名] on [表名](字段 asc,字段 asc)

go

6、判断存储过程是否存在

IF exists(SELECT * FROM sysobjects WHERE id=object_id(N'[master].[存储过程名称]') and xtype='P')

begin

drop procedure [master].[存储过程名称]

End

GO

九、

-- SQL SERVER 判断是否存在某个触发器、储存过程

-- 判断储存过程,如果存在则删除
IF (EXISTS(SELECT * FROM sysobjects WHERE name='procedurename' AND type='P'))
DROP PROCEDURE procedurename

-- 判断触发器,如果存在则删除
IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[triggername]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1))
DROP TRIGGER triggername

-- 判断用户函数是否存在,如果存在则删除
-- 此处type有两种: 'TF'- Table-Value Function 表值函数 'FN'- Scalar-Value Function 标量值函数
IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[userfunction]') AND (type='FN' OR type='TF')))
DROP FUNCTION userfunction

-- 判断视图是否存在,存在则删除
IF (EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME=N'viewname'))
DROP VIEW viewname

-- 判断用户表 是否存在,若存在则删除
IF (EXISTS(SELECT * FROM sysobjects WHERE id=N'tablename' AND OBJECTPROPERTY(id, N'IsUserTable')=1))
DROP TABLE tablename

-- 判断数据库,如果存在则删除
IF (EXISTS(SELECT * FROM master.dbo.sysdatabases WHERE dbid=db_ID('dbname')))
DROP DATABASE dbname

-- 如果提示:删除数据库时提示数据库正在被使用,无法删除(Cannot drop database databasename because it is currently in use),使用:

IF (EXISTS(SELECT * FROM master.dbo.sysdatabases WHERE dbid=db_ID('dbname')))

BEGIN

  USE master
  ALTER DATABASE dbname
  SET single_user
  WITH ROLLBACK IMMEDIATE
  DROP DATABASE dbname

END

十、

SELECT  OBJECT_NAME(a.parent_obj) AS [表名] ,
        a.name AS [触发器名称] ,
        ( CASE WHEN b.is_disabled = 0 THEN '启用'
               ELSE '禁用'
          END ) AS [状态] ,
        b.create_date AS [创建日期] ,
        b.modify_date AS [修改日期] ,
        c.text AS [触发器语句]
FROM    sysobjects a
        INNER JOIN sys.triggers b ON b.object_id = a.id
        INNER JOIN syscomments c ON c.id = a.id
--WHERE   a.xtype = 'tr' and c.text like '%bom_weight_wkx%'
ORDER BY [表名]

SQL server一丢丢杂乱的整理相关推荐

  1. SQL Server 2000 (SP4)笔记整理(二):数据库表

    --==========================================================-- --  作者:彭建军 --  日期:2005-06-22 --  页面:P ...

  2. SQL Server最受欢迎技巧:解读DBA

    http://tech.it168.com/a2010/0105/832/000000832829_all.shtml [IT168 技术分析]在向2009年告别之际,我们来回顾一下过去的一年中最受欢 ...

  3. SQL SERVER 2005镜像配置(包含见证服务器)

    镜像简介 重要说明:保持数据库镜像运行.如果您关闭数据库镜像,则必须执行完全备份并还原数据库以重建数据库镜像. 一. 简介 SQL SERVER 2005镜像基于日志同步,可良好实现故障转移.每个数据 ...

  4. 整理一些sql server基础资料

    闲来无事,整理些sql server 基础资料,以便以后查找.复习 SQL Server日期计算 a. 一个月的第一天 Select DATEADD(mm, DATEDIFF(mm,0,getdate ...

  5. SQL SERVER DBCC 命令集整理

    为什么80%的码农都做不了架构师?>>>    1. DBCC CHECKALLOC 检查指定数据库的磁盘空间分配结构的一致性. DBCC CHECKALLOC [     (dat ...

  6. SQL Server 数据库的整理优化的基本过程(二)

    SQL Server 数据库的整理优化的基本过程(二) 高建刚 第一节 基本维护 第二节 索引 索引相信大家都不陌生,而且在因特网上,有了很多关于如何通过索引来优化数据库的文章,在这里,我主要是结合我 ...

  7. Microsoft SQL Server 自定义函数整理大全--转【叶子】的文章

    SQL SERVER中是允许有自定义函数,Microsoft SQL Server并不将用户限制在定义为 Transact-SQL语言一部分的内置函数上,而是允许用户创建自己的用户定义函数. 函数是由 ...

  8. [转]Microsoft SQL Server 自定义函数整理大全

    SQL SERVER中是允许有自定义函数,Microsoft SQL Server 并不将用户限制在定义为 Transact-SQL 语言一部分的内置函数上,而是允许用户创建自己的用户定义函数. 函数 ...

  9. SQL Server 数据库的整理优化的基本过程(三)

    SQL Server 数据库的整理优化的基本过程(三) 高建刚 第二节 索引 第三节 索引的维护 数据库在进行数据的insert.update.delete时,引擎都会自动维护索引.随着时间的积累,这 ...

最新文章

  1. AI 时代,如何布局算力基础设施
  2. java大数BinInteger
  3. 微内核操作系统能做服务器系统吗,科普:微内核操作系统现状
  4. 基于javafx的五子棋_JavaFX中基于表达式的PathTransitions
  5. sql having是什么意思_图解sql面试题:如何查找重复数据?
  6. arm64 linux 除零正常返回,arm64程序调用规则
  7. c语言i++和++i程序_使用C ++程序修改链接列表的内容
  8. C++ 处理输入输出错误
  9. 基于Servlet的MVC模式用户登录实例
  10. 我的 IDEA 使用 配置策略
  11. 区块链教程Fabric1.0源代码分析flogging(Fabric日志系统)
  12. 读《Java编程思想第五版》心得体会
  13. 22-09-04 西安 谷粒商城(01)MySQL主从复制、MyCat读写分离、MyCat分库分表
  14. pdf转换器免注册码
  15. IntelliJ IDEA 字体配置常用快捷键
  16. Codeforces 760B Frodo and pillows
  17. Y9000P 2022独显直连
  18. 基于语音的疲劳度检测算法研究
  19. 必得沾福气卡两张,可沾花花卡、敬业福。(扫福攻略、扫福技巧)
  20. Greenplum 实时数据仓库实践(8)——事实表技术

热门文章

  1. 服务器终端授权,终端服务器许可 - Windows Server | Microsoft Docs
  2. php如何实现自动加载mp3,PHP中自动加载的几种实现
  3. php 链接oracle tns,PHP连接Oracle ORA
  4. PathInfo模式的支持
  5. php人民币函数,php人民币小写转大写的函数,不限长度,精确到分(推荐)
  6. webpack css loader
  7. “在 TCP 网络上检测出有重复名称”错误的解决方法
  8. 关于统计学的一些思考(一)
  9. 怎样去掉“交互式服务对话框检测”提示对话框
  10. ZJYYOJ 活字印刷(dfs)[C,C++]