我們在在使用SQLServer時都會遇到使用SQLServerManagementStudio無法連接遠程數據庫實例的問題,錯誤描述信息摘錄如下:Anerrorhasoccurredwhileestablishingaconnectiontotheserver.(provider:NamedPipesProvider,error:40–CouldnotopenaconnectiontoSQLServer)(MicrosoftSQLServer,Error:
系統 2019-08-12 01:53:32 2160
SQLServerTransact-SQL編程T-SQL語句用于管理SQLServer數據庫引擎實例,創建和管理數據庫對象,以及查詢、插入、修改和刪除數據。?變量1、局部變量(LocalVariable)局部變量是用戶可以自定義的變量,它的作用范圍是僅在程序內部,在程序中通常用來儲存從表中查詢到的數據或當做程序執行過程中的暫存變量。使用局部變量必須以@開頭,而且必須用declare命令后才能使用。基本語法:聲明變量declare@變量名變量類型[@變量名變
系統 2019-08-12 01:52:28 2159
一、深入淺出理解索引結構實際上,您可以把索引理解為一種特殊的目錄。微軟的SQLSERVER提供了兩種索引:聚集索引(clusteredindex,也稱聚類索引、簇集索引)和非聚集索引(nonclusteredindex,也稱非聚類索引、非簇集索引)。下面,我們舉例來說明一下聚集索引和非聚集索引的區別:其實,我們的漢語字典的正文本身就是一個聚集索引。比如,我們要查“安”字,就會很自然地翻開字典的前幾頁,因為“安”的拼音是“an”,而按照拼音排序漢字的字典是以
系統 2019-08-12 01:32:56 2159
用openrowset連接遠程SQL或插入數據--如果只是臨時訪問,可以直接用openrowset--查詢示例select*fromopenrowset('SQLOLEDB','sql服務器名';'用戶名';'密碼',數據庫名.dbo.表名)--導入示例select*into表fromopenrowset('SQLOLEDB','sql服務器名';'用戶名';'密碼',數據庫名.dbo.表名)--創建鏈接服務器execsp_addlinkedserver'
系統 2019-08-12 01:55:16 2158
首先,我們通過數據庫中表的兩條記錄來引出問題,如下圖以上為一個記錄操作記錄的表數據。OrderID為自增長列,后面依次為操作類型,操作時間,操作人。現在的問題是:要求篩選出數據庫中從“接收”到“送出”的時間差超過2天的全部記錄。即如上圖兩筆單據中,紅色框既是要篩選出的,綠色框為正常過濾的。為了定位相鄰記錄,方法為給查詢語句的返回記錄加個自動編號列放入臨時表中,再對臨時表進行操作。ViewCode--1.首先查出表中符合條件的所有信息selectIDENTI
系統 2019-08-12 01:33:04 2157
通常,你需要獲得當前日期和計算一些其他的日期,例如,你的程序可能需要判斷一個月的第一天或者最后一天。你們大部分人大概都知道怎樣把日期進行分割(年、月、日等),然后僅僅用分割出來的年、月、日等放在幾個函數中計算出自己所需要的日期!在這篇文章里,我將告訴你如何使用DATEADD和DATEDIFF函數來計算出在你的程序中可能你要用到的一些不同日期。在使用本文中的例子之前,你必須注意以下的問題。大部分可能不是所有例子在不同的機器上執行的結果可能不一樣,這完全由哪一
系統 2019-08-12 01:51:27 2156
PIVOT,UNPIVOT運算符是SQLserver2005支持的新功能之一,主要用來實現行到列的轉換。本文主要介紹PIVOT運算符的操作,以及如何實現動態PIVOT的行列轉換。關于UNPIVOT及SQLserver2000下的行列轉換請參照本人的其它文章。一、PIVOT的語法SELECT[non-pivotedcolumn],--optional[additionalnon-pivotedcolumns],--optional[firstpivotedc
系統 2019-08-12 01:53:50 2155
在SQLServer2005Express上附加從另外一臺電腦Copy過來的數據庫后,數據庫為“只讀”。解決辦法:打開開始→程序→MicrosoftSQLServer2005→配置工具→SQLServer配置管理器,打開SQLServerSQLEXPRESS的屬性.在內置帳號處,把“網絡服務”改成“本地系統”,重新啟動SQLServer2005Express后,再附加數據庫一切正常。總結:之所以附加上的數據庫為“只讀”,是因為啟動SQLServer的默認的
系統 2019-08-29 23:40:51 2154
SQLSERVER提供了通過EXCHANGE或OUTLOOK收發郵件的擴展存儲過程,下面將這幾個過程簡單的介紹一下。一、啟動SQLMailxp_startmail@user,@password@user和@password都是可選的也可打開EnterpriseManager中的SupportServices,在SQLMail上單擊右鍵打開右鍵菜單,然后按Start來啟動二、停止SQLMailxp_stopmail也可用上述方法中的菜單里的Stop來停止三、
系統 2019-08-12 01:53:28 2154
TRY...CATCH是SqlServer2005/2008令人印象深刻的新特性.提高了開發人員異常處理能力.沒有理由不嘗試一下Try..Catch功能.*TRY塊-包含可能產生異常的代碼或腳本*CATCH塊-如果TRY塊出現異常,代碼處理流將被路由到CATCH塊.在這里你可以處理異常,記錄日志等.SqlServer中的TryCatch和C#,JAVA等語言的處理方式一脈相承.這種一致性才是最大的創新之處.SQLSERVER2000中異常處理:CREATE
系統 2019-08-12 01:52:30 2153
有時候要把SQLServer的數據表導出為Excel表,以利于分發使用,復制黏貼有比較麻煩,可以用一下步驟操作之:1、先建立一個空的.xls文件,命名為gx.xls;2、右鍵單擊目標數據庫,選擇“任務-導出數據”;3、進入導出數據向導,選擇源數據和數據庫;4、選擇目標數據,這里請選擇目標為“MicrosoftExcel”,并在路徑里選擇剛才建立的gx.xls;5、后面幾部默認即可,最終數據導出到Excel中!SQLServer2005數據表導出為Excel
系統 2019-08-12 01:54:46 2149
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 2149
一、時間函數在使用存儲過程,sql函數的時候,會遇到一些對時間的處理。比如時間的獲取與加減。這里就用到了sql自帶的時間函數。下面我列出這些函數,方便日后記憶,使用。--getdate獲取當前時間selectgetdate()--dateadd原有時間加:2013-02-1713:20:16此時間加12個月selectdateadd(MONTH,12,'2013-02-1713:20:16')--返回:2014-02-1713:20:16.000(參數mo
系統 2019-08-12 01:51:30 2149
在sqlserver中來計算一個字符串在另一個字符串中出現的次數,通常會去用循環來匹配,然后計算出出現的次數,這樣的效能不是很高。現在講一種比較簡單的方法也能實現同樣的功能,思路如下:1:設有字符串str1str2,現在要求str1在str2中出現的次數。2:將str1后面加上一個字符,如:str1+'_',設更改后的字符串為str3。3:在str2中如果有子串str1,將之替換成str3,替換后的字符串設為str4。4:str4與str2的長度之差即為s
系統 2019-08-12 01:51:30 2148
<一>有相關ID標識一.查找重復記錄1.查找所有重復記錄Select*From表Where重復字段In(Select重復字段From表GroupBy重復字段HavingCount(*)>1)SELECT*FROMCompanyEmailcWHERE((SELECTCOUNT(*)FROMCompanyEmailWHEREEmail=a.Email)>1)ORDERBYEmailDESC查出相同orderid中創建時間最晚的記錄selectt.IdfromG
系統 2019-08-29 22:57:11 2147