Sql Server 常用操作2
FOR XML PATH应用
stuID学生编号,sName代表学生姓名,hobby列存学生的爱好!
SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby
FROM (
SELECT sName
,SELECT hobby+',' FROM student WHERE sName=A.sName FOR XML PATH('')) AS StuList
FROM student A
GROUP BY sName
) B
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SSMS 登录框内保存的登录信息如何清除
经常使用SQL Server Management Studio(后文简称SSMS)连接不同服务器以后,会在登录框内留下很多服务器的记录,很多可能只是偶尔连接或者服务器现在已经不可用了,总摆在那里有点碍眼,特别对于有强迫症的人。那么这些不用的服务器信息怎么清理呢?
如果使用的SSMS版本是2012或者2014,那么有福了,SSMS本身就提供了删除服务器信息的功能。
删除方法:以2012版SSMS为例
如上图,首先在下拉列表里选中要清除的服务器信息,假如要清除“测试实例3”这个服务器的信息,先点击“服务器名称”下拉框,之后用键盘上的上下键来选中“测试实例3”,切记键盘选中以后不要用鼠标点击服务器名称框!之后按键盘上的Del键,看到了吗?下来列表里已经没有“测试实例3”了。但是“服务器名称”里怎么还有?不用着急,用鼠标点击其它服务器名以后“测试实例3”就会彻底消失了。当然,要使设置永久保存下来,需要正常关闭SSMS。
2008 R2以及之前版本的SSMS不支持这种清除方法。
对于2008 R2版本SSMS来说,要想有选择性的清除,本身是做不到的,但是可以利用2012或者2014的SSMS来间接进行清除。
2008 R2、2012、2014版的SSMS保存服务器信息的配置文件格式是相同的,所以可以把2008 R2的配置文件放在2012或者2014的配置目录里,之后启动相应版本的SSMS来操作。有个问题,这么做是不是有点蛋疼?都有了更高版本的SSMS了为什么还用低版本的SSMS?这个嘛,因人而异,安装多个版本的SSMS有时候也是为了测试需要或者其它目的……
2008 R2版的配置文件位于%APPDATA%\Microsoft\Microsoft SQL Server\100\Tools\Shell 目录,可以复制这个地址到地址栏里直接访问,配置文件是SqlStudio.bin 。
2012版的配置文件是%APPDATA%\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin ,
2014版的配置文件是%APPDATA%\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin 。
2008版的清除方法与2008 R2理论上应该一样,由于没有测试环境,所以就不进行验证了。
如果现在还在使用2005版的SSMS,那么没有选择性清除的方法。但是可以做得绝一些——把SSMS的设置完全清除。当然,如果登录框中有很多重要的信息需要保存,为了不让这些信息丢失,可以先将有用的信息以“已注册的服务器”的形式保存下来。如何添加“已注册的服务器”就不说了,知道怎么用的自然知道怎么添加。
好了,有用的信息保存下来以后。可以开始干了。2005版SSMS的配置文件位于%APPDATA%\Microsoft\Microsoft SQL Server\90\Tools\Shell目录,文件名是mru.dat。
直接把mru.dat删除,之后启动SSMS,这时候SSMS是刚安装以后的初始状态,登录框中也就不包含任何保存的信息了。当然,这种做法针对2008及以后版本也同样适用,只要删除相应配置文件就可以了。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
释放数据库占用的服务器内存
USE master
GO
CREATE proc [dbo].reclaimmemory
as
Begin
DBCC FREEPROCCACHE
--删除计划缓存中的所有元素(计划缓存作用:完全相同语句第二次的执时免编译;命中率不高会造成内存浪费.
DBCC FREESESSIONCACHE
--刷新针对实例执行的分布式查询所使用的分布式查询连接缓存。(分布式查询连接缓存作用:提高IO的性能 )
--此操作会在短时间(5-10分钟)内造成IO,IO等待,和带宽使用量的大幅度升高
DBCC FREESYSTEMCACHE('All')
--释放所有当前未使用的缓存(包含数据缓存)(慎重选择)
--基本相当于重启SQL SERVERE服务
DBCC DROPCLEANBUFFERS
--释放所有缓存(慎重选择)
--基本相当于重启SQL SERVERE服务
--以上四个操作可以根据需要选择其中的一个或多个,这四个操虽然释放了缓存,但SQL SERVER并没有释放占用的内存。
EXEC sp_configure 'show advanced options', 1; --打开高级设置选项
EXEC ('RECONFIGURE' )
exec sp_configure 'max server memory', 10240;
--设置最大内存值(MB) (不要设置的太小)
--此操作是为释放SQL SERVER占用的内存
EXEC ('RECONFIGURE' )
WAITFOR DELAY '00:00:03' --等待3秒
EXEC sp_configure 'max server memory', 2147483647; --将最大内存值还原为原来的数值
EXEC ('RECONFIGURE' )
EXEC sp_configure 'show advanced options', 0; --关闭高级设置选项
EXEC ('RECONFIGURE' )
end
-- EXEC reclaimmemory --执行存储过程
建议此方法在服务器内存长时间超过95%时使用,并且在使用时根据实际情况选择需要释放的缓存项,其他情况不建议使用。
Sql Server 常用操作2的更多相关文章
- Sql Server 常用操作
--DDL触发器CREATE TRIGGER [TR_create_drop_alter_Table] ON DATABASE FOR CREATE_TABLE,DROP_table,ALTER_ ...
- 【sql server常用操作{增删改查}】
use DB_x go drop database DB_y create database DB_y --创建数据库 on primary --指定主数据文件 ( name= ...
- SQL Server 常用操作XML
--修改FunctionNo节点值,@OperateFunctionNo为参数 set @DataXml.modify('replace value of (/CrudData/FunctionNo/ ...
- sql server 常用的系统存储过程
系统存储过程 说明 sp_databases 列出服务上的所有数据库 sp_helpdb 报告有关指定数据库或所有数据库的信息 sp_renamedb 更改数据库的名称 sp_tables 返回当 ...
- SQL SERVER常用语法记录
用于记录SQL SERVER常用语法,以及内置函数. 以下语句包含: WITH 临时表语法 ROW_NUMBER()内置函数,我一般主要是用来分页.针对于查出来的所有数据做一个数字排序 分页的BETW ...
- 【转】sql server数据库操作大全——常用语句/技巧集锦/经典语句
本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ sql 宝 典 ☆ ☆ ☆ 2012年-8月 修订版 ☆ ...
- SQL server 常用语句
SQL Server中常用的SQL语句 1.概述 2.查询概述 3.单表查询 4.连接查询 5.带有exists的相关子查询 6.SQL的集合操作 7.插入操作 8.删除操作 9.修改操作 10. ...
- sql server 常用的函数小汇
摘录些许sqlserver 常用到的一些函数,便于日常学习使用 一.字符转换函数1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但 ...
- sql Server 常用存储过程的优化
优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会返回相应的影响行数.使用SET NOCOUNT ON ...
随机推荐
- sniffer底层网络配置记录
公司需要一款可以检查网络的软件,之后任务分配到我们组 经过讨论最终方案是以wireshark为版本,进行二次开发,主要目的在于简化上层操作复杂性(软件使用人群为非专业性的) 软件分为三部分,其一底层网 ...
- php后台权限管理
今天新到一家公司,重新维护升级了之前的权限管理. 权限管理思路:1.三张表(公司项目比较复杂,所以数据表远比这个复杂,这里只实现权限管理,简化一下)action表------权限大菜单:这个表没有实际 ...
- List<Object>转换为JSONArray二
package com.beijxing.TestMain; import java.util.ArrayList; import java.util.Collection; import java. ...
- mac下webpagetest搭建
我的server和agent都是在mac上搭建的,所以会和linux下有些不同 一.安装配置Apache和PHP webpagetest需要使用PHP和Apache启动服务.mac默认安装了Apa ...
- 更改XAMPP中MySQL数据库的端口号
更改XAMPP中MySQL数据库的端口号 如果电脑上已安装MySql数据库,还想用XAMPP中自带的数据库就需要更改XAMPP中数据库的端口号,避免和已安装的数据库冲突.本例以更改为3307端口号为例 ...
- String类的构造方法详解
package StringDemo; //String类的构造方法详解 //方法一:String(); //方法二:String(byte[] bytes) //方法三:String (byte[] ...
- java 中如何声明线程安全的集合 set, map 和list
线程安全的集合 http://blog.sina.com.cn/s/blog_508938e10102v1ig.html //make thread-safe list List MyStrList ...
- python random
import randoma = random.randrange(0,5)print(a)本来很正常的一段代码,用pycharm就报错,控制台就可以运行,原来random 和自带的random 同名 ...
- Android Studio插件整理
摘录于习惯沉默的Blog https://ydmmocoo.github.io/2016/06/28/Android-Studio%E6%8F%92%E4%BB%B6%E6%95%B4%E7%90% ...
- setValuesForKeysWithDictionary 的用法
字典的快速赋值 setValuesForKeysWithDictionary 字数918 阅读6604 评论6 喜欢32 前言 在学习解析数据的时候,我们经常是这么写的:PersonModel.h文件 ...