用openrowset連接遠程SQL或插入數據--如果只是臨時訪問,可以直接用openrowset--查詢示例select*fromopenrowset('SQLOLEDB','sql服務器名';'用戶名';'密碼',數據庫名.dbo.表名)--導入示例select*into表fromopenrowset('SQLOLEDB','sql服務器名';'用戶名';'密碼',數據庫名.dbo.表名)--創建鏈接服務器execsp_addlinkedserver'
系統 2019-08-12 01:55:16 2195
SQLSERVER提供了通過EXCHANGE或OUTLOOK收發郵件的擴展存儲過程,下面將這幾個過程簡單的介紹一下。一、啟動SQLMailxp_startmail@user,@password@user和@password都是可選的也可打開EnterpriseManager中的SupportServices,在SQLMail上單擊右鍵打開右鍵菜單,然后按Start來啟動二、停止SQLMailxp_stopmail也可用上述方法中的菜單里的Stop來停止三、
系統 2019-08-12 01:53:28 2195
首先,我們通過數據庫中表的兩條記錄來引出問題,如下圖以上為一個記錄操作記錄的表數據。OrderID為自增長列,后面依次為操作類型,操作時間,操作人。現在的問題是:要求篩選出數據庫中從“接收”到“送出”的時間差超過2天的全部記錄。即如上圖兩筆單據中,紅色框既是要篩選出的,綠色框為正常過濾的。為了定位相鄰記錄,方法為給查詢語句的返回記錄加個自動編號列放入臨時表中,再對臨時表進行操作。ViewCode--1.首先查出表中符合條件的所有信息selectIDENTI
系統 2019-08-12 01:33:04 2193
原文:SQLServer隱式轉換引發的躺槍死鎖-程序員需知在SQLServer的應用開發過程(尤其是二次開發)中可能由于開發人員對表的結構不夠了解,造成開發過程中使用了不合理的方式造成數據庫引擎未按預定執行,以致影響業務.這是非常值得注意的.這次為大家介紹由于隱式數據類型轉換而造成的死鎖及相應解決方案.現實中有些程序員/數據庫開發者會根據數據庫的處理機制實現一些應用,如搶座應用,可能會對事務中的查詢加一些列的Hint以細化粒度,實現應用的同時使得影響最低,
系統 2019-08-12 01:54:32 2192
SqlServer性能優化之包含列導讀:數據數優化查詢一直是個比較熱門的話題,小生在這方面也只能算是個入門生。今天我們就講下數據庫包含列這個一項的作用及帶來的優化效果引用下MSDN里面的一段解釋:當查詢中的所有列都作為鍵列或非鍵列包含在索引中時,帶有包含性非鍵列的索引可以顯著提高查詢性能。這樣可以實現性能提升,因為查詢優化器可以在索引中找到所有列值;不訪問表或聚集索引數據,從而減少磁盤I/O操作上面這一段什么意思呢?意思就是說設置好包含列,能提高查詢性能,
系統 2019-08-12 01:33:01 2192
原文:關于SQLSERVER高并發解決方案現在大家都比較關心的問題就是在多用戶高并發的情況下,如何開發系統,這對我們程序員來說,確實是值得研究,最近找工作面試時也經常被問到,其實我早有去關心和了解這類問題,但一直沒有總結一下,導致面試時無法很完整全面的回答,所以今天我專門總結概況了一下關于SQLSERVER高并發解決方案,希望能幫助大家,若有不對之外,還請及時告之,謝謝!SQLSERVER高并發解決方案主要是從以下幾個方面:1.SQL語句優化:A.盡可能的
系統 2019-08-12 01:33:01 2191
原文:SQLServer2008技術內幕——T-SQL查詢筆記1、SQL編程有許多獨特之處,如:面向集合的思維方式、查詢元素的邏輯處理順序、三值邏輯。如果不掌握這些知識就開始用SQL編程,得到的將是冗余的、性能低下的代碼,而且難以維護。2、在SQLServer中負責生成實際工作計劃(執行計劃)的組件是:查詢優化器(queryoptimizer)。只有在確保結果集正確的前提下,優化器才會走捷徑。明確區分查詢的邏輯處理和物理處理是非常重要的。3、邏輯查詢的各個
系統 2019-08-12 01:54:50 2190
PIVOT,UNPIVOT運算符是SQLserver2005支持的新功能之一,主要用來實現行到列的轉換。本文主要介紹PIVOT運算符的操作,以及如何實現動態PIVOT的行列轉換。關于UNPIVOT及SQLserver2000下的行列轉換請參照本人的其它文章。一、PIVOT的語法SELECT[non-pivotedcolumn],--optional[additionalnon-pivotedcolumns],--optional[firstpivotedc
系統 2019-08-12 01:53:50 2190
通常,你需要獲得當前日期和計算一些其他的日期,例如,你的程序可能需要判斷一個月的第一天或者最后一天。你們大部分人大概都知道怎樣把日期進行分割(年、月、日等),然后僅僅用分割出來的年、月、日等放在幾個函數中計算出自己所需要的日期!在這篇文章里,我將告訴你如何使用DATEADD和DATEDIFF函數來計算出在你的程序中可能你要用到的一些不同日期。在使用本文中的例子之前,你必須注意以下的問題。大部分可能不是所有例子在不同的機器上執行的結果可能不一樣,這完全由哪一
系統 2019-08-12 01:51:27 2188
一、深入淺出理解索引結構實際上,您可以把索引理解為一種特殊的目錄。微軟的SQLSERVER提供了兩種索引:聚集索引(clusteredindex,也稱聚類索引、簇集索引)和非聚集索引(nonclusteredindex,也稱非聚類索引、非簇集索引)。下面,我們舉例來說明一下聚集索引和非聚集索引的區別:其實,我們的漢語字典的正文本身就是一個聚集索引。比如,我們要查“安”字,就會很自然地翻開字典的前幾頁,因為“安”的拼音是“an”,而按照拼音排序漢字的字典是以
系統 2019-08-12 01:32:56 2187
在使用本文中的例子之前,你必須注意以下的問題。大部分可能不是所有例子在不同的機器上執行的結果可能不一樣,這完全由哪一天是一個星期的第一天這個設置決定。第一天(DATEFIRST)設定決定了你的系統使用哪一天作為一周的第一天。所有以下的例子都是以星期天作為一周的第一天來建立,也就是第一天設置為7.假如你的第一天設置不一樣,你可能需要調整這些例子,使它和不同的第一天設置相符合。當然,你可以通過@@DATEFIRST函數來檢查第一天設置。一、為了理解這些例子,我
系統 2019-08-12 01:32:40 2187
1.差異備份的還原不備份結尾日志的情況下還原數據創建差異備份的放在我們已經在前面一篇博客SQLServer的備份中提到了,這里我們不再贅述,下面我們給出差異備份與還原的T-SQL方法,代碼如下:--創建備份設備EXECsp_addumpdevice'disk','MyAdvWorks_1','d:\backup\MyAdvWorks_1.bak';EXECsp_addumpdevice'disk','MyAdvWorks_diff1','d:\backup
系統 2019-08-12 01:32:30 2186
原文:靈活運用SQLSERVERFORXMLPATHFORXMLPATH有的人可能知道有的人可能不知道,其實它就是將查詢結果集以XML形式展現,有了它我們可以簡化我們的查詢語句實現一些以前可能需要借助函數活存儲過程來完成的工作。那么以一個實例為主.一.FORXMLPATH簡單介紹那么還是首先來介紹一下FORXMLPATH,假設現在有一張興趣愛好表(hobby)用來存放興趣愛好,表結構如下:接下來我們來看應用FORXMLPATH的查詢結果語句如下:SELEC
系統 2019-08-12 01:52:02 2185
TRY...CATCH是SqlServer2005/2008令人印象深刻的新特性.提高了開發人員異常處理能力.沒有理由不嘗試一下Try..Catch功能.*TRY塊-包含可能產生異常的代碼或腳本*CATCH塊-如果TRY塊出現異常,代碼處理流將被路由到CATCH塊.在這里你可以處理異常,記錄日志等.SqlServer中的TryCatch和C#,JAVA等語言的處理方式一脈相承.這種一致性才是最大的創新之處.SQLSERVER2000中異常處理:CREATE
系統 2019-08-12 01:52:30 2184
SqlServerCPU性能排查及優化的相關Sql語句,非常好的SQL語句,記錄于此:--BeginCpu分析優化的相關Sql--使用DMV來分析SQLServer啟動以來累計使用CPU資源最多的語句。例如下面的語句就可以列出前50名。selectc.last_execution_time,c.execution_count,c.total_logical_reads,c.total_logical_writes,c.total_elapsed_time,
系統 2019-08-12 01:51:52 2184