SQL Server 数据库部分常用语句小结(二)
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 数据库部分常用语句小结(二)的更多相关文章
- SQL Server 数据库部分常用语句小结(三)
21.SQL运行Log的读取 .EXEC xp_readerrorlog 0,1,null,null,'开始时间','结束时间' 22. Alwayson 状况及传输情况监控 SELECT ar.re ...
- SQL Server 数据库部分常用语句小结(一)
1. 查询某存储过程的访问情况 SELECT TOP 1000 db_name(d.database_id) as DBName, s.name as 存储名字, s.type_desc as 存储类 ...
- 在 SQL Server 数据库的 WHERE 语句中使用子查询
这是关于子查询语句的一系列文章中的第三篇.在这篇文章中我们将讨论WHERE语句中的子查询语句.其他的文章讨论了其他语句中的子查询语句. 本次课程中的所有例子都是基于Microsoft SQL Serv ...
- SQL Server性能监控常用语句
.查找目前SQL Server所执行的SQL语法,并展示资源情况: SELECT s2.dbid , DB_NAME(s2.dbid) AS [数据库名] , --s1.sql_handle , ( ...
- 查询SQL SERVER 数据库版本号脚本语句
数据库直接执行此语句即可select @@version 示例: Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Feb 20 2014 20:04:2 ...
- SQL Server数据库存在判断语句及系统表简介 转
Transact-SQL Exists Sentences--判断数据库是否存在IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名' ...
- SQL Server数据库存在判断语句及系统表简介
Transact-SQL Exists Sentences--判断数据库是否存在IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名' ...
- Sql Server 数据库用Transact-SQL语句创建链接服务器
1.在查询编辑器中,输入以下 Transact-SQL 命令以便链接到名为 SRVR002\ACCTG 的 SQL Server 实例: USE [master] GO EXEC master.dbo ...
- SQL SERVER数据库中DDL语句
一 修改表列名 EXEC sp_rename 'table_name.[字段旧名]', '字段新名' , 'COLUMN'; 二 修改列类型 ALTER TABLE table_name ALTER ...
随机推荐
- [Swift]LeetCode696. 计数二进制子串 | Count Binary Substrings
Give a string s, count the number of non-empty (contiguous) substrings that have the same number of ...
- 3-4 计算属性的setter和getter
Vue中的计算属性的setter和getter //如上,fullName这个方法在取这个数据的时候,会执行get中的方法:而在设置数据时,会执行set中的方法.其中set中有个参数(value),用 ...
- 第四周 IP通信基础回顾
传输层的作用:分割上层数据:在应用主机程序之间建立到端的连接:流量控制:面向连接与面向非连接. URG=1,紧急指针字段有效. 窗口字段- 占2个字节,用来让对方设置发送窗口的依据,单位为字节. TC ...
- Python内置函数(59)——sorted
英文文档: sorted(iterable[, key][, reverse]) Return a new sorted list from the items in iterable. Has tw ...
- Java接口的实例应用:致敬我的偶像——何塞·穆里尼奥
文/沉默王二 曹操在<短歌行>中为杜康酒打过一个价值一亿个亿的广告——“何以解忧,唯有杜康”,我替曹操感到惋惜的是他本人并不会收到这笔不菲的代言费.想一想,要是三国时期的明星人物们有这个代 ...
- 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校
上一次,我们通过宿舍联网打魔兽的需求,认识了如何通过物理层和链路层组建一个宿舍局域网.今天,让我们切换到稍微复杂点的场景,办公室. 在这个场景里,就不像在宿舍那样,搞几根网线,拉一拉, ...
- 【Git】(2)---checkout、branch、log、diff、.gitignore
常用命令 一.命令 1.checkout 切换分支 git checkout 分支名 #切换分支 #如果在当前分支上对文件进行修改之后,没有commit就切换到另外一个分支b, 这个时候会报错,因为没 ...
- 【java提高】---java反射机制
java反射机制 一.概述 1.什么是反射机制 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态 ...
- Solr 06 - Solr中配置使用IK分词器 (配置schema.xml)
目录 1 配置中文分词器 1.1 准备IK中文分词器 1.2 配置schema.xml文件 1.3 重启Tomcat并测试 2 配置业务域 2.1 准备商品数据 2.2 配置商品业务域 2.3 配置s ...
- Lucene 05 - 使用Lucene的Java API实现分页查询
目录 1 Lucene的分页查询 2 代码示例 3 分页查询结果 1 Lucene的分页查询 搜索内容过多时, 需要考虑分页显示, 像这样: 说明: Lucene的分页查询是在内存中实现的. 2 代码 ...