1. 程式人生 > >SQL SERVER 2010 安裝使用技巧(更新帖)

SQL SERVER 2010 安裝使用技巧(更新帖)

問題一:
已成功與伺服器建立連線 但是在登入過程中發生錯誤。 provider 共享記憶體提供程式 error 0 管道的另一端上無任何程序。 .

解決一:

首先,選中伺服器(右鍵)->屬性 ->安全性->伺服器身份驗證修改為"SQL SERVER和WINDOWS身份驗證模式"。
其次,展開伺服器上的"安全性"->登陸名->選中SA登陸帳號(右鍵)->狀態->登陸修改為啟用 。
最後,開啟‘程式’-‘所有程式’-‘Microsoft SQL Server 20XX ’-‘配置工具’-‘SQL Server 配置管理器’,在彈出的窗體中,找到‘SQL Server 20XX 網路配置’,把‘MSSQLSERVER的協議’下的“Named Pipes”和“TCP/IP”啟動,然後重新啟動Microsoft SQL Server 20XX。

問題二:
sql server 附加資料庫錯誤:嘗試開啟或建立物理檔案。

解決二:
1 所有有程式-SQL Server 20XX-配置工具-"SQL Server Configuration Manager",點選"SQL Server 20XX 服務",右邊會顯示出使用者,右擊你的使用者(如sa)屬性,內建帳戶選擇"Local System",點選重新啟動就OK了
2 附加後發現數據庫屬性為只讀 解決方法為:
1)、開啟 開始→程式→Microsoft SQL Server 20XX→配置工具→SQL Server 配置管理器, 開啟SQL Server SQLEXPRESS 的屬性.在內建帳號處,把“網路服務”改成“本地系統”,重新啟動SQL Server 20XX Express 後,再附加資料庫一切正常。
2)、開啟SqlServer 20XX ,在只讀的資料庫上右擊選擇屬性,選中屬性視窗左邊"選擇頁"下面的"選項",在視窗右邊將“資料庫為只讀”改為false ,點選確定即可。
總結:之所以附加上的資料庫為“只讀”,是因為啟動SQL Server 的預設的啟動帳號“網路服務”對所附加(Attach)的資料庫檔案的許可權不夠造成的。

問題三:

在做專案中,使用了float型別來定義一些列,如:Price,但是發現了很多問題
1、當值的位數大於6位是float型再轉varchar型的時候會變為科學技術法顯示
    此時只好將float型轉換成numeric型,再轉換成varchar
2、float型變數在存入值時,有時值得大小會發生改變。這個現象發生在對報價儲存時,如:儲存一個3.8,但到了資料庫中變成了3.80001124或3.79998999等

解決三:
在SqlServer的幫助中是這樣描述float型別的:用於表示浮點數字資料的近似數字資料型別。浮點資料為近似值;並非資料類型範圍內的所有資料都能精確地表示。
所以今後這個型別一定要慎用。

decimal 資料型別最多可儲存 38 個數字,所有數字都能夠放到小數點的右邊。decimal 資料型別儲存了一個確定的數字表達法;沒有儲存值的近似值。

定義 decimal 的列、變數和引數的兩種特性如下: p 指定精度或物件能夠控制的數字個數。s 指定可放到小數點右邊的小數位數或數字個數。p 和 s 必須遵守以下規則:0 <= s <= p <= 38。

numeric 和 decimal 資料型別的預設最大精度值是 38。在 Transact-SQL 中,numeric 與 decimal 資料型別在功能上等效。

float 和 real 資料型別被稱為近似的資料型別。在近似數字資料型別方面,float 和 real 資料的使用遵循 IEEE 754 標準。

近似數字資料型別並不儲存為多數數字指定的精確值,它們只儲存這些值的最近似值。在很多應用程式中,指定值與儲存值之間的微小差異並不明顯。但有時這些差異也值得引起注意。由於 float 和 real 資料型別的這種近似性,當要求精確的數字狀態時,比如在財務應用程式中,在那些需要舍入的操作中,或在等值核對的操作中,就不使用這些資料型別。這時就要用 integer、decimal、money 或 smallmone 資料型別。