Time of Update: 2015-10-10
標籤:在SQLServer資料庫中,如果查詢資料庫中是否存在指定名稱的索引或者外鍵約束等,經常會用到object_id(‘name‘,‘type‘)方法,做筆記如下:?文法:object_id(‘objectname‘)或object(‘objectname‘,‘type‘)作用:該函數會返回指定對象的ID值,可以在sysobjects表中進行驗證。其中objectname資料類型為 char 或 nchar。如果 object
Time of Update: 2015-10-07
標籤:索引的概念索引的用途:我們對資料查詢及處理速度已成為衡量應用系統成敗的標準,而採用索引來加快資料處理速度通常是最普遍採用的最佳化方法。索引是什麼:資料庫中的索引類似於一本書的目錄,在一本書中使用目錄可以快速找到你想要的資訊,而不需要讀完全書。在資料庫中,資料庫程式使用索引可以重啊到表中的資料,而不必掃描整個表。書中的目錄是一個字詞以及各字詞所在的頁碼列表,資料庫中的索引是表中的值以及各值儲存位置的列表。索引的利弊:查詢執行的大部分開銷是I/O,使用索引提高效能的一個主要目標是避免全表掃描,
Time of Update: 2015-10-09
標籤:為什麼我們需要交易記錄,可不可以刪除或者不添加記錄檔?答案是否定的,如果沒有交易記錄,你的資料庫根本無法工作! 交易記錄支援以下操作: 交易回復 如果使用者或程式使用了Rollback 語句或者是資料庫檢測到了失敗的操作 。 這些記錄檔就會被用來做復原。 恢複未完成的事務 如果你在資料庫發生錯誤時重新啟動資料庫伺服器(服務),可能探索資料庫處於復原模式(In
Time of Update: 2015-10-10
標籤:區分大小寫 關鍵字 scratch 資料庫 訂單號 --1. 常用的預存程序sp_databases--返回可用的資料庫的一個列表sp_tables--返回當前選擇的資料庫內可用表的列表,不僅包括你自己的表,還包括系統資料表和其他表sp_tables null, dbo,
Time of Update: 2015-10-08
標籤:Transact-SQL中的預存程序,非常類似於Java語言中的方法,它可以重複調用。當預存程序執行一次後,可以將語句緩衝中,這樣下次執行的時候直接使用緩衝中的語句。這樣就可以提高預存程序的效能。 ? 預存程序的概念 預存程序Procedure是一組為了完成特定功能的SQL語句集合,經編譯後儲存在資料庫中,使用者通過指定預存程序的名稱並給出參數來執行。 預存程序中可以包含邏輯控制語句和資料操縱語句,它可以接受參數、
Time of Update: 2015-09-30
標籤:資料庫遷移之後,在新的SQL Server用戶端工具設定關聯時,往往會報錯:使用者、組或角色 ‘XXX‘ 在當前資料庫中已存在。 解決方案:首先介紹一下sql server中“登入”與“使用者”的區別,“登入”用於使用者身分識別驗證,而資料庫“使用者”帳戶用於資料庫訪問和許可權驗證。登入通過安全識別符 (SID)
Time of Update: 2015-09-26
標籤:最近接手一起老項目資料庫 SQL Server 到 MySQL 的遷移。因此遷移前進行了一些調查和總結。下面是一些 SQL Server 到 MySQL 的遷移方法。1. 使用 SQLyog 遷移具體方法可以參加:http://www.cnblogs.com/gaizai/p/3237907.html優點:該遷移方法很簡單,靈活,遷移時,可以進列欄位的修改,比如在sql
Time of Update: 2015-09-29
標籤:sqlserver管理第1章 基本管理1.1安全和許可權1、登入名稱 登入資料庫執行個體。僅僅是能登入資料庫執行個體,但登入不一定能訪問資料庫。一個合法的登入帳號只表明該帳號通過了NT認證或SQL認證,但不能表明其可以對數所庫資料或對象進行某些操作。所以一個登入帳號總是與一個或多個資料庫使用者帳號相對應的。這樣才可以訪問資料庫。 如:sa登 錄帳號,就與每一個數所庫使用者dbo相關聯。 2
Time of Update: 2015-09-23
標籤:SQL Server相關書籍 SQLServer2012實施與管理實戰指南 SQL Server 2008學習筆記:日常維護、深入管理、效能最佳化 SQL Server 2008 R2資料採礦與商業智慧基礎及進階案例實戰 SQL Server 2012 深入解析與效能最佳化(第3版) SQLServer2012IntegrationServices進階教程(第2版) SQL Server 200
Time of Update: 2015-09-23
標籤:今天剛裝完sql2008 r2,準備遠端連線的時候(版本2008 R2),發生了如下錯誤。之後查看各種服務以及協議是否開啟。 以下為服務狀態協議狀態該開啟的服務、協議全部都開啟了,但是還是有這個問題。通過查閱資料、搜尋,發現問題是出在tcp/ip服務下 連接埠號碼竟然是一個5位的數字。將其改為1433之後,重啟服務即可正常串連。 Sqlserver關於遠端連線資料庫的錯誤解決辦法
Time of Update: 2015-09-23
標籤:SQL Server 2005、2008 的 datetime最小值是:1753-01-01 00:00:00最大值是:9999-12-31 23:59:59.997這與 .NET 中的 DateTime.MinValue、DateTime.MaxValue 不匹配,與 System.Data.SqlTypes.SqlDateTime.MinValue、System.Data.SqlTypes.SqlDateTime.MaxValue 匹配。其實 .NET 與 SQL Server
Time of Update: 2015-09-23
標籤:文法 sp_addextendedproperty [ @name = ] { ‘property_name‘ } [ , [ @value = ] { ‘value‘ } [ , [ @level0type = ] { ‘level0_object_type‘ } , [ @level0name = ] { ‘level0_object_name‘ } [ , [ @level1
Time of Update: 2015-09-23
標籤:SELECT TOP 1000o.name AS 表名, i.name AS 索引名, i.index_id AS 索引id, dm_ius.user_seeks AS 搜尋次數, dm_ius.user_scans AS 掃描次數, dm_ius.user_lookups AS 尋找次數, dm_ius.user_updates AS 更新次數, p.TableRows as 表行數, ‘DROP INDEX ‘ + QUOTENAME(i.name)+ ‘ ON ‘ +
Time of Update: 2015-09-20
標籤:問:如何複製其它表的結構到一指定的表中去,比如以下的例子: 有如下三個表: 表A:欄位1, 欄位2, 欄位3 表B:欄位1, 欄位2, 欄位3 表C:欄位1, 欄位2,
Time of Update: 2015-09-22
標籤:RT,執行失敗了,總是只提示一句“以xxxx使用者身份執行失敗”,很難找原因。引用 http://bbs.csdn.net/topics/300059148Sql2005如何用dtexec運行ssis(DTS)包一、首先在Business Intelligence中設計好包,並調試通過。 二、選用dtexec工具運行包 (一) 開啟 xp_cmdshell 選項 SQL Server 20
Time of Update: 2015-09-18
標籤:觸發器屬於特殊的預存程序,運行在資料庫,但是不能通過調用名稱調用觸發器,觸發器是自動響應的。觸發器也是一種事務,出錯復原。觸發器分為DDL觸發器和DML觸發器1:觸發對象不同: DML觸發器屬於表或者視圖;DDL觸發器屬於資料庫或伺服器。2:觸發模式不同: DML 觸發程序在 Insert、Update 和 Delete 語句上操作,可以作為After 觸發器 和 Instead Of 觸發器。
Time of Update: 2015-09-19
標籤:測試環境 :主機: 資料庫sql server08 r2 系統windows server 2008 r2 IP192.168.1.202 叢機:資料庫sql server12 系統windows 10 IP192.168.1.100 實現步驟:1,首先在主從機上添加使用者sqladmin,密碼*****
Time of Update: 2015-09-17
標籤:sql server 類比數組--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
Time of Update: 2015-09-19
標籤:CREATE TABLE test( id int primary key not null identity, names varchar(20));declare @i int;set @i=1;while(@i<1000)begin insert into test values(‘t‘+cast(@i as varchar(8))); select @i=@i+1;end--方法1select top 10 *from testwhere id not in( -
Time of Update: 2015-09-18
標籤:SELECT avg_user_impact AS average_improvement_percentage, avg_total_user_cost AS average_cost_of_query_without_missing_index, ‘CREATE INDEX ix_‘ + [statement] + ISNULL(equality_columns, ‘_‘) + ISNULL(inequality_columns, ‘_‘) + ‘ ON ‘ +