sqlserver技巧
有时候可能需要检测下某台机器的服务是不是起来了,或者某台机器的某个库是不是能被连接又不能打开ssms也不想登陆服务器的话就可以用这个方法。
1.在桌面上右键创建个文本,然后改后缀名为udl以后保存(1.udl),至于udl是什么各位可以网络下这里就不细说了。
2.打开这个文件以后输入服务器的ip(因为我是本机所以用了实例名)和用户名密码就可以测试连接了,是不是很方便。
2. SQLserver 大批量更新插入的时候游标怎么优化
尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该考虑改写。
使用基于游标的方法之前,应先寻找基于集的解决方案来解决问题,基于集的方法通常更有效。
最好的改进光标性能的技术就是:能避免时就避免使用游标
若有时无法避免使用游标,则可以用如下技巧来优化游标的性能。
(1). 除非必要否则不要使用static/insensitive游标。打开static游标会造成所有的行都被拷贝到临时表。这正是为什么它对变化不敏感的原因——它实际上是指向临时数据库表中的一个备份。很自然,结果集越大,声明其上的static游标就会引起越多的临时数据库的资源争夺问题。
(2). 除非必要否则不要使用keyset游标。和static游标一样,打开keyset游标会创建临时表。虽然这个表只包括基本表的一个关键字列(除非不存在唯一关键字),但是当处理大结果集时还是会相当大的。
(3). 当处理单向的只读结果集时,使用fast_forward代替forward_only。使用fast_forward定义一个forward_only,则read_only游标具有一定的内部性能优化。
(4). 使用read_only关键字定义只读游标。这样可以防止意外的修改,并且让服务器了解游标移动时不会修改行。
(5). 小心事务处理中通过游标进行的大量行修改。根据事务隔离级别,这些行在事务完成或回滚前会保持锁定,这可能造成服务器上的资源争夺。
(6). 小心动态光标的修改,尤其是建在非唯一聚集索引键的表上的游标,因为他们会造成“Halloween”问题——对同一行或同一行的重复的错误的修改。因为SQL Server在内部会把某行的关键字修改成一个已经存在的值,并强迫服务器追加下标,使它以后可以再结果集中移动。当从结果集的剩余项中存取时,又会遇到那一行,然后程序会重复,结果造成死循环。
(7). 对于大结果集要考虑使用异步游标,尽可能地把控制权交给调用者。当返回相当大的结果集到可移动的表格时,异步游标特别有用,因为它们允许应用程序几乎马上就可以显示行
3. sql的查询分析器跟踪技巧,找的眼睛都大了,有什么技巧吗
http://www.west263.com/www/info/61144-1.htm仅供参考
另外:
你在运行的时候,不能通过的就会显示红色,你移动鼠标上去就可以查看到错误的信息,
在执行过程中,可能有些表存在但任然有错,那么就重启服务,如图
4. 如何优化Sql server 大数据量时使用 like 查询的速度或有什么别的方法实现模糊查询
傻逼啊,谁看了这个文章就是误人子弟 方案1:主键Id,默认为聚集索引,不建立其它非聚集索引select * from News where Title like '%"&abigale&"%' or Author like '%"&abigale&"%' order by Id desc从字段Title和Author中模糊检索,按Id排序查询时间:50秒方案2:主键Id,默认为聚集索引在Title、Author、Star上建立非聚集索引select * from News where Title like '"&abigale&"%' or Author like '"&abigale&"%' order by Id desc从字段Title和Author中模糊检索,按Id排序查询时间:2 - 2.5秒 看到没有,那个50秒用的是 '%"&abigale&"%'来的,两个百分号会引发全表扫描而那个快的是 '"&abigale&"%' ,这样就使用索引 不用索引和用索引完全两个概念,尼玛还在说优化,优化你妹
5. sqlserver怎么和orcle建立连接服务器
EXEC sp_addlinkedserver
@server='Province', --被访问的服务器别名
@srvproct='ORACLE', --SqlServer默认不需要写
@provider='MSDAORA', --不同的库都是不一样的,OLE DB字符
@datasrc='192.168.88.88/ORCL'--要访问的服务器
GO
EXEC sp_addlinkedsrvlogin
@rmtsrvname='Province', --被访问的服务器别名
@useself='false', --固定这么写
@locallogin='sa', --本地操作应户名
@rmtuser='kobe', --被访问的服务器用户名
@rmtpassword='kobe123'--被访问的服务器用密码
GO
--参数解释:
sp_addlinkedserver:创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。
sp_addlinkedsrvlogin:创建或更新本地 Microsoft® SQL Server™ 实例上的登录与链接服务器上远程登录之间的映射。
现在测试一下,用帐号sa本地登录SqlServer,新建一个查询,输入
SELECT * FROM OPENQUERY(Province, 'select * from t_base_school')
比如:
SELECT organization_id,organization_name FROM OPENQUERY(Province, 'select * from t_base_organizationtree')
没问题的话,就能查询到数据了。
一些常用操作:
--查询操作
SELECT * FROM OPENQUERY(Province, 'select * from t_base_ty')
--删除操作
DELETE FROM OPENQUERY(Province, 'select * from t_base_ty')
--插入操作
INSERT INTO OPENQUERY (province,'SELECT * FROM t_base_role') (role_id,role_name,bureautype_id,is_system,b_use,field_order,b_del,identity_id) VALUES (10,'科比',7,1,0,1,0,2)
--更新操作
UPDATE OPENQUERY (province,'SELECT * FROM t_base_role') SET role_name='科比' WHERE role_id=10
注:技巧(OPENQUERY(Province, 'select * from t_base_ty') 看做是一张表)
6. 检测SqlServer数据库是否能连接的小技巧
检测SqlServer数据库是否能连接的小技巧
连接数据库,try catch 判断,
抛出异常就连接不上了,再判断连接的状态。
7. 如何做SqlServer 数据查询优化!
一、建立索引
二、建立存储过程
三、只查询您所需要的数据,不要把所有数据都查询出来,防止数据冗余。
四、对于大量及海量数据一般还要建立分区
8. 检测SqlServer数据库是否能连接的小技巧
有时候可能需要检测下某台机器的服务是不是起来了,或者某台机器的某个库是不是能被连接又不能打开ssms也不想登陆服务器的话就可以用这个方法。
1.在桌面上右键创建个文本,然后改后缀名为udl以后保存(1.udl),至于udl是什么各位可以网络下这里就不细说了。
2.打开这个文件以后输入服务器的ip(因为我是本机所以用了实例名)和用户名密码就可以测试连接了,是不是很方便。