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(因為我是本機所以用了實例名)和用戶名密碼就可以測試連接了,是不是很方便。