Time of Update: 2017-01-19
通過介面設計上是能手工操作的,無法達到我批量修改幾千台伺服器。 因為此了一個指令碼來批量執行。 環境:redgate + mssql 2008 r2 以下代碼根據自己的業務稍做修改即使用。 複製代碼 代碼如下: --允許對系統資料表進行更新 exec sp_configure 'allow updates',1 reconfigure with override GO --取消識別欄位標記 update syscolumns set colstat = 0 where id =
Time of Update: 2017-01-19
複製代碼 代碼如下: --Begin Index(索引) 分析最佳化的相關 Sql -- 返回當前資料庫所有片段率大於25%的索引 -- 運行本語句會掃描很多資料頁面 -- 避免在系統負載比較高時運行 -- 避免在系統負載比較高時運行 declare @dbid int select @dbid = db_id() SELECT o.name as tablename,s.* FROM sys.dm_db_index_physical_stats (@dbid, NULL, NULL,
Time of Update: 2017-01-19
關於這個話題,我也看到網上有其他方法來解決。 不過從效能和代碼量上來看,我有更好的辦法。 在這裡和大家 分享。 原理其實很簡單, 知識1、長度函數 len(); 知識2、還是長度函數datalength(); 代碼如下: 複製代碼 代碼如下: declare @sql varchar(1000) set @sql='abc國m,de中d國e人民f' select @sql 字元,DATALENGTH(@sql)-len(@sql) 漢字個數
Time of Update: 2017-01-19
以下測試用於去除任何字串中連線的分隔字元 複製代碼 代碼如下: --去除字串中連續的分隔字元 declare @str nvarchar(200) declare @split nvarchar(200),@times int set @str='中 國1 2 34 55 5 6 7 7';--字元 set @split=' '; --分隔字元 select @times=(len(@str)-len(replace(@str,@split+@split,'')))/2 while
Time of Update: 2017-01-19
代碼如下: 複製代碼 代碼如下: USE [tempdb] GO /****** Object: UserDefinedFunction [dbo].[fun_getPY] Script Date: 05/23/2012 18:03:45 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* 擷取漢字的首拼音 如果是非漢字字元 */ ALTER function [dbo].[fun_getPY] ( @str nvarchar(
Time of Update: 2017-01-19
最近經常使用字串尋找功能。 包括 1、全匹配尋找字串 2、模糊尋找字串 CHARINDEX 和 PATINDEX 函數都返回指定模式的開始位置。PATINDEX 可使用萬用字元,而 CHARINDEX 不可以。 這兩個函數都帶有2個參數: 1 希望擷取其位置的模式。使用 PATINDEX,模式是可以包含萬用字元的字面字串。使用 CHARINDEX,模式是字面字串(不能包含萬用字元)。 2 字串值運算式(通常為列名)。 例如,尋找模式"wonderful"在 titles 表中
Time of Update: 2017-01-19
方案5 使用xml參數 對sql server xml型別參數不熟悉的童鞋需要先瞭解下XQuery概念,這裡簡單提下XQuery 是用來從 XML 文檔尋找和提取元素及屬性的語言,簡單說就是用於查詢xml的語言說到這就會牽著到XPath,其實XPath是XQuery的一個子集,XQuery 1.0 和 XPath 2.0 共用相同的資料模型,並支援相同的函數和運算子,XPath的方法均適用於XQuery,假如您已經學習了 XPath,那麼學習 XQuery
Time of Update: 2017-01-19
身為一名小小的程式猿,在日常開發中不可以避免的要和where in和like打交道,在大多數情況下我們傳的參數不多簡單做下單引號、敏感字元轉義之後就直接拼進了SQL,執行查詢,搞定。若有一天你不可避免的需要提高SQL的查詢效能,需要一次性where in 幾百、上千、甚至上萬條資料時,參數化查詢將是必然進行的選擇。然而如何?where in和like的參數化查詢,是個讓不少人頭疼的問題。 where in 的參數化查詢實現 首先說一下我們常用的辦法,直接拼SQL實現,一般情況下都能滿足需要
Time of Update: 2017-01-19
據瞭解絕大多數開發人員對於索引的理解都是一知半解,局限於大多數日常工作沒有機會、也什麼沒有必要去關心、瞭解索引,實在哪天某個查詢太慢了找到查詢條件建個索引就ok,哪天又有個查詢慢了,再建立個索引就是,或者乾脆把整個查詢SQL直接發給DBA,讓DBA直接幫忙最佳化了,所以造成的狀況就是開發人員對於索引的理解、認識很局限,以下就把我個人對於索引的理解及淺薄認識和大家分享下,希望能解除一些大家的疑惑,一起走出索引的誤區 誤區1.在表上建立了索引,在查詢時用到了索引的列,索引就一定會生效
Time of Update: 2017-01-19
小小程式猿SQL Server認知的成長 1.沒畢業或工作沒多久,只知道有資料庫、SQL這麼個東東,渾然分不清SQL和Sql Server Oracle、MySql的關係,通常認為SQL就是SQL Server 2.工作好幾年了,也寫過不少SQL,卻渾然不知道索引為何物,只知道資料庫有索引這麼個東西,分不清叢集索引和非叢集索引,只知道查詢慢了建個索引查詢就快了,到頭來索引也建了不少,查詢也確實快了,偶然問之:汝建之索引為何類型?答曰:。。。
Time of Update: 2017-01-19
一.指令碼基礎 1.USE語句 設定當前資料庫。 2.聲明變數 文法:DECLARE @變數名 變數類型
Time of Update: 2017-01-19
本文通過執行個體解析了 SQL Server 資料庫擴充預存程序,實現遠程備份與恢複的方法和步驟執行個體說明: 環境:win2k+sqlserver 2K+查詢分析器 SQL SERVER服務執行個體名稱:mainserver 需要備份的資料庫名稱: msdb 本地機器名稱(Client端):david 本機使用者:zf 密碼:123 本地區名:domain 本地提供備份需求的檔案夾:e: est 第一步: 建立共用資料夾
Time of Update: 2017-01-19
1.遊標方式 複製代碼 代碼如下: DECLARE @Data NVARCHAR(max) SET @Data='1,tanw,2,keenboy' --Id,Name DECLARE @dataItem NVARCHAR(100) DECLARE data_cursor CURSOR FOR (SELECT * FROM split(@Data,';')) OPEN data_cursor FETCH NEXT FROM data_cursor INTO @dataItem WHILE
Time of Update: 2017-01-19
首先是三張表, CNo對應的是課程,在這裡我就粘貼了。
Time of Update: 2017-01-19
雖然有很多種方式可以解決這個問題,但是我們可以用T-SQL代碼來處理這個檔案刪除過程。我用xp_cmdshell命令和FORFILES命令來處理類似於你所列出的過程。可以從Microsoft TechNet中獲得FORFILES的可靠資訊,但是在這篇文章中,我將涉及FORFILES大量的結構和使用方法來達到你的目的。 該FORFILES命令將選取檔案的一個子集並且針對這個子集執行一個命令。這個命令需要下面的參數和接受下面的變數。 參數參數名描述/p路徑/m檢索屏蔽 (預設情況下是 *.*)
Time of Update: 2017-01-19
第一種方法: 複製代碼 代碼如下: /* 建立連結的伺服器 */ exec sp_addlinkedserver 'srv_lnk','','sqloledb','條碼資料庫IP地址' exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'使用者名稱','密碼' go /* 查詢樣本 */ SELECT A.ListCode FROM srv_lnk.條碼資料庫名.dbo.ME_ListCode A, IM_BarLend B WHERE
Time of Update: 2017-01-19
什麼是索引 拿漢語字典的目錄頁(索引)打比方:正如漢語字典中的漢字按頁存放一樣,SQL Server中的資料記錄也是按頁存放的,每頁容量一般為4K。為了加快尋找的速度,漢語字(詞)典一般都有按拼音、筆畫、偏旁部首等排序的目錄(索引),我們可以選擇按拼音或筆畫尋找方式,快速尋找到需要的字(詞)。 同理,SQL Server允許使用者在表中建立索引,指定按某列預先排序,從而大大提高查詢速度。 • SQL Server中的資料也是按頁(4KB)存放 • 索引:是SQL
Time of Update: 2017-01-19
首先說明一下SQL Server記憶體佔用由哪幾部分組成。SQL Server佔用的記憶體主要由三部分組成:資料緩衝(Data Buffer)、執行緩衝(Procedure Cache)、以及SQL Server引擎程式。SQL Server引擎程式所佔用緩衝一般相對變化不大,則我們進行記憶體調優的主要著眼點在資料緩衝和執行緩衝的控制上。本文主要介紹一下執行緩衝的調優。資料緩衝的調優將在另外的文章中介紹。 對於減少執行緩衝的佔用,主要可以通過使用參數化查詢減少記憶體佔用。
Time of Update: 2017-01-19
本文給出一條 SQL 陳述式用於展示在同一名伺服器上,不同的資料庫間查詢,注意當前串連使用者要對兩個庫都有許可權SQL Server 中 SQL 陳述式中對象的完整運算式是: [DatabaseServer].[DatabaseName].[DatabaseSchema].[DatabaseObject] 本文給出一條 SQL 陳述式用於展示在同一名伺服器上,不同的資料庫間查詢,注意當前串連使用者要對兩個庫都有許可權。 複製代碼 代碼如下: select * from CfteaDb1.dbo.
Time of Update: 2017-01-19
一旦被駭客擷取到webshell,駭客就知道了你的sqlserver管理員密碼,如果sqlserver再沒有經過安全設定那麼駭客很容易就提權並建立系統管理員帳號,那麼駭客就可以輕鬆的控制你的電腦了。所以一定要進行安全設定,雲棲社區網站就提供了這項服務,幫使用者安全設定。下面回到正題為大家簡單的介紹下如果建立一個新帳號。進入sqlserver的企業管理器介面,建立使用者需要兩個步驟第一步:安全性 》登入 》建立登入輸入使用者名稱 zz8love 並選擇sqlserver身分識別驗證 並設定密碼