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

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

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

21.sql运行Log的读取

.EXEC xp_readerrorlog 0,1,null,'开始时间','结束时间' 

22. Alwayson 状况及传输情况监控

SELECT  ar.replica_server_name AS [副本名称],ar.availability_mode_desc as 同步模式DB_name(dbr.database_ID) 数据库名称数据库状态同步状态同步健康状态ISNulL(CASE dbr.redo_rate                 WHEN 0 THEN -1                 ELSE CAST(dbr.redo_queue_size AS float) / dbr.redo_rate               END,1) Redo延迟(秒) dbr.log_send_rate                 CAST(dbr.log_send_queue_size float)                       dbr.log_send_rate               Log传送延迟(秒)Redo等待队列(KB)Redo速率(KB/S)Log传送等待队列(KB)Log传送速率(KB\S)case when dbr.log_send_rate = then 1 else dbr.log_send_queue_size/dbr.log_send_rate end LOG队列预估传输时间(秒)]FROM    master].sys.availability_replicas AS AR        INNER JOIN ].sys.dm_hadr_database_replica_states  dbr         ON ar.replica_ID = dbr.replica_IDWHERE   dbr.redo_queue_size IS NOT NulL

23. (1)列出高级配置选项

Step 1, 先将 show advanced option 设为 1

USE master;  GO  EXEC sp_configure 'show advanced option',1'; 

Step 2, 运行 RECONfigURE 并显示全部配置选项:

RECONfigURE;  EXEC sp_configure;  

(2)更改指定配置选项,例如xp_cmdshell,则代码如下:

-- To enable the feature.xp_cmdshell1GO To update the currently configured value for this feature.RECONfigUREGO

24. 数据库常用的备份命令如下:

--完整备份Declare @Fullfilename Varchar(200)@fileFlag varchar(20Set @fileFlag=REPLACE(CONVERT(VARCHAR(10),1)">GETDATE(),1); Font-weight: bold">120),1)">-'')+ 8),1)">:''@Fullfilename文档路径\数据库名字_FulL'++.bak'BackUp DataBase 数据库名字 To diskwith init--差异备份@Difffilename @Difffilename文档路径\数据库名字_Diff_ init,differential --事务日志备份@filename @filename文档路径\数据库名字_Trn_.trnBackUp Log 数据库名字 with init

【如果文档路径是远程Server,建议在with init 选项 后面,添加COMPRESSION,即为 with init,COMPRESSION,实现压缩式备份。经过测试可以缩短一半左右】

 

25.数据库备份文件属性的查看

RESTORE fileListONLY  from diskD:\BACKUP\XXXXX.BAK'  查看逻辑文件restore headeronly 查看属性     

26 数据库还原命令如下:

--完整备份还原RESTORE DATABASE 数据库名字 FROM disK = 完整备份的文件'-'TTTTTTT.BAK' WITH norECOVERY,MOVE 数据库名字_Data' TO D:\指定路径\数据库名字_Data.mdf数据库名字_LogD:\指定路径\数据库名字_Log.ldf'--差异备份还原差异备份的文件----'SSSSSSSSS.BAK' --log备份还原RESTORE Log 数据库名字 FROM 事务日志备份的文件---'XXXXXXXX.trn'WITH norECOVERY

27 通过 sp_send_dbmail  配置发送邮件,参数 @profile_name的获取,可通过以下sql实现。

select name FROM msdb.dbo.sysmail_profile

28.捕捉数据库请求的连接关闭记录,包括每一个对话异常中断或者登入失败的事件。(最多能记录1000行数据)

  select cast( record as xml),1)">*  from sys.dm_os_ring_buffers  where ring_buffer_typeRING_BUFFER_CONNECTIVITY'

 29.将数据库状态由 “正在还原” 更新为正常状态(可访问)

WITH RECOVERY

30.关于sql JOB 管理的一些内置SP(存储过程)

sp_add_jobsp_add_jobschedule sp_add_jobserver sp_add_jobstep sp_delete_job sp_delete_jobschedule sp_delete_jobserver sp_delete_jobstepsp_delete_jobsteplog sp_update_job sp_update_jobschedule sp_update_jobstep 

 

31.赠送一条,关于值为null的运算统计,感受下,嘻嘻....

 32.如何调整SSMS工具字体的大小和颜色?

     打开SSMS,选择"工具"按钮,然后选择“选项”-->“环境”>"字体和颜色",在对应的界面中进行个性化设置。

33.查询当前数据库的兼容级别

SELECT  name as 当前数据库,cmptlevel as 兼容级别  From Master..SysDataBases Where DbID=(Select DbID From Master..SysProcesses Where SpID = @@spID) 

 34.sql Server 只安装客户端,在安装过程中怎么进行功能选择。

    在安装的时候只要选择安装管理工具就可以了,具体安装过程如下图所示:

前面的步骤都一样,而安装到功能选择时进行设置。

 

35.sql server 账号权限处更新与更改的区别

简单来说就是update与alter的区别

假设存在表MatchInfo,则各自权限体现如下:

update MatchInfo SET MatchNO=111 --更新权限

alter table MatchInfo add IDd int  --更改权限

实际就是DDL、DML的区别。

36. 有时候我们需要把多行数据,合并成一行显示,并用逗号或者其他方式分隔显示,这时候我们可以使用FOR XML PATH

SELECT AlarmAddr+';' FROM Alarm_Group WHERE AlarmType='Mail' FOR XML PATH('')

 将DBA_Alarm_Group表中AlarmAddr字段,合成一行,分割符为“;”。 

 

37.链接服务器(linkServer)知识小结

    (1) 查询本sql Server 已创建的所有实例  

select srvname 链接服务器'   from master.dbo.sysservers where srvname <> SERVERPROPERTY(servername')

    (2)删除已建立的链接服务器(linkServer)

EXEC master.dbo.sp_dropserver @server=N172.XXX.XXX.XXX@droploginsdroplogins'

    (3)创建链接服务器(linkServer),这个属性比较多,代码也比较多,我们后面单独讲解。

38.数据库Log 文件 Size 过大,如何收缩?

(1)可以尝试数据库完整备份;(2)可以尝试进行log备份;(3)还可以 尝试执行收缩命令;(4)以上 *** 作都不可以,还可以在 数据库属性界面中,将【恢复模式】由 完整模式 调整为 简单模式。注意这种 *** 作 会影响 既有的辅助副本。

39.excel 文件某一列 批量加上单引号

有时我们会接受到根据excel所提供的某一列数据进行查询的需求,很多时候不会有单引号的,数据量大的话就应该批量了。

*** 作步骤如下:

【选中需要 *** 作的列】-->【鼠标右键】-->[设置单元格格式]-->[自定义]-->[类型选择 @ *** 作]

在@前后加上单引号,截图如下

 40 .BCP 导入导出

主要语法

bcp {[database_name.][schema].]{table_name | vIEw_name} | "query"}    {in | out | queryout  format} data_file    -mmax_errors] -fformat_file-x-eerr_file]    -Ffirst_row-Llast_row-bbatch_size-ddatabase_name-n-c-N-w-V (70 | 80 | 90 )]     -q-C { ACP | OEM | RAW | code_page } -tfIEld_term-rrow_term-iinput_file-ooutput_file-apacket_size-S [server_name[\instance_name]]] -ulogin_ID-Ppassword-T-v-R-k-E-h"hint [,...n]"]

将BI Hive库中的数据导出成csv的文件,然后再导入到sql Server数据库中,通过BCP命令时,遇到了一些错误。
例如:

Error MicrosoftODBC Driver 13 for sql Server]Unexpected EOF encountered in BCP data-file

原因是:linux 和windows 系统的默认换行符是不一样的,hive数据库是安装在linux系统上的,通过notepad++ 查看导出的CSV文件其换行符为 LF。而sql Server安装在windows系统 上。
解决方案是 添加参数及值;-r"LF"。
其他的要点:如果第一行是列名,从第二行开始,需增加参数及值:-F2;如果字段分割符是‘,’(逗号),需增加参数及值 -t","。

 41 修改数据库名字

Step 1 关闭此数据库的用户连接,如果有用户连接到数据库的话会造成数据库重命名失败。生成 Kill 连接的命令:

kill  ' +  cast (spID  as 10)) master.dbo.sysprocesseswhere dbIDdb_ID(oldDbname') 替换数据库名字

Step 2 执行生成的命令,Kill 用户连接

Step 3 修改数据库名字,建议在master数据库中执行

EXEC sp_dboption Single UserTRUEEXEC sp_renamedb NewDbnameFALSE'

Step 4 检查重命名效果

总结

以上是内存溢出为你收集整理的SQL Server 数据库部分常用语句小结(三)全部内容,希望文章能够帮你解决SQL Server 数据库部分常用语句小结(三)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1153108.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存