一.迁移登录用户脚本:

  1. select 'create login [' + p.name + '] ' +
  2. case when p.type in('U','G') then 'from windows ' else '' end +
  3. 'with ' +
  4. case when p.type = 'S' then 'password = ' + master.sys.fn_varbintohexstr(l.password_hash) +
  5. ' hashed, ' + 'sid = ' + master.sys.fn_varbintohexstr(l.sid) + ', check_expiration = ' +
  6. case when l.is_expiration_checked > 0 then 'ON, ' else 'OFF, ' end + 'check_policy = ' +
  7. case when l.is_policy_checked > 0 then 'ON, ' else 'OFF, ' end +
  8. case when l.credential_id > 0 then 'credential = ' + c.name + ', ' else '' end
  9. else '' end +
  10. 'default_database = ' + p.default_database_name +
  11. case when len(p.default_language_name) > 0
  12. then ', default_language = "' + p.default_language_name +'"' else '''' end
  13. from sys.server_principals p
  14. left join sys.sql_logins l on p.principal_id = l.principal_id
  15. left join sys.credentials c on l.credential_id = c.credential_id
  16. where p.type in('S','U','G') and p.name <> 'sa'
  17.  
  18. 二.查看数据库阻塞:
  1. SELECT wt.blocking_session_id AS BlockingSessesionId
  2. ,sp.program_name AS ProgramName
  3. ,COALESCE(sp.LOGINAME, sp.nt_username) AS HostName
  4. ,ec1.client_net_address AS ClientIpAddress
  5. ,db.name AS DatabaseName
  6. ,wt.wait_type AS WaitType
  7. ,ec1.connect_time AS BlockingStartTime
  8. ,wt.WAIT_DURATION_MS/1000 AS WaitDuration
  9. ,ec1.session_id AS BlockedSessionId
  10. ,h1.TEXT AS BlockedSQLText
  11. ,h2.TEXT AS BlockingSQLText
  12. FROM sys.dm_tran_locks AS tl
  13. INNER JOIN sys.databases db ON db.database_id = tl.resource_database_id
  14. INNER JOIN sys.dm_os_waiting_tasks AS wt ON tl.lock_owner_address = wt.resource_address
  15. INNER JOIN sys.dm_exec_connections ec1 ON ec1.session_id = tl.request_session_id
  16. INNER JOIN sys.dm_exec_connections ec2 ON ec2.session_id = wt.blocking_session_id
  17. LEFT OUTER JOIN master.dbo.sysprocesses sp ON SP.spid = wt.blocking_session_id
  18. CROSS APPLY sys.dm_exec_sql_text(ec1.most_recent_sql_handle) AS h1
  19. CROSS APPLY sys.dm_exec_sql_text(ec2.most_recent_sql_handle) AS h2
  20.  
  21. 三.查看当前数据库脚本运行情况:
  1. SELECT creation_time N'语句编译时间'
  2. ,last_execution_time N'上次执行时间'
  3. ,execution_count N'执行次数'
  4. ,case datediff(ss,creation_time,last_execution_time) when 0 then 0
  5. else execution_count/datediff(ss,creation_time,last_execution_time) end N'每秒执行次数'
  6. ,total_physical_reads N'物理读取总次数'
  7. ,total_logical_reads/execution_count N'每次逻辑读次数'
  8. ,total_logical_reads N'逻辑读取总次数'
  9. ,total_logical_writes N'逻辑写入总次数'
  10. , total_worker_time/1000 N'所用的CPU总时间ms'
  11. , total_elapsed_time/1000 N'总花费时间ms'
  12. , (total_elapsed_time / execution_count)/1000 N'平均时间ms'
  13. ,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
  14. ((CASE statement_end_offset
  15. WHEN -1 THEN DATALENGTH(st.text)
  16. ELSE qs.statement_end_offset END
  17. - qs.statement_start_offset)/2) + 1) N'执行语句'
    ,db_name(st.dbid) as dbname,st.objectid
  18. FROM sys.dm_exec_query_stats AS qs
  19. CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
  20. where SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
  21. ((CASE statement_end_offset
  22. WHEN -1 THEN DATALENGTH(st.text)
  23. ELSE qs.statement_end_offset END
  24. - qs.statement_start_offset)/2) + 1) not like '%fetch%'
  25. ORDER BY execution_count DESC;
  26.  
  27. 四.处理Identity列的一些方法:

DBCC CHECKIDENT (xxxxxx, NORESEED) 报告当前表的标识列

DBCC CHECKIDENT (xxxxxx, RESEED, 30) 强制将标识设置成30(如果有主键约束,后续插入可能会失败)。

在标识列插入数据(字段名称要写全)

set identity_insert xxxx on

insert into xxxx (id,a,b,c)

select id,a,b,c

from yyyyy

set identity_insert xxxx on

转自:http://www.cnblogs.com/luck001221/p/4494840.html

  1. #########################################################自己补充#########################################################

列出数据库主体的所有权限

SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;

授权语句:
GRANT SELECT ON 表名 (‘字段‘) TO 用户名
grant select on tb(id,name) to username

对库里哪个表哪些字段用哪些权限的查询:
USE CCIE
EXEC sp_helprotect @username='cisco'

某一时间段:
between '2012-03-01' and '2012-03-10 23:59:59.997'

create table T_UserLoginCount(
ID int not null identity(1,1) primary key,
LoginDate date null,
LoginCount int null,
CreateDate datetime null)

查看是否有死锁:
select * from sys.dm_tran_locks
where request_status='lock' 注:把lock换成wait 是查等待

select * from sys.sysprocesses 查看数据库连接数

排序:
order by 充值钱数 asc -- 表示从小到大排序 order by 充值钱数 desc -- 表示从大到小排序

查询数据库的创建时间:
select * from sys.databases
where name in ('数据库名')

查注册IP相同的账号:
with T as(
select CreateIP
from t_users
group by CreateIP having count(1)>1
)
select A.userid,A.UserName,A.NikeName,A.cardid,a.CreateIP,a.LastLoginIp,a.CreateTime
from t_users A
where exists(select 1 from T where A.CreateIP=T.CreateIP) order by CreateIP

某一时间段: between '2012-03-01' and '2012-03-10 23:59:59.997'

查看是否有死锁:select * from sys.dm_tran_locks

where request_status='lock'     注:把lock换成wait 是查等待

select * from sys.sysprocesses   查看数据库连接数

排序:  order by 充值钱数 asc  -- 表示从小到大排序

order by 充值钱数 desc -- 表示从大到小排序

查询数据库创建时间:select * from sys.databases

where name in ('数据库名')

排重:distinct

自增列定义:identity   主键定义:primary key

按小时求和

select DATEPART(HOUR,createtime) h,sum(input)/1024/1024 s_input,sum(output)/1024/1024 s_output

from dbo.traffic

where createtime between '2016-01-07 12:00:00' and '2016-01-07 23:59:59.997'

group by DATEPART(HOUR,createtime)

查询某一天的:

convert(varchar(10),CompetesTime,120)='2011-01-01'

求一个字段的时间段:

convert(varchar(10),ActualDealTime,120) between '2012-04-11' and '2012-04-19'

  1.  

SQL Server常用脚本的更多相关文章

  1. sql server 常用脚本(日常查询所需)

    1:查看sql server代理中作业的运行状况的脚本 -- descr : a simple sql script to view sql server jobs run status -- las ...

  2. [转]sql server 常用脚本(日常查询所需)

    1:查看sql server代理中作业的运行状况的脚本 -- descr : a simple sql script to view sql server jobs run status -- las ...

  3. 【原创】SQL Server常用脚本整理

    --1.禁用启用账号账号 set nocount on SELECT 'ALTER LOGIN ' + name + ' ENABLE' FROM master.sys.server_principa ...

  4. sql server 常用的系统存储过程

      系统存储过程 说明 sp_databases 列出服务上的所有数据库 sp_helpdb 报告有关指定数据库或所有数据库的信息 sp_renamedb 更改数据库的名称 sp_tables 返回当 ...

  5. sql server 用脚本管理作业

    转自:https://blog.csdn.net/yunye114105/article/details/6594826 摘要: 在SQL SERVER中用脚本管理作业,在绝大部分场景下,脚本都比UI ...

  6. ola.hallengren的SQL Server维护脚本

    ola.hallengren的SQL Server维护脚本 下载地址 http://files.cnblogs.com/files/lyhabc/ola.hallengrenMaintenanceSo ...

  7. 非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛

    非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛 Glenn Berry 大牛会对这个脚本持续更新 -- SQL Server 2012 Diagnost ...

  8. 非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry

    非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry Glenn Berry 曾承诺对这个脚本持续更新 -- SQL Server 2012 Diagnostic ...

  9. SQL SERVER常用语法记录

    用于记录SQL SERVER常用语法,以及内置函数. 以下语句包含: WITH 临时表语法 ROW_NUMBER()内置函数,我一般主要是用来分页.针对于查出来的所有数据做一个数字排序 分页的BETW ...

随机推荐

  1. 在MVC中如何愉快使用Ajax

    前言: 这个故事要从我老大与客户谈需求开始说起.前几天,遇见一个逗比客户,不知道是听了哪个逗比程序员的临终遗言...让我们给他做一个手机端的Web应用出来,还说要使用MVC来做(不是App).马币,客 ...

  2. 工厂方法模式(java 设计模式)

    1.工厂方法模式的定义 工厂方法模式使用的频率非常高, 在我们日常的开发中总能见到它的身影. 其定义为:Define an interface for creating an object,but l ...

  3. Android(通用机能)

    数据存储 本地数据存在都是私有化的. 共享方法1是构造数据源组件.方法2将数据放入扩展存储设备. Mashup 服务组件默认没有运行在独立进程或线程中,因此费时操作一般需要起线程.可配置指定新进程. ...

  4. Android --------- 压缩图片的尺寸和大小

    压缩图片大小,尺寸不变 将已知路径的图片压缩至不大于目标大小,并保存至指定路径 /** * 质量压缩,通过给定的路径来压缩图片并保存到指定路径 * * @param srcPath * 资源图片的路径 ...

  5. C#多线程实践——锁和线程安全

    锁实现互斥的访问,用于确保在同一时刻只有一个线程可以进入特殊的代码片段,考虑下面的类: class ThreadUnsafe { static int val1, val2; static void ...

  6. var foo= {} ;foo.method() 和 单例模式有什么区别

    var Foo={} Foo.method = function() { var i = 0; return { a:function(){ console.log('aa', i++); }, b: ...

  7. phpquery笔记

    下载phpquery包 require('phpQuery/phpQuery.php');//加载 for($i=1168;$i<=10000;$i++){ phpQuery::newDocum ...

  8. 数据挖掘-Python基本模块

    1.numpy:基础模块,高效处理数据.提供数组支持 2.pandas:数据探索和数据分析 3.matplotlib:数据成图模块,解决数据可视化 4.scipy:支持数值计算,支持矩阵运算,提供高等 ...

  9. 终于懂了:Delphi的函数名不是地址,取地址必须遵守Object Pascal的语法(Delphi和C的类比:指针、字符串、函数指针、内存分配等)good

    这点是与C语言不一样的地方,以前我一直都没有明白这一点,所以总是不明白:函数地址再取地址算怎么回事? ------------------------------------------------- ...

  10. Xmind 快捷键

    Xmind 快捷键 快捷键(Windows) 快捷键(Mac) 描述 Ctrl+N Command+N 建立新工作簿 Ctrl+O Command+O 开启工作簿 Ctrl+S Command+S 储 ...