Time of Update: 2018-12-05
在現在互連網應用程式開發過程中,常常會發現查詢或者操作資料速度慢。其原因很多,常見如下幾種: 1、沒有索引或者沒有用到索引(這是資料庫設計的缺陷) 2、I/O輸送量小,形成了瓶頸效應。 3、記憶體不足 4、網路速度慢 5、查詢出的資料量過大(可以採用多次查詢) 6、鎖或者死結(這也是程式設計的缺陷) 7、返回了不必要的行和列 8、查詢語句不好,沒有最佳化
Time of Update: 2018-12-05
SQL Server提供兩種資料類型來儲存字元資訊。在如何在SQL Server或應用程式中使用方面,這兩種資料類型大致是一樣的。差別在於nvarchar是用於儲存處理資料庫圖表中多語言資料的Unicode資料。其它語言有一套需要儲存的字元代碼的擴充集,這種資料類型支援這樣的擴充。因為需要儲存其它語言的擴充字元代碼,nvarchar佔用的空間是varchar的兩倍。
Time of Update: 2018-12-05
表名首碼t欄位名首碼f視圖名首碼v變數命名用Camel命名規範預存程序USP_ 預存程序用Pascal命名規範,多人開發時候,在前面加模組單詞首碼,例如:USP_AbleForumDeleteArticle。自訂函數前面加Function首碼保留字全部大寫避免縮寫保留字,應寫全稱。注釋:預存程序注釋例子如下:在程式中間為了提高可讀性也必須注釋。#規範
Time of Update: 2018-12-05
--字串功能 --substring print substring('iamagoodperson',1,5) select substring('iamagoodperson',1,5) --upper select upper('he is a good person') --lower select LOWER('this is an VERY interesting job') --ltrim select ltrim(' i am a good person')
Time of Update: 2018-12-05
文法 SET XACT_ABORT { ON | OFF } 當 SET XACT_ABORT 為 ON 時,如果 Transact-SQL 陳述式產生執行階段錯誤,整個事務將終止並復原。為 OFF 時,只復原產生錯誤的 Transact-SQL 陳述式,而事務將繼續進行處理。編譯錯誤(如語法錯誤)不受 SET XACT_ABORT 的影響。 對於大多數 OLE DB 提供者(包括 SQL Server),隱性或明確交易中的資料修改語句必須將 XACT_ABORT 設定為
Time of Update: 2018-12-05
問題陳述:資料庫伺服器:Microsoft SQL Server 2000以及7.0;資料庫伺服器補丁:Microsoft SQL Server 2000 ServicePack1;ADO名稱:Microsoft Data Access - ActiveX Data Objects 2.5 Type LibraryADO版本:2.61.7326.0 執行下面的VB代碼時,我們的開發人員產生了疑問: cnn.Open "Provider=SQLOLEDB.1;Persist Security
Time of Update: 2018-12-05
--兩台伺服器間串連查詢:--建立串連:sp_addlinkedserver hssp_addlinkedserver hs1EXEC sp_addlinkedsrvlogin 'hs', 'false', 'sa', 'sa', '1234'EXEC sp_addlinkedsrvlogin 'hs1', 'false', 'sa', 'sa', '1234'--hs 和hs1是兩台機器名--1234是密碼--sa當然是使用者了--比如查詢和hs5\hs6的stock
Time of Update: 2018-12-05
Microsoft提供了三種調優查詢的主要的方法: 使用SET STATISTICS IO 檢查查詢所產生的讀和寫; 使用SET STATISTICS TIME檢查查詢的已耗用時間; 使用SET SHOWPLAN 分析查詢的查詢計劃 。 SET STATISTICS IO 命令SET STATISTICS IO ON 強制SQL Server 報告執行事務時I/O的實際活動。他不能和SET NOEXEC ON
Time of Update: 2018-12-05
1、發布與訂閱 用強制訂閱實現資料庫同步操作 大量和批量的資料可以用資料庫的同步機制處理: // 說明: 發行伺服器(分發)操作,訂閱伺服器(訂閱)操作 在客戶機器使用強制訂閱者式。 測試通過 // --1:環境 伺服器環境( 發布): 機器名稱: devserver 作業系統:Windows 2003 Server 資料庫版本:SQL 2005 Server
Time of Update: 2018-12-05
SQL Server的常見效能問題,可大體從三個方面入手考慮,作業系統和資料庫的配置,表/索引/儲存的設定,SQL語句等。對於已交付的系統,往往由於實際情況的限制,SQL語句的最佳化比較困難。本文總結了SQL Server效能最佳化的實用方法。與作業系統相關的最佳化 作業系統效能的好壞直接影響資料庫的使用效能,如果作業系統存在問題,如cpu過載、過度記憶體交換、磁碟i/o瓶頸等,在這種情況下,單純進行資料庫內部效能調整是不會改善系統效能的。我們可以通過windows
Time of Update: 2018-12-05
步驟1 最佳化應用工作量 最佳化應用效能的第一步是最佳化工作量。在該部分調優方法論中列出的最佳化步驟能夠解決很多常見的效能和可延展性問題。這些最佳化可以協助降低由於特殊的設計或低效的實施導致的效能瓶頸影響,並且可以保證系統資源能夠充分和有效利用。例如,解決低效率的查詢計劃或低效率的緩衝等問題將會更加有效率地發揮SQL伺服器緩衝機制,從而整體上降低I/O操作。 ■ 編譯/重新編譯- 資料庫,CPU 確定是否存在顯著的CPU競爭,如果存在,請關注重新編譯次數多的那些T-
Time of Update: 2018-12-05
CREATE PROCEDURE [dbo].[過程名] ASdeclare @filename nvarchar(100),--檔案名稱 @NowDay int --設定時間 set @filename='F:\JXXdata'+cast(Day(GetDate()) as varchar(2))+'.dat' --檔案路徑及檔案名稱 Set @NowDay=Day(GetDate()) if (@NowDay>=20) or (@NowDay<=10) --這個月的20
Time of Update: 2018-12-05
目前在做一個項目最佳化時,想通過資料庫層分析sql server系統效能,查了一下網上代碼,修改了一下標題和DMVs代碼,以下代碼可以用來分析系統運行一段時間後,那些語句是系統忙的sql語句。做為參考。 另類使用: 一次在分析一個對賬功能時,查看系統代碼,看了半天,寫得太不規範,又不寫注釋,看不明白。最後用了下面一個小技巧,和大家一起分享: 就是在測量功能時,先以下命令清除sql server的緩衝: dbcc freeProcCache 在點擊某個按鈕,執行完後,在執行下面語句,
Time of Update: 2018-12-05
該示範引導客戶將本地的MS SQL Server資料匯入到遠程伺服器上,供客戶的網站使用。首先登入到遠端資料庫伺服器:1.右擊您準備匯入資料的資料庫,選擇“所有任務”下的“匯入資料”2.進入DTS匯入/匯出嚮導,點擊“下一步”按鈕繼續3.選擇資料來源,輸入資料來源所在的資料庫伺服器名稱、使用者名稱、密碼和要複製資料的來源資料庫,點擊“下一步”按鈕 4.選擇目的,輸入目的資料庫所在的資料庫伺服器名稱、使用者名稱、密碼和要複製資料的目的資料庫,點擊“下一步”按鈕5.選擇“在SQL Server資料庫
Time of Update: 2018-12-05
解決方案:利用System.DBNull.Value,先給dSendDate一個預設的日期,再添加的時候做判斷.//假設dSendDate是你存入資料庫的日期內容,做如下判斷 if(dSendDate.ToShortDateString() != "1900-1-1") { //parm1.Value=starttime; paras[16] =PMMSWeb.DataAccessor.CommonFun.SqlHelper.NewParameter("
Time of Update: 2018-12-05
SQLServer資料庫同步准即時解決方案1. 需求 1)如何將線上運營的SQLServer資料庫資料及時同步到另外一個SQLServer資料庫。 2)資料倉儲系統的資料幫浦會對源系統造成巨大壓力,嚴重影響效能和響應速度。如何將生產資料快速抽取到曆史資料倉儲,改善業務系統的效能。 3)分散式資料庫,如何將分部的資料庫資料複製到總部資料庫,以利於總部匯總統計。這些業務應用中常見的SQLServer資料庫同步需求,都需專業的複製系統來完成。2.
Time of Update: 2018-12-05
EXISTS結構 EXISTS結構是一個TSQL函數,這個函數會就圓括弧中的子查詢返回一個布爾變數。如果子查詢返回了任意行的話,這個結構就返回真;否則,它就返回假。這個結構特別適用於查詢表中是否存在某些記錄。它也非常適合來決定是否在表中運行更新或者插入語句(在這篇文章中,隨後我將向大家介紹)。 Listing A中建立了一個表並插入了一些資料,這樣你就可以利用這張表來看看EXISTS結構是如何工作的了。Listing
Time of Update: 2018-12-05
--建立備份裝置USE [master]GOEXEC master.dbo.sp_addumpdevice @devtype = N'disk', @logicalname = N'beifen', @physicalname = N'D:\beifen.bak'GO--完整備份到備份裝置中BACKUP DATABASE [student] TO [beifen] WITH NOFORMAT, NOINIT, NAME = N'student-完整 資料庫 備份', SKIP,
Time of Update: 2018-12-05
在寫按時間段查詢的sql語句的時候 一般我們會這麼寫查詢條件: where date>='2010-01-01' and date<='2010-10-1'。但是在實執行Sql時些語句會轉換成這樣: where date>='2010-01-01 0:00:00' and date<='2010-10-1:0:00:00',再看這個條件的話,也許就會有些明白,那就是'2010-10-1 0:00:00'
Time of Update: 2018-12-05
問題:telnet 127.0.0.1 1433 提示:不能開啟到主機的串連,在連接埠1433:串連失敗 解決方案:登入遠程SQL伺服器一 看ping 伺服器IP能否ping通。 這個實際上是看和遠程sql server 2000伺服器的物理串連是否存在。如果不行,請檢查網路,查看配置,當然得確保遠程sql server 2000伺服器的IP拼字正確。 二 在Dos或命令列下輸入telnet 伺服器IP 連接埠,看能否連通。 如telnet 202.114.100.100