Time of Update: 2018-12-06
連接字串:<connectionStrings> <add name="conn" connectionString="user id=sa;Password=;initial catalog=Northwind;Server=YourSQLServer;Connect Timeout=30;" providerName="System.Data.SqlClient" /></connectionStrings>-----------------------
Time of Update: 2018-12-06
前段接手了個最佳化項目,大概要求是對公司現有的1W多張表進行索引最佳化,完善現有的,剔除無效的索引。鑒於人手嚴重不足(當時算兩個半人的資源),打消了逐個庫手動去改的念頭。當前的程式結構不允許搞革命的做法,只能搞搞改良,所以準備搞個自動化工具去處理。原型剛開發完,開會的時候以拿出來就遭到營運DBA團隊強烈抵制,具體原因不詳。最後無限延期。這裡把思路分享下。歡迎拍磚。 整個思路是這樣的,索引都是為查詢和更新服務的,但是不合適的索引又會對插入和更新帶來負面影響。面對錶上現有的索引想識別那些是有
Time of Update: 2018-12-06
我們可以把SSIS中的整個package包含在一個事務中,但是如果在package的執行過程中有一個表需要鎖定應該怎麼處理呢?SSIS內建的交易處理可以解決這個問題。在此之前首先來熟悉一下SQL Server中的事務的概念。 事務SQL Server中的事務是單個的工作單元。如果某一事務成功,則在該事務中進行的所有資料修改均會提交,成為資料庫中永久的組成部分。如果事務遇到錯誤且必須取消或復原,則所有的資料修改均被清除。在SQL
Time of Update: 2018-12-06
要知道線程等待時間是制約SQL Server效率的重要原因,這一個隨筆中將學習怎樣收集SQL
Time of Update: 2018-12-06
CASE 可能是 SQL 中被誤用最多的關鍵字之一。雖然可能以前用過這個關鍵字來建立欄位,但是它還具有更多用法。例如,可以在 WHERE 子句中使用 CASE。首先讓我們看一下 CASE 的文法。在一般的 SELECT 中,其文法如下:以下為引用的內容:SELECT <myColumnSpec> = CASE WHEN <A> THEN <somethingA> WHEN <B> THEN <somethingB> ELSE
Time of Update: 2018-12-06
備份資料庫時出現一個不太瞭解的錯誤 ,錯誤資訊“is formatted to support 1 media families, but 2 media families are expected according to the backup device
Time of Update: 2018-12-06
今天用SQL Server 2008的attach功能附加一個資料庫,出了點問題,提示的錯誤是:Unable to open physical file "D:\Documents\Dalt\XXXX.mdf" Operating system error 5: "5(error not found)" (Microsoft SQL Server: Error
Time of Update: 2018-12-06
--用ParameterDirection.ReturnValue; 傳回值CREATE PROCEDURE dbo.a ASdeclare @i intselect @i=count(*) from tbD_M_Modlereturn @iGO--用ParameterDirection.Output; 參數傳回值CREATE PROCEDURE dbo.a @i int outputASselect @i=count(*) from tbD_M_Modlereturn
Time of Update: 2018-12-06
--用ParameterDirection.ReturnValue; 傳回值CREATE PROCEDURE dbo.a ASdeclare @i intselect @i=count(*) from tbD_M_Modlereturn @iGO--用ParameterDirection.Output; 參數傳回值CREATE PROCEDURE dbo.a @i int outputASselect @i=count(*) from tbD_M_Modlereturn
Time of Update: 2018-12-06
一、問題情況 Win7 家庭進階版,訪問SQL Server 時出現不能訪問的錯誤,具體串連及錯誤情況見: 二、問題處理經過瞭解,發現SQL Server的連接埠號碼進行了更改,由預設的1433改成了特定值,如45000三、問題解決1、通過設定ODBC資料來源測試本機是否能正常訪問,主要通過配置用戶端配置實現,如所示 ODBC測試可以正常訪問資料庫。
Time of Update: 2018-12-06
Sql Server 中一個非常強大的日期格式化函數Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(varchar(100), GETDATE(), 3):
Time of Update: 2018-12-06
1、在SQL SERVER裡查詢Excel資料: -- ====================================================== SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
Time of Update: 2018-12-06
在SQL Server裡可以調用DOS下的命令列工具bcp來實現把表裡的資料或者SQL語句結果產生文字檔。BCP命令的參數格式:BCP {dbtable | query} {in | out | queryout | format} datafile[-m maxerrors] [-f formatfile] [-e errfile][-F firstrow] [-L lastrow] [-b batchsize][-n native type]
Time of Update: 2018-12-06
有時我們要用到大量操作時都會對字串進行拆分,可是SQL Server中卻沒有內建Split函數,所以要自己來實現了。沒什麼好說的,需要的朋友直接拿去用吧 SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO/*by kudychen 2011-9-28 */CREATE function [dbo].[SplitString](@Input nvarchar(max), --input string to be separated
Time of Update: 2018-12-06
你有時候就你喜歡的書。 --馮唐1. SqlServer發生dead-lock 事件,主要是因為存在兩個線程分別佔有某個資源的獨佔鎖,然後這兩個線程再去擷取對方擁有的資源的獨佔鎖。這樣就導致了dead-lock發生。 2. SqlServer 在遇到dead-lock後,會從兩個線程中選取一個線程作為winner,winner的事務接著執行,另個線程則會成為loser,loser的事務則會rollback,對於loser,SqlServer則會給返回一個error
Time of Update: 2018-12-06
最近調優了一個使用JBuilder + JBoss + SQL Server構建的系統,典型的三層結構,前端由JBoss搭建的web伺服器構成,後端使用SQL Server作為資料庫。在調優之前,系統資料表現出的問題就是基本上沒有並發訪問,涉及到資料量大的操作反應特別慢,在多個使用者同時訪問時可能web服務奔潰。 與營運人員深入瞭解之後,針對最嚴重的case進行了深入瞭解,從web端的日子,程式碼分析,發現主要的問題集中在兩塊,一是代碼邏輯的問題,而是資料庫訪問的耗時。
Time of Update: 2018-12-06
SELECT b.name as TableName,a.name ColumnName,c.name as DataType,p.value as Description,a.max_length as MaxLength,(case a.is_identity when 1 then 'True' else 'False' end) as [Identity] ,(case a.is_nullable when 1 then 'True' else 'False' end) as
Time of Update: 2018-12-06
此文章主要向大家講述的是SQL Server暫存資料表和表變數,以及對SQL Server暫存資料表和表變數的不同之處的描述,我們在資料庫中使用表的時候一般都會遇到兩種使用表的方法,分別就是使用暫存資料表及表變數。 在實際使用的時候,我們如何靈活的在預存程序中運用它們,雖然它們實現的功能基本上是一樣的,可如何在一個預存程序中有時候去使用暫存資料表而不使用表變數,有時候去使用表變數而不使用暫存資料表呢? 暫存資料表
Time of Update: 2018-12-06
我們在資料庫中使用表的時候,經常會遇到兩種使用表的方法,分別就是使用暫存資料表及表變數。在實際使用的時候,我們如何靈活的在預存程序中運用它們,雖然它們實現的功能基本上是一樣的,可如何在一個預存程序中有時候去使用暫存資料表而不使用表變數,有時候去使用表變數而不使用暫存資料表呢? 暫存資料表 暫存資料表與永久表相似,只是它的建立是在Tempdb中,它只有在一個資料庫連接結束後或者由SQL命令DROP掉,才會消失,否則就會一直存在。暫存資料表在建立的時候都會產生SQL Server的系統日誌,
Time of Update: 2018-12-06
Type是在6.0就有的,XType在7.0才出現: Type 物件類型。可以是下列值之一: C = CHECK 約束 D = 預設值或 DEFAULT 約束 F = FOREIGN KEY 約束 FN = 純量涵式 IF = 內嵌表函數 K = PRIMARY KEY 或 UNIQUE 約束 L = 日誌 P = 預存程序 R = 規則 RF =