sql2005資料庫還原

2021-09-30 08:28:17 字數 1257 閱讀 3110

需要注意的問題

a. 兩類特殊的資料型別

- 日期和時間型別的資料儲存方式和可用值範圍、相關的計算、比較、顯示**換為指定格式的字串)都比較複雜,還涉及一組日期時間函式。參看datetime型別分析一帖。

- 字串型別涉及到字元編碼和排序規則,比較操作還包含like匹配(未來還可能會支援正規表示式匹配),非常需要注意。參看理解字元編碼和sqlserver中文處理二帖。

b. 如果對不同排序規則的兩個字串進行計算或比較,將會根據排序規則優先順序來決定計算結果的排序規則或比較的方法。

c. 如果對不同型別的兩個值進行計算或比較,將會根據資料型別優先順序進行隱式轉換。資料型別優先順序基本規則如下:

- 大 > 小(>指優先順序高於,下同):如bigint > int > smallint > tinyint > bit,varchar(20) > varchar(10),datetime > smalldatetime,等等。

- 可變 > 固定:如float > decimal,varchar > char,nvarchar > nchar,varbinary > binary。

- 各型別大類的優先順序:datetime > float > decimal > integer > unicode string > ansi string > binary。

- 特殊資料型別的優先順序和轉換規則需要特殊考慮,詳見聯機叢書。

d. 如果對不同大小的兩個值進行計算,將會根據精度、小數字數和長度的規則來產生新的型別大小。

e.常量的資料型別(可以通過select col = 常量值 into testdt然後檢視testdt表col欄位的資料型別來觀察)

- 如果不顯式指定和隱式轉換,null會按int型別處理。

- '', n'', 1, 0x01, 1.0, 1e0, $1分別對應varchar, nvarchar, int, varbinary, decimal, float, money型別,並且長度是儲存相應值所需要的最小長度。

f. 在軟體開發領域眾所周知:「隱式轉換是bug的源泉」。因此,有兩個建議:

- 使用常量時,最好使用對應型別的常量。比如,如果table.col是varchar型別,那麼where table.col = 10的查詢將不能使用索引,而且當遇到col中存放有不能轉換為數字的值時將出錯。

- 除非相應值的隱式轉換非常直觀,否則寧可用cast()/convert()指定明確的顯式轉換。

sql2005資料庫備份與還原

現在我把相關 寫在這兒,以備以後再用 資料庫備份的儲存過程 set ansi nulls on set quoted identifier ongo create procedure dbo databaseback backid uniqueidentifier,strpath nvarchar ...

sql2005資料庫備份與還原

現在我把相關 寫在這兒,以備以後再用 資料庫備份的儲存過程 set ansi nulls on set quoted identifier on gocreate procedure dbo databaseback backid uniqueidentifier,strpath nvarchar ...

SQL2005還原資料庫3154錯誤

還原資料庫時,出現類似上面的錯誤,嘗試過覆蓋原資料庫還不行的時候,可以使用以下方法 直接右擊系統資料庫master,新建查詢 執行以下sql restore database his from disk e rdhl檔案 his相關文件 資料庫備份 biaozhun.bak with replace...