9. 查询备份还原数据库的进度。

select command
,percent_complete
,est_time_to_go=convert(varchar,(estimated_completion_time/3600000))+' hour, '
+convert(varchar,(estimated_completion_time)/60000)+' min, '
+convert(varchar,(estimated_completion_time)/1000)+' sec'
,start_time=convert(char(16),start_time,120)
,est_completion_time=convert(char(16),dateadd(second,estimated_completion_time/1000,getdate()),120)
,running_time=convert(varchar,((datediff(s,start_time,getdate()))/3600))+' hour, '
+convert(varchar,(datediff(s,start_time,getdate()))/60)+' min, '
+convert(varchar,(datediff(s,start_time,getdate())))+' sec'
,s.text
from sys.dm_exec_requests r
cross apply sys.dm_exec_sql_text(r.sql_handle) s
where r.command in ('BACKUP DATABASE','RESTORE DATABASE','BACKUP LOG','RESTORE LOG','DbccFilesCompact','DbccSpaceReclaim')

10. 删除指定表内的某个统计信息(例如,有时候,我们在AlwaysOn可用性组的副库上执行某个查询,会提示某个统计信息缺失)。

报错信息

消息 2767,级别 16,状态 1,过程 sp_table_statistics2_rowset,第 105 行
无法在系统目录中找到统计信息 'XXXXXX'。

语法

DROP STATISTICS table.statistics_name | view.statistics_name [ ,...n ]

这个命令在副库上执行,如果提示 无法对 统计信息 '‘XXXXXXX’' 执行 删除,因为它不存在,或者您没有所需的权限。

此时 可转到主库上尝试执行。

11. SQL Server 2012 关于序列 的基本操作【在对应DB下执行】。

SELECT * FROM sys.sequences

-- 获取下一个值
SELECT NEXT VALUE FOR [dbo].[自定义的序列名称];

-- 重置为1
ALTER SEQUENCE [dbo].[自定义的序列名称] RESTART WITH 1 ;

12. 自增列(IDENTITY(1,1))的数据导入。

2个表都有自增列(IDENTITY(1,1)),怎么才能导入数据呢?
例如,我想将含有IDENTITY(1,1)列的大表QQ_CampTask_T1,Rename成一张旧表QQ_CampTask,接下来还要把其中部分数据导入到新建的QQ_CampTask_T1 中,新产生的表还是有IDENTITY(1,1),此时导入数据,这个列就会报错。
消息 8101,级别 16,状态 1,第 1 行
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表QQ_CampTask_T1'中的标识列指定显式值。

解决方案
SET IDENTITY_INSERT QQ_CampTask_T1【表名】 on
此效用就在同一个回话中有效,其它不行。另外 还需要特别注意的是:一定要写明 列名。

例如:

SET IDENTITY_INSERT QQ_CampTask_T1 on
insert into QQ_CampTask_T1 ([ID],[CreateTime])
select [ID],[CreateTime] from QQ_CampTask

13. 修Table的改列名。

EXEC sp_rename '表名.[原列名]', '新列名', 'column'

14. 赋予指定账户查看执行计划的权限。

GRANT SHOWPLAN TO [XXX_test] ---账号是XXX_test;在指定数据库下执行

15. SQL语句执行耗费资源统计分析。

set statistics profile on
set statistics io on
set statistics time on
go
--写SQL语句的地方

------------

go
set statistics profile off
set statistics io off
set statistics time off

16. 增加约束:如果表的某一列没有约束,而要在此列增加约束。

类似命令 如下:
ALTER TABLE [dbo].[表明] ADD DEFAULT ((默认值)) FOR [列名]

17. sqlserver 服务器更改主机名后,需要做一些操作,不然维护计划 以及订阅发布都会有问题。有时修改计算机名后,执行select @@servername仍返回原来的计算机名,表示"实例"并没有随着修改。

USE master;
GO
IF SERVERPROPERTY('servername')<>@@SERVERNAME
BEGIN
DECLARE @server sysname;
SET @server=@@SERVERNAME;
EXEC sp_dropserver @server=@server;
SET @server=CAST(SERVERPROPERTY('servername')AS sysname );
EXEC sp_addserver @server=@server,@local='LOCAL';
END
GO

(我们重启一下服务.OK)

18. 出现性能瓶颈时,执行以下代码,检查瓶颈代码。

sp_lock
DBCC INPUTBUFFER(XXX) ---XXX 出现多次的spid

19查询表的大小

sp_spaceused 'Rel_OrderItem'

20. 字符与ASCII码相互转化,有的时候要对数据清理,所以有必要了解一下。

例如 Char("9") tab(水平制表符)
Char("10") 换行
Char("11") tab(垂直制表符)
Char("12") 换页
Char("13") 回车 chr(13)&chr(10) 回车和换行的组合
Char("32") 空格 SPACE

(1)获取字符的ASCII码 ASCII
ASCII码是对字符的标准编码。要获取字符的ASCII码可以通过ASCII函数来实现。
语法:ASCII(espression)--这里的expression是一个返回char或varchar数据类型的表达式,ASCII函数仅对表达式最左侧的字符返回ASCII码值。
例如:select ASCII('f') --输出 102
(2)获取ASCII码对应的字符 Char
语法:char(integer_expression)
例如:select char(102) -- 输出f

SQL Server 数据库部分常用语句小结(二)的更多相关文章

  1. SQL Server 数据库部分常用语句小结(三)

    21.SQL运行Log的读取 .EXEC xp_readerrorlog 0,1,null,null,'开始时间','结束时间' 22. Alwayson 状况及传输情况监控 SELECT ar.re ...

  2. SQL Server 数据库部分常用语句小结(一)

    1. 查询某存储过程的访问情况 SELECT TOP 1000 db_name(d.database_id) as DBName, s.name as 存储名字, s.type_desc as 存储类 ...

  3. 在 SQL Server 数据库的 WHERE 语句中使用子查询

    这是关于子查询语句的一系列文章中的第三篇.在这篇文章中我们将讨论WHERE语句中的子查询语句.其他的文章讨论了其他语句中的子查询语句. 本次课程中的所有例子都是基于Microsoft SQL Serv ...

  4. SQL Server性能监控常用语句

    .查找目前SQL Server所执行的SQL语法,并展示资源情况: SELECT s2.dbid , DB_NAME(s2.dbid) AS [数据库名] , --s1.sql_handle , ( ...

  5. 查询SQL SERVER 数据库版本号脚本语句

    数据库直接执行此语句即可select @@version 示例: Microsoft SQL Server 2014 - 12.0.2000.8 (X64)   Feb 20 2014 20:04:2 ...

  6. SQL Server数据库存在判断语句及系统表简介 转

    Transact-SQL Exists Sentences--判断数据库是否存在IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名' ...

  7. SQL Server数据库存在判断语句及系统表简介

    Transact-SQL Exists Sentences--判断数据库是否存在IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名' ...

  8. Sql Server 数据库用Transact-SQL语句创建链接服务器

    1.在查询编辑器中,输入以下 Transact-SQL 命令以便链接到名为 SRVR002\ACCTG 的 SQL Server 实例: USE [master] GO EXEC master.dbo ...

  9. SQL SERVER数据库中DDL语句

    一 修改表列名 EXEC sp_rename 'table_name.[字段旧名]', '字段新名' , 'COLUMN'; 二 修改列类型 ALTER TABLE table_name  ALTER ...

随机推荐

  1. [Swift]LeetCode420. 强密码检验器 | Strong Password Checker

    A password is considered strong if below conditions are all met: It has at least 6 characters and at ...

  2. [Swift]LeetCode474. 一和零 | Ones and Zeroes

    In the computer world, use restricted resource you have to generate maximum benefit is what we alway ...

  3. MyBatis增、删、改、查

    1.config.xml文件的基本配置信息 2.选择数据源 3.mybatis约定 (1)parameterType和resultType 只能传一个参数,但是我们可以传一个数组或者集合,达到传多个参 ...

  4. EPPlusHelper

    public class EPPlusExcelHelper : IDisposable { public ExcelPackage ExcelPackage { get; private set; ...

  5. js闭包vs Java内部类

    前言: 昨天写了一个关于Java内部的博客,在内部类的最后一点中谈到了Java闭包的概念,他是这样定义闭包的:闭包是一个可调用的对象,它记录了一些信息,这些信息来自创建它的作用域.结合Java的内部类 ...

  6. 用sklearn封装的kmeans库

    由于需要海量的进行聚类,所以将 k-means 算法自我封装成一个方便利用的库,可以直接调用得到最优的 k值 和 中心点: #!/usr/bin/python3.4 # -*- coding: utf ...

  7. 从零开始学习PYTHON3讲义(五)while循环和棋盘麦粒问题

    <从零开始PYTHON3>第五讲 ​上一节课重点学习了字符串,并且传递了一个重要的理念,就是程序要对开发人员自己和用户都足够友好.在这个过程中,利用字符串给出充分.完整.准确的提示是非常重 ...

  8. 浅谈新的布局方式-flex

    引言: 网页布局在flex出来之前,是由盒模型为底子,float,position,table,百分比来进行布局的,重绘的比较多,影响性能,复杂又不好维护.flex布局,可以简便.完整.响应式地实现各 ...

  9. 初探Java设计模式4:JDK中的设计模式

    JDK中设计模式 本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图.首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助.一.设计模式是什么(1)反复出现 ...

  10. Springboot 拦截器的背后

    今天写了个拦截器对一些mapping做了些处理,写完之后突然很想看看拦截器是怎么加进spring里面.对着源码debug了一遍.又有了新的收获. 1.拦截器的实现 1.实现HandlerInterce ...