Time of Update: 2018-12-04
主鍵是用來強制一個欄位或多個欄位組合值的唯一性,且不允許該欄位值為空白值。在一個表中只能設定一個主鍵約束,但可以將包含多個欄位的欄位組合設定為主鍵。主鍵約束分為欄位級約束和表級約束。欄位級約束是為某一個欄位設定約束。在設定欄位級約束時,只需將建立主鍵約束的語句添加到該欄位的定義子句後面。所謂表級約束是將將多個欄位的欄位組合設定為主鍵。
Time of Update: 2018-12-04
這個是在CSDN一個文章裡發現的,正好我用的到,就轉過來了libin_ftsafe(子陌紅塵:當libin告別ftsafe)通過指令碼建立JOB: ------------------------------------------------------------------------------------- if exists (select * from dbo.sysobjects where id = object_id(N'[
Time of Update: 2018-12-04
遊標的原理 一般情況下,SQL查詢結果都是多條紀錄的結果集,而進階語言一次只能處理一條紀錄,用遊標機制,將多條紀錄一次一條讀取出來處理。從而把對集合的操作轉化為對單個紀錄的處理。遊標使用的步驟如下:1、聲明遊標。聲明遊標的時候並不執行select語句。 declare <遊標名> cursor for <select語句>; 2、開啟遊標。開啟遊標實際上是執行相應的select語句,把查詢結果讀取到緩衝區中。這時候遊標處於活動狀態,指標指向查詢結果集的第一條紀錄。
Time of Update: 2018-12-04
一般來說,我們可以通過一個系統預存程序或者INFORMATION_SCHEMA視圖來訪問SQL Server中繼資料。當使用一個查詢時段時,系統預存程序對於一個資料庫管理員是完美的也是最佳化的,但是並不是所有都適用於應用程式使用者,這是因為你可能會被要求更進一步地篩選資訊並因此降低了效能。所以我決定從SQL
Time of Update: 2018-12-04
SQL Server TypesJDBC Types (java.sql.Types)Java Language
Time of Update: 2018-12-04
對於一般的INT、CHAR、tinyint等資料類型,他們佔用的儲存空間都是以Byte位元組為單位的,但是BIT類型由於只有0和1或者說false和true,這種情況只需要一個Bit位就可以表示了,那麼在SQLServer中BIT類型到底佔用了多少空間?是不是由一個Bit位來儲存的?或者可能是使用一個位元組來儲存的?這兩個答案都不正確!!!實際上BIT類型佔用的空間與BIT類型的列所在表的位置有關,有些情況下BIT佔用了一個位元組,有些情況下BIT實際佔用了幾個位(幾個BIT類型的列共用一個位元
Time of Update: 2018-12-04
最佳化SQL
Time of Update: 2018-12-04
SQL Server在安裝到伺服器上後,由於出於伺服器安全的需要,所以需要屏蔽掉所有不使用的連接埠,只開放必須使用的連接埠。下面就來介紹下SQL Server 2008中使用的連接埠有哪些:首先,最常用最常見的就是1433連接埠。這個是資料庫引擎的連接埠,如果我們要遠端連線資料庫引擎,那麼就需要開啟該連接埠。這個連接埠是可以修改的,在“SQL
Time of Update: 2018-12-04
文章目錄 我們需要的結果是: 【轉載】 在一些統計報表中,常常會用到將行結果用列形式展現。我們這裡用一個常見的學生各門課程的成績報表,來實際展示實現方法。我們用到的表結構如下:三張表的關係為:現有的測試資料為:我們需要的結果是:DECLARE @strSQL VARCHAR(8000)SET @strSQL = 'select t.STUNAME [姓名]'select @strSQL = @strSQL + ',SUM(CASE s.
Time of Update: 2018-12-04
來源:WAS所謂SQL盲注也就是採用自動化的程式來自動的掃描注入點,並可以自動掃描資料表進行大規模批量注入,其危害性也最大。這裡我們來探討一種與SQL Server許可權有關的延緩SQL盲注的方法。一般來說SQL盲注的最終注入代碼都類似於如下片段(SQL Server 2000/2005):DeCLaRE @S NvArCHaR(4000);SeT @S=CaSt(0x4400650063006C0061007200650020004000540020005600610072006300680
Time of Update: 2018-12-04
1.Stop 所有服務 2.用 Windows Install Clean Up 工具卸載SQL 2005組件 3.用SrvInstw.exe刪除所有SQL服務 4.清除註冊表 a. 將HKEY_CURRENT_USER---Software----Microsoft下的Microsoft SQL Server檔案夾全部刪除 b. 將HKEY_LOCAL_mACHINE---SOFTWARE---Microsoft下的Microsoft SQL Native Client
Time of Update: 2018-12-04
關於SQL Server自動備份無法刪除到期的備份檔案資料庫伺服器每天淩晨兩點進行Database Backup,同時對5天前的Database Backup檔案進行刪除,不然的話就會把硬碟給撐爆的windows的日誌裡給出資訊:SQL Server Scheduled Job 'DB 維護計劃“資料庫維護計劃1”的 DB 備份作業。' (0x2DA54A5BBEFC2B4A874428B91602C52A) - Status: 失敗 - Invoked on: 2005-09-09 01:00
Time of Update: 2018-12-04
由於本地安裝資料庫 的時候設定是不區分大小寫,但是伺服器是區分的搞的我重寫了一些代碼,為了不在讓這樣的事情發生,我決定把原生資料庫變成支援大小寫區分 代碼如下ALTER DATABASE databasename COLLATE Chinese_Taiwan_Stroke_CS_ASCI 指定不區分大小寫,CS 指定區分大小寫。如果是按照的是簡體版的就應該是Chinese_PRC_CS_AS 具體的編碼說明可以查看http://msdn.microsoft.com/
Time of Update: 2018-12-04
這兩天有個需求,需要在資料庫中判斷字串的格式,於是從網上搜集了一些資料,整理了一下。下面這個是一個自訂函數,使用者可以調用這個函數判斷指定的字串是否符合Regex的規則.CREATE FUNCTION dbo.find_regular_expression ( @source varchar(5000), --需要匹配的源字串 @regexp varchar(1000), --Regex @ignorecase bit = 0
Time of Update: 2018-12-04
查看管理工具中的服務,發現sqlserver.exe服務是由特殊使用者啟動並執行,這也是為了伺服器的安全考慮:我的電腦–控制台–管理工具–服務–右鍵 MSSQLSERVER–屬性–登陸–登陸身份(如果是”本地系統帳戶”,則是當前登入作業系統的使用者),並檢查該使用者是否有操作 c:/Program Files/Microsoft SQL Server/MSSQL/data/ 的所有許可權。從安全的角度考慮,將“SQL2000資料庫”安裝在獨立的分區裡面,而且,“SQL2000資料庫”必須運行在“
Time of Update: 2018-12-04
轉自老刀專欄原文地址:http://blog.csdn.net/keenx/archive/2005/11/23/535451.aspx SQLSERVER估計是為了安裝或者其它方面,它內建了一批危險的預存程序。能讀到註冊表資訊,能寫入註冊表資訊,能讀磁碟共用資訊等等……各位看到這兒,心裡可能會在想,我的網站中有其它的代碼,又不像查詢分析器那樣能直接將結果輸出。給你這個許可權,也不能怎麼樣,還是看不到資訊。如果各位這樣想就大錯特錯了。提示一下,如果攻擊者有CREATE
Time of Update: 2018-12-04
有時候,出於SQL Server本身的功能不足,我們需要用外部的程式來實現,而Com由於其語言的無關性和強大的功能就成為與Sql Server介面的首選,並且sql Server本身也提供了這方面的系統預存程序用以實現與com的介面。這幾個相關的系統預存程序為: sp_OACreate 在 SQL Server執行個體建立 OLE 對象的執行個體。 sp_OAMethod 調用 OLE 對象的方法
Time of Update: 2018-12-04
問題現象:系統記錄檔(控制台–管理工具–系統日誌)能找到以下兩條錯誤:17052:無法恢複 master 資料庫。正在退出。18052:錯誤: 9003,嚴重度: 20,狀態: 1。解決方案:將Microsoft SQL Server/MSSQL/Data 目錄改名為data_bak目錄,然後從其他機器上把master.mdf,master.ldf,model.mdf,modellog.ldf拷過來隨便放到哪(或者直接把data目錄拷過來也行),不能放到Microsoft SQL Server/
Time of Update: 2018-12-04
1、 進入Microsoft SQL Server的Enterprise Manager。2、 選擇要恢複資料的資料庫,點擊右鍵,在右鍵菜單中選擇所有任務還原資料庫。3、 在常規頁面中選擇從裝置恢複資料庫。4、 選擇要恢複的資料庫裝置,即*.dup檔案,然後點擊確認。5、 恢複資料之前要修改選項頁面的物理檔案名稱為該資料庫的實際的物理檔案名稱,並且選擇在現有資料庫上強制還原。6、 修改Objects屬主和修改資料庫使用者Id號。用sa使用者進入Microsoft SQL Server的Quer
Time of Update: 2018-12-04
SQL對字串的處理能力比較弱,比如我要迴圈遍曆象1,2,3,4,5這樣的字串,如果用數組的話,遍曆很簡單,但是T-SQL不支援數組,所以處理下來比較麻煩。下邊的函數,實現了象數組一樣去處理字串。 一,用暫存資料表作為數組create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as begin while(charindex(@split,@c)<>0)