『壹』 sql Server安裝失敗報告兩個方面的
SQL2005的安裝問題匯總
SQL2005 分五個版本,如下所列,
1.Enterprise(企業版),
2.Development(開發版),
3.Workgroup,(工作群版)
4.Standard,(標准版)
5.Express.(嗯,估且就叫它簡易版吧)
這幾個版本,我們究竟應該使用哪一版呢﹖
這是許多初學SQL2005的人最常問的問題。
我簡單的比較一下 Enterprise, Development 和 Express 等三個版本:以功能言,Enterprise 版和 Development 版的功能一模一樣。兩者的差別,除了授權不同外,最主要的差別是:
Enterprise版的資料庫引擎只能安裝在Win2003Server(或其他Server)。
如果你想安裝在WindowsXP Pro系統上,你應該安裝SQL2005Development版(開發版)。
注:有人問,什麼是「資料庫引擎」。嗯,資料庫引擎是SQL2005的核心,是最主要的資料庫管理功能模塊。沒有它,就不是資料庫管理系統了。
很多人下載 SQL2005Express版,因為它是免費的,可以直接從微軟網站上下載。但是,它除了支持的內存比較少外,最主要的是
它缺少相當於SQL2000下的「企業管理器」和「查詢分析器」。
注:SQL2000下的「企業管理器」和「查詢分析器」在SQL2005已合為一,稱為 Management Studio。
因此,如果你是初學者,如果你只是想要在家裡學習學習,如果你的環境是 WindowsXP Pro,那麼,你應該選擇的是 SQL2005Development(開發版),而不是SQL2005Enterprise(企業版)或SQL2005Express(簡易版)。
SQL2005 入門者,你選擇正確了嗎﹖ 我就是從「 Microsoft.SQL.Server.2005.Enterprise.Edition.DVD-ZWTiSO,請大家下載加速 "
上下載的,說明文件里顯示是"標准版和企業版",但是我在安裝的時候顯示不能滿足最低的硬體要求(我的機器的配置:server2003企業版 AMD2800+,512M DDR400內存,系統盤有16G的空閑空間),在組件選擇框里,只能看見native client和安裝sample 資料庫,這究竟是什麼原因?2005的硬體要求真的那麼高嗎? 或者說這到底影響安裝和使用嗎?
在我不改變硬體的情況下怎麼解決上面的問題啊應該是滿足硬體要求的,看安裝時的提示是什麼吧2005資料庫安裝心得
我的環境是xp sp2 EN,SQL 2005 Dev版,內存512MB。
首先,我的系統已經使用半年多了,裝有VS2003,以前還裝過SQL2000,netFramework2.0beta,還有好幾個beta版的SQL 2005,可謂十分「骯臟」了,呵呵。最早的時候我下過一個2005EE版,怎麼也安裝不上,後來發現原來是EE不支持xp =_= ,然後就下了DE版的。
剛開始安裝的時候嚇了我一跳,丫的居然要佔用我C盤1300多MB!!忍了。(我是把SQL裝在F盤的,但是居然還需要C盤1300多MB)。但是卻安裝失敗,看了一下安裝日誌,天書,不明白。只知道是native client幾個組件安裝不成功。重復多次問題依舊。
研究安裝包之後,發現裡面有兩個主要的文件夾,是server和tools。顧名思義,server裡面肯定是服務的安裝文件了,而tools裡面應該是那些工具組件的安裝文件。進入tools裡面,果然有個setup,運行之,竟然安裝成功了,而且只佔了我C盤200多MB,好興奮(沒有選擇BI,就是那個商業智能組件,太大了)。然後重啟電腦(不是必須的,只是一次setup之後系統慢的不行了),進入server目錄下面,當然也有一個setup啦,運行之,呵呵,果然是安裝服務用的啊。這次也順利安裝成功了。再去看C盤,哈哈,一共只用了我300多MB,竟然節省了1GB。
當然了,其實一起安裝的話,也不一定會用完1300MB的空間的,因為安裝結束之後還會自動刪除一些垃圾文件的。但是不管怎麼說,至少讓我能正常安裝了。我的C盤只有1400的空閑空間了,不知道起初安裝失敗是不是跟這有關系。
至此,SQL 2005已經成功的在我電腦上安家了。安裝的時候,如果你的電腦和我的一樣是內存不足(小於1GB),性能也不足夠大(我的CPU是centrio 1.3G,呵呵,裝在本本上了),建議在安裝的時候把系統開始是需要運行的服務全都不選擇,用的時候再手動運行好了。
運行Management Studio,嗯,速度還挺快的呢。連接伺服器,竟然沒有localhost,呵呵,打開server configuration manager,把右邊那個MSSQLSERVER運行起來。ok,這次沒有問題了。
使用一切正常,就是發現從sql2000裡面備份出來的資料庫在2005下只能通過sql語句修改數據,而不能所見及所得的修改,不知道怎麼回事。
btw:後來又把商業智能組件裝上了,只用了C盤150MB,開心。SQL2005安裝過程提示com+目錄問題警告處理
安裝sql2005一直失敗,以為提示的問題是這個com+目錄問題警告所致,找了很久找到這個問題的解決方案
sql2005_STD_X86在XPSP2下安裝失敗的一點經驗
軟環境是XPSP2,安裝SQL2005_STD_X86版。
故障提示:
1。如果 SQL Server 安裝程序失敗,安裝程序將回滾所安裝的系統,但可能不會刪除所有 .manifest 文件。解決方法是重命名這些文件,然後重新運行安裝程序。有關詳細信息,請參閱「如何處理 SQL Server 安裝過程中的 COM+ 檢查失敗問題」。如果未運行 Microsoft 分布式事務處理協調器 (MS DTC),或者,在使用 Microsoft 群集伺服器的情況下,如果 MS DTC 不是群集資源,則可能會發生 COM+ 錯誤。COM+ 依賴於 MS DTC,而 Integration Services 中的消息隊列任務依賴於 COM +。如果出現 COM+ 錯誤,則只有將 COM+ 系統正確配置後,Integration Services 中的消息隊列任務才可用。
2。對性能監視器計數器注冊表值執行系統配置檢查失敗。有關詳細信息,請參閱自述文件或 SQL Server 聯機叢書中的「如何在 SQL Server 2005 中為安裝程序增加計數器注冊表項值」。
安裝中止。
查找聯機叢書,有如下提示:
1。Microsoft SQL Server 2005 安裝程序檢查 COM+ 是否已正確配置。如果發現配置錯誤,安裝程序仍將繼續,但是在系統配置檢查 (SCC) 報告中顯示以下警告:
「如果 SQL Server 安裝程序失敗,安裝程序將回滾所進行的安裝,但可能不會刪除所有的 .manifest 文件。解決方法是重命名這些文件,然後重新運行安裝程序。」
如果未運行 Microsoft 分布式事務處理協調器 (MS DTC),或者,在使用 Microsoft 群集伺服器的情況下,如果 MS DTC 不是群集資源,則可能會發生 COM+ 錯誤。COM+ 依賴於 MS DTC,而 Integration Services 中的消息隊列任務依賴於 COM +。如果出現 COM+ 錯誤,則只有將 COM+ 系統正確配置後,Integration Services 中的消息隊列任務才可用。
若要使用消息隊列(亦稱 MSMQ),請確保 MS DTC 正在運行並且已正確配置。如果 SQL Server 安裝在群集上,則 MS DTC 必須是群集資源。
按照下列過程重新安裝 COM+。
安裝組件服務管理單元
在 Windows 桌面上,單擊「開始」,然後單擊「運行」。
在「打開」框中,鍵入 MMC,然後單擊「確定」。
在「控制台」窗口中,單擊菜單欄上的「文件」,然後單擊「添加/刪除管理單元」。
在「添加/刪除管理單元」窗口,單擊「添加」。
在「添加獨立管理單元」窗口,從管理單元列表中選擇「組件服務」,然後單擊「添加」。
單擊「關閉」以關閉「添加獨立管理單元」窗口,然後單擊「確定」以關閉「添加/刪除管理單元」窗口。
在「控制台根節點\組件服務」窗口,展開「組件服務」樹。這就是當 COM+ 出現問題時,錯誤消息可能發生的地方。
再次運行 SQL Server 2005 安裝程序。如果收到錯誤消息,請重新安裝 COM+。
重新安裝 COM+
從控制面板的「添加或刪除程序」中,單擊「添加/刪除 Windows 組件」。
在「Windows 組件向導」中,不對選擇做任何更改,單擊「下一步」。
一直單擊以完成向導,然後再次運行 SQL Server 2005 安裝程序。
2。在 SQL Server 安裝開始前,Microsoft SQL Server 安裝程序中的安裝配置檢查器 (SCC) 會驗證計數器注冊表項的值。如果 SCC 無法驗證現有的注冊表項,或 SCC 無法運行 lodctr.exe 系統程序,則 SCC 檢查會失敗,致使安裝受阻。
錯誤編輯注冊表會嚴重損壞您的系統。更改注冊表項之前,建議您備份計算機中的所有重要數據。
手動設置計數器注冊表項的增量
在 Microsoft Windows 2003 或 Windows XP 桌面上,依次單擊「開始」、「運行」,然後在「打開」中鍵入 regedit.exe,再單擊「確定」。在 Windows 2000 中,使用 regedt32.exe 啟動注冊表編輯器。
定位到以下注冊表項:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Last Counter"=dword:00000ed4 (5276)
"LastHelp"=dword:00000ed5 (5277)
上一步的「Last Counter」值 (5276) 必須與以下注冊表項中「Perflib\009」的「Counter」項的最大值匹配,並且上一步的「Last Help」值 (5277) 必須與以下注冊表項中「Perflib\009」的「Help」項的最大值匹配。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]
注意 009 是英文中的一個示例。「Last Counter」和「Last Help」值是由 Windows 動態分配的;這兩個值會因計算機的不同而不同。
如有必要,可修改「\Perflib」項中的「Last Counter」和「Last Help」值的值:在右側窗格中,右鍵單擊「Last Counter」或「Last Help」,單擊「修改」,再單擊「Base = "Decimal"」,在「值數據」中設置值,再單擊「確定」。如有必要,對另一個項重復以上過程,然後關閉注冊表編輯器。
再次運行 SQL Server 安裝程序。
解決過程:
COM+檢查失敗不用說肯定是組件消息隊列下的組件沒安裝或服務沒啟動。本機沒有安裝過消息隊列,找出系統盤安裝消息隊列組件,在組件安裝中提示MSDTC服務沒有啟動,在這步暈了長很時間,MSTDC在服務中怎麼也找不到,後來想會不會是DTC(腦子有點笨,其實從MSMQ這名稱上就應該想到),一看果然有Distributed Transaction Coordinator(DTC),但是這個服務啟動不了,後來查找相關資料:MSDTC( Distributed Transaction Coordinator )服務必須在 NT AUTHORITY\NetworkService 帳戶下運行;即使是 NT AUTHORITY\Network Service(注意,Network和Service中間有空格)也不行(至於這兩個帳戶的區別,在網上也沒有找到,還望大家不吝賜教 )。如果登錄帳戶被更改,MSDTC服務會繼續運行,但是在執行的時候可能會出錯。而且,在事件日誌的「應用程序」裡面可以發現如下的出錯信息:
正在運行 MS DTC 服務的帳戶無效。 如果使用 Microsoft Management Console (MMC) 中的「服務」管理單元更改了服務帳戶信息,就會發生這種情況。 MS DTC 服務將繼續啟動。請確認使用「組件服務管理器」更新了 MS DTC 服務帳戶信息。
要更改成正確的登錄帳戶,我們可以:
在服務中找到Distributed Transaction Coordinator服務,選擇「屬性」;
在「登錄」選項卡中,選擇「此帳戶」,帳戶名填寫「NT AUTHORITY\NetworkService」,密碼為空;
在點擊「確定」後重新啟動服務。
或者,在命令行下運行 msdtc -uninstall ,卸載 msdtc 服務;
再運行 msdtc -install ,安裝 msdtc 服務。
MSTDC服務成功啟動,組件服務中「COM+應用程序」可以訪問,上面第2項故障沒去解決,先試著安裝看看有沒有錯誤,令人驚喜,安裝檢查一切順利,第2項錯誤同時也解決了。
當然,解決問題的過程同樣的系統環境也不盡相同,在這里談一下我安裝的小挫折,希望可以給碰到相同問題的朋友有些提示作用。sql2005安裝過程owc11錯誤處理
最近安裝了很久的sql2005,過程中間出現很多問題,之前的com+目錄警告是一個部分,處理過之後還是發現一直無法安裝成功,(為此我安裝了10+)次才解決問題
在安裝過程中發現以下錯誤
Proct : OWC11
Error : 錯誤 1706。安裝程序找不到需要的文件。請檢查網路連接或 CD-ROM 驅動器狀態。對於這個問題的其他可能的解決方案,請參閱 C:\Program Files\Microsoft Office\OFFICE11\2052\SETUP.CHM。
--------------------------------------------------------------------------------
發現自己的ocw11沒有安裝導致伺服器的有關組件全部無法安裝,每次都是安裝失敗,
在microsoft ocw11下載地址
找到microsoft的ocw11,選擇簡體中文後下載安裝後發現還是出現相同的問題,
把下載下來的ocw11解壓縮後觀察該ocw11.xml,發現sql 2005的server的setup目錄下面有相同文件名文件,再次逐次對比發現該ocw11裡面的文件包裡面的文件對應的setup裡面全部都有,不過發現2個chm的後綴不同,一個是10XX,一個是2052,呵呵,原來是版本不同
直接運行setup目錄下面的setup,選擇修復或全新安裝全部提示錯誤的文件源,再次觀察,把setup目錄下面對應的的ocw11文件全部拷貝到硬碟上面,再次運行修復成功,之後安裝sql2005終於一路成功,困擾了我2天的問題終於解決,特此把本文於全體學習sql2005的朋友分享,希望大家少走彎路.一起交流sql的有關功能
『貳』 SQLSERVER 中有沒有和MySQL LAST_INSERT_ID()函數等價的函數
Transact-SQL 參考
IDENTITY(屬性)
在表中創建一個標識列。該屬性與 CREATE TABLE 及 ALTER TABLE Transact-SQL 語句一起使用。
說明 IDENTITY 屬性與 SQL-DMO Identity 屬性不同,後者表現列的行標識屬性。
語法
IDENTITY [ ( seed , increment ) ]
參數
seed
裝載到表中的第一個行所使用的值。
increment
增量值,該值被添加到前一個已裝載的行的標識值上。
必須同時指定種子和增量,或者二者都不指定。如果二者都未指定,則取默認值 (1,1)。
注釋
如果在經常進行刪除操作的表中存在著標識列,那麼在標識值之間可能會產生差距。如果這構成了問題,那麼請不要使用 IDENTITY 屬性。但是,為了確保未產生差距,或者為了彌補現有的差距,在用 SET IDENTITY_INSERT ON 顯式地輸入標識值之前,請先對現有的標識值進行計算。
如果重新使用已刪除的標識值,那麼請使用示例 B 中的示例代碼進行檢查,以獲得下一個可用的標識值。請用您的表名、標識列數據類型以及(該數據類型的)最大可允許值的數值 –1 替換 tablename、column_type 和 max(column_type) – 1。
使用 DBCC CHECKIDENT 檢查當前的標識值,並將其與標識列中的最大值進行比較。
當將 IDENTITY 屬性與 CREATE TABLE 一起使用時,Microsoft® SQL Server™ 使用 CREATE TABLE 的 NOT FOR REPLICATION 選項替代標識列的自動增加。通常,SQL Server 給插入表中的每個新行指派一個值,該值比前面的最高值要大出某些增量。但是,如果新行是由另一個數據源復制過來的,那麼標識值必須保持與其在數據源中完全相同。
示例
A. 將 IDENTITY 屬性與 CREATE TABLE 一起使用
下面的示例創建一個新表,該表將 IDENTITY 屬性用於獲得自動增加的標識號。
USE pubs
IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'new_employees')
DROP TABLE new_employees
GO
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
)
『叄』 sqlserver 查詢結果列組成字元串
Select L.lastid,f.firstid,(Select 姓名+':'+電話+',' from [last] where firstid=f.firstid For XML Path(''))
from [first] F left join [last] L
on F.firstid=L.firstid Group by L.lastid,f.firstid
『肆』 SQLSERVER伺服器中,給定表 table1 中有兩個欄位 ID、LastUpdateDate,ID表示更新的事務號, LastUpdateDa
Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)
『伍』 sql 查詢最後一條記錄
嗯,是的 ,Last() \ LastOrDefault() 這些是 Linq To Object 的一部分,也就是說就是對實現了IEnumerableT ;IEnumerable 介面的集合有效。但是 Linq To SQL 沒有對這個進行轉換;
你可以這樣:
int lastId = db.PositionTbl.AsEnumerable().Last().PositionID;
這樣就可以得到了。
『陸』 SQLSERVER伺服器中,給定表 table1 中有兩個欄位 ID、LastUpdateDate,ID表示更新的事務號,
結果是一樣的,可是執行的效率肯定不一樣。
看看語法,分析一下,第一個語句,是先從table1做一個全表的比較得到最大的日期,然後再用日期做匹配得到記錄。而第二個直接一個全表的排序就查到了,看查詢的次數來說,第二個要少一次,效率肯定要高。
還有,會不會存在lastupdatedate相同的記錄呢?如果存在的話,第一個查詢結果顯示出來的記錄不是一行,而第二個肯定值查詢到一行記錄。
『柒』 如何查詢SQL Server備份還原歷史記錄
查詢SQL Server備份歷史
SELECT
CONVERT(CHAR(100),SERVERPROPERTY('Servername'))ASServer,
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_start_date,
msdb.dbo.backupset.backup_finish_date,
msdb.dbo.backupset.expiration_date,
CASE msdb..backupset.type
WHEN 'D' THEN 'Database'
WHEN 'L' THEN 'Log'
END ASbackup_type,
msdb.dbo.backupset.backup_size,
msdb.dbo.backupmediafamily.logical_device_name,
msdb.dbo.backupmediafamily.physical_device_name,
msdb.dbo.backupset.nameASbackupset_name,
msdb.dbo.backupset.description
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupsetONmsdb.dbo.backupmediafamily.media_set_id=msdb.dbo.backupset.media_set_id
ORDER BY
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_finish_date
-----查詢SQLServer還原歷史
select bus.server_nameas'server',rh.restore_date,bus.database_nameas'database',
CAST(bus.first_lsnASVARCHAR(50))asLSN_First,
CAST(bus.last_lsnASVARCHAR(50))asLSN_Last,
CASE rh.[restore_type]
WHEN 'D'THEN'Database'
WHEN 'F'THEN'File'
WHEN 'G'THEN'Filegroup'
WHEN 'I'THEN'Differential'
WHEN 'L'THEN'Log'
WHEN 'V'THEN'Verifyonly'
END ASrhType
FROM msdb.dbo.backupsetbus
INNER JOINmsdb.dbo.restorehistoryrhON rh.backup_set_id=bus.backup_set_id
『捌』 sql server 連不上伺服器
SQL2005 分五個版本,如下所列,
1.Enterprise(企業版),
2.Development(開發版),
3.Workgroup,(工作群版)
4.Standard,(標准版)
5.Express.(嗯,估且就叫它簡易版吧)
這幾個版本,我們究竟應該使用哪一版呢?
這是許多初學SQL2005地人最常問地問題.
我簡單地比較一下 Enterprise, Development 和 Express 等三個版本:以功能言,Enterprise 版和 Development 版地功能一模一樣.兩者地差別,除了授權不同外,最主要地差別是:
Enterprise版地資料庫引擎只能安裝在Win2003Server(或其他Server).
如果你想安裝在WindowsXP Pro系統上,你應該安裝SQL2005Development版(開發版).
注:有人問,什麼是「資料庫引擎」.嗯,資料庫引擎是SQL2005地核心,是最主要地資料庫管理功能模塊.沒有它,就不是資料庫管理系統了.
很多人下載 SQL2005Express版,因為它是免費地,可以直接從微軟網站上下載.但是,它除了支持地內存比較少外,最主要地是
它缺少相當於SQL2000下地「企業管理器」和「查詢分析器」.
注:SQL2000下地「企業管理器」和「查詢分析器」在SQL2005已合為一,稱為 Management Studio.
因此,如果你是初學者,如果你只是想要在家裡學習學習,如果你地環境是 WindowsXP Pro,那麼,你應該選擇地是 SQL2005Development(開發版),而不是SQL2005Enterprise(企業版)或SQL2005Express(簡易版).
SQL2005 入門者,你選擇正確了嗎?
我就是從「 Microsoft.SQL.Server.2005.Enterprise.Edition.DVD-ZWTiSO,請大家下載加速 "
上下載地,說明文件里顯示是"標准版和企業版",但是我在安裝地時候顯示不能滿足最低地硬體要求(我地機器地配置:server2003企業版 AMD2800+,512M DDR400內存,系統盤有16G地空閑空間),在組件選擇框里,只能看見native client和安裝sample 資料庫,這究竟是什麼原因?2005地硬體要求真地那麼高嗎? 或者說這到底影響安裝和使用嗎?
在我不改變硬體地情況下怎麼解決上面地問題啊
應該是滿足硬體要求地,看安裝時地提示是什麼吧
2005資料庫安裝心得
我地環境是xp sp2 EN,SQL 2005 Dev版,內存512MB.
首先,我地系統已經使用半年多了,裝有VS2003,以前還裝過SQL2000,netFramework2.0beta,還有好幾個beta版地SQL 2005,可謂十分「骯臟」了,呵呵.最早地時候我下過一個2005EE版,怎麼也安裝不上,後來發現原來是EE不支持xp =_= ,然後就下了DE版地.
剛開始安裝地時候嚇了我一跳,丫地居然要佔用我C盤1300多MB!!忍了.(我是把SQL裝在F盤地,但是居然還需要C盤1300多MB).但是卻安裝失敗,看了一下安裝日誌,天書,不明白.只知道是native client幾個組件安裝不成功.重復多次問題依舊.
研究安裝包之後,發現裡面有兩個主要地文件夾,是server和tools.顧名思義,server裡面肯定是服務地安裝文件了,而tools裡面應該是那些工具組件地安裝文件.進入tools裡面,果然有個setup,運行之,竟然安裝成功了,而且只佔了我C盤200多MB,好興奮(沒有選擇BI,就是那個商業智能組件,太大了).然後重啟電腦(不是必須地,只是一次setup之後系統慢地不行了),進入server目錄下面,當然也有一個setup啦,運行之,呵呵,果然是安裝服務用地啊.這次也順利安裝成功了.再去看C盤,哈哈,一共只用了我300多MB,竟然節省了1GB.
當然了,其實一起安裝地話,也不一定會用完1300MB地空間地,因為安裝結束之後還會自動刪除一些垃圾文件地.但是不管怎麼說,至少讓我能正常安裝了.我地C盤只有1400地空閑空間了,不知道起初安裝失敗是不是跟這有關系.
至此,SQL 2005已經成功地在我電腦上安家了.安裝地時候,如果你地電腦和我地一樣是內存不足(小於1GB),性能也不足夠大(我地CPU是centrio 1.3G,呵呵,裝在本本上了),建議在安裝地時候把系統開始是需要運行地服務全都不選擇,用地時候再手動運行好了.
運行Management Studio,嗯,速度還挺快地呢.連接伺服器,竟然沒有localhost,呵呵,打開server configuration manager,把右邊那個MSSQLSERVER運行起來.ok,這次沒有問題了.
使用一切正常,就是發現從sql2000裡面備份出來地資料庫在2005下只能通過sql語句修改數據,而不能所見及所得地修改,不知道怎麼回事.
btw:後來又把商業智能組件裝上了,只用了C盤150MB,開心.
SQL2005安裝過程提示com+目錄問題警告處理
安裝sql2005一直失敗,以為提示地問題是這個com+目錄問題警告所致,找了很久找到這個問題地解決方案
sql2005_STD_X86在XPSP2下安裝失敗地一點經驗
軟環境是XPSP2,安裝SQL2005_STD_X86版.
故障提示:
1.如果 SQL Server 安裝程序失敗,安裝程序將回滾所安裝地系統,但可能不會刪除所有 .manifest 文件.解決方法是重命名這些文件,然後重新運行安裝程序.有關詳細信息,請參閱「如何處理 SQL Server 安裝過程中地 COM+ 檢查失敗問題」.如果未運行 Microsoft 分布式事務處理協調器 (MS DTC),或者,在使用 Microsoft 群集伺服器地情況下,如果 MS DTC 不是群集資源,則可能會發生 COM+ 錯誤.COM+ 依賴於 MS DTC,而 Integration Services 中地消息隊列任務依賴於 COM +.如果出現 COM+ 錯誤,則只有將 COM+ 系統正確配置後,Integration Services 中地消息隊列任務才可用.
2.對性能監視器計數器注冊表值執行系統配置檢查失敗.有關詳細信息,請參閱自述文件或 SQL Server 聯機叢書中地「如何在 SQL Server 2005 中為安裝程序增加計數器注冊表項值」.
安裝中止.
查找聯機叢書,有如下提示:
1.Microsoft SQL Server 2005 安裝程序檢查 COM+ 是否已正確配置.如果發現配置錯誤,安裝程序仍將繼續,但是在系統配置檢查 (SCC) 報告中顯示以下警告:
「如果 SQL Server 安裝程序失敗,安裝程序將回滾所進行地安裝,但可能不會刪除所有地 .manifest 文件.解決方法是重命名這些文件,然後重新運行安裝程序.」
如果未運行 Microsoft 分布式事務處理協調器 (MS DTC),或者,在使用 Microsoft 群集伺服器地情況下,如果 MS DTC 不是群集資源,則可能會發生 COM+ 錯誤.COM+ 依賴於 MS DTC,而 Integration Services 中地消息隊列任務依賴於 COM +.如果出現 COM+ 錯誤,則只有將 COM+ 系統正確配置後,Integration Services 中地消息隊列任務才可用.
若要使用消息隊列(亦稱 MSMQ),請確保 MS DTC 正在運行並且已正確配置.如果 SQL Server 安裝在群集上,則 MS DTC 必須是群集資源.
按照下列過程重新安裝 COM+.
安裝組件服務管理單元
在 Windows 桌面上,單擊「開始」,然後單擊「運行」.
在「打開」框中,鍵入 MMC,然後單擊「確定」.
在「控制台」窗口中,單擊菜單欄上地「文件」,然後單擊「添加/刪除管理單元」.
在「添加/刪除管理單元」窗口,單擊「添加」.
在「添加獨立管理單元」窗口,從管理單元列表中選擇「組件服務」,然後單擊「添加」.
單擊「關閉」以關閉「添加獨立管理單元」窗口,然後單擊「確定」以關閉「添加/刪除管理單元」窗口.
在「控制台根節點\組件服務」窗口,展開「組件服務」樹.這就是當 COM+ 出現問題時,錯誤消息可能發生地地方.
再次運行 SQL Server 2005 安裝程序.如果收到錯誤消息,請重新安裝 COM+.
重新安裝 COM+
從控制面板地「添加或刪除程序」中,單擊「添加/刪除 Windows 組件」.
在「Windows 組件向導」中,不對選擇做任何更改,單擊「下一步」.
一直單擊以完成向導,然後再次運行 SQL Server 2005 安裝程序.
2.在 SQL Server 安裝開始前,Microsoft SQL Server 安裝程序中地安裝配置檢查器 (SCC) 會驗證計數器注冊表項地值.如果 SCC 無法驗證現有地注冊表項,或 SCC 無法運行 lodctr.exe 系統程序,則 SCC 檢查會失敗,致使安裝受阻.
錯誤編輯注冊表會嚴重損壞您地系統.更改注冊表項之前,建議您備份計算機中地所有重要數據.
手動設置計數器注冊表項地增量
在 Microsoft Windows 2003 或 Windows XP 桌面上,依次單擊「開始」、「運行」,然後在「打開」中鍵入 regedit.exe,再單擊「確定」.在 Windows 2000 中,使用 regedt32.exe 啟動注冊表編輯器.
定位到以下注冊表項:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Last Counter"=dword:00000ed4 (5276)
"LastHelp"=dword:00000ed5 (5277)
上一步地「Last Counter」值 (5276) 必須與以下注冊表項中「Perflib\009」地「Counter」項地最大值匹配,並且上一步地「Last Help」值 (5277) 必須與以下注冊表項中「Perflib\009」地「Help」項地最大值匹配.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]
注意 009 是英文中地一個示例.「Last Counter」和「Last Help」值是由 Windows 動態分配地;這兩個值會因計算機地不同而不同.
如有必要,可修改「\Perflib」項中地「Last Counter」和「Last Help」值地值:在右側窗格中,右鍵單擊「Last Counter」或「Last Help」,單擊「修改」,再單擊「Base = "Decimal"」,在「值數據」中設置值,再單擊「確定」.如有必要,對另一個項重復以上過程,然後關閉注冊表編輯器.
再次運行 SQL Server 安裝程序.
解決過程:
COM+檢查失敗不用說肯定是組件消息隊列下地組件沒安裝或服務沒啟動.本機沒有安裝過消息隊列,找出系統盤安裝消息隊列組件,在組件安裝中提示MSDTC服務沒有啟動,在這步暈了長很時間,MSTDC在服務中怎麼也找不到,後來想會不會是DTC(腦子有點笨,其實從MSMQ這名稱上就應該想到),一看果然有Distributed Transaction Coordinator(DTC),但是這個服務啟動不了,後來查找相關資料:MSDTC( Distributed Transaction Coordinator )服務必須在 NT AUTHORITY\NetworkService 帳戶下運行;即使是 NT AUTHORITY\Network Service(注意,Network和Service中間有空格)也不行(至於這兩個帳戶地區別,在網上也沒有找到,還望大家不吝賜教 ).如果登錄帳戶被更改,MSDTC服務會繼續運行,但是在執行地時候可能會出錯.而且,在事件日誌地「應用程序」裡面可以發現如下地出錯信息:
正在運行 MS DTC 服務地帳戶無效. 如果使用 Microsoft Management Console (MMC) 中地「服務」管理單元更改了服務帳戶信息,就會發生這種情況. MS DTC 服務將繼續啟動.請確認使用「組件服務管理器」更新了 MS DTC 服務帳戶信息.
要更改成正確地登錄帳戶,我們可以:
在服務中找到Distributed Transaction Coordinator服務,選擇「屬性」;
在「登錄」選項卡中,選擇「此帳戶」,帳戶名填寫「NT AUTHORITY\NetworkService」,密碼為空;
在點擊「確定」後重新啟動服務.
或者,在命令行下運行 msdtc -uninstall ,卸載 msdtc 服務;
再運行 msdtc -install ,安裝 msdtc 服務.
MSTDC服務成功啟動,組件服務中「COM+應用程序」可以訪問,上面第2項故障沒去解決,先試著安裝看看有沒有錯誤,令人驚喜,安裝檢查一切順利,第2項錯誤同時也解決了.
當然,解決問題地過程同樣地系統環境也不盡相同,在這里談一下我安裝地小挫折,希望可以給碰到相同問題地朋友有些提示作用.
sql2005安裝過程owc11錯誤處理
最近安裝了很久地sql2005,過程中間出現很多問題,之前地com+目錄警告是一個部分,處理過之後還是發現一直無法安裝成功,(為此我安裝了10+)次才解決問題
在安裝過程中發現以下錯誤
Proct : OWC11
Error : 錯誤 1706.安裝程序找不到需要地文件.請檢查網路連接或 CD-ROM 驅動器狀態.對於這個問題地其他可能地解決方案,請參閱 C:\Program Files\Microsoft Office\OFFICE11\2052\SETUP.CHM.
--------------------------------------------------------------------------------
發現自己地ocw11沒有安裝導致伺服器地有關組件全部無法安裝,每次都是安裝失敗,
在microsoft ocw11下載地址
找到microsoft地ocw11,選擇簡體中文後下載安裝後發現還是出現相同地問題,
把下載下來地ocw11解壓縮後觀察該ocw11.xml,發現sql 2005地server地setup目錄下面有相同文件名文件,再次逐次對比發現該ocw11裡面地文件包裡面地文件對應地setup裡面全部都有,不過發現2個chm地後綴不同,一個是10XX,一個是2052,呵呵,原來是版本不同
直接運行setup目錄下面地setup,選擇修復或全新安裝全部提示錯誤地文件源,再次觀察,把setup目錄下面對應地地ocw11文件全部拷貝到硬碟上面,再次運行修復成功,之後安裝sql2005終於一路成功,困擾了我2天地問題終於解決,特此把本文於全體學習sql2005地朋友分享,希望大家少走彎路.一起交流sql地有關功能.
『玖』 mysql SELECT @last := LAST_INSERT_ID(); 這個語句怎麼看呢。。
你可以認為這是用select 聲明變數和初始化變數的一種方式。
別的資料庫不這么寫,比如sqlserver 如果這么寫肯定讓你先聲明。
--------
SELECT @last := LAST_INSERT_ID()
變數是 @last
:=是賦值
LAST_INSERT_ID()
返回最後一個 INSERT 或 UPDATE 操作為 AUTO_INCREMENT 列設置的最新發生的值.
LAST_INSERT_ID是基於單個connection的, 不可能被其它的客戶端連接改變。
比如說你有一個表A,A里有一個自增列。
當你插入一條記錄後,自增列到 3 ,那麼
LAST_INSERT_ID() 在當前連接中
就返回3
--
SELECT @last := LAST_INSERT_ID() as 最後一次自增列的值。
這個函數跟表無關聯。
『拾』 sqlserver 函數的寫法
returns @RowSet table(
ID int identity(1,1) ,
score float,
lastScore float
)
你這里已經聲明了一個表格類型變數作為函數的返回值.
那麼只要在函數里對這個表進行賦值,就可以直接return
insert into @RowSet values(...)
return
--------
declare @ScoreList table (YScore float)
declare @ScoreList1 table (lastScore float)
-------------------------------------------
怎麼我看你又聲明了兩個表格類型的變數?你函數聲明裡的返回類型是表,那麼單行返回的話就只能往裡裝簡單類型的值.
如果你要union拼接兩個table一起返回的話,兩個內部table和聲明的返回table定義又不一致.
很奇怪的寫法...能看出來你想干什麼...但這種寫法很怪異.
========================================補充
insert into @ScoreList SELECT...
insert into @ScoreList1 SELECT ...
你這不是把兩個查詢的結果賦給兩個內部變數了么,且這個表與你聲明的返回表都是一個float列.
你完全可以再把這兩個變數表insert 到@RowSet啊,或者不用這倆變數表,直接在兩個查詢里向@RowSet寫入值.
最後直接
return
end
不就行了?
======
http://hi..com/kas68310/blog/item/af4e05f0d5ee18c50a46e012.html
這有個返回值為talble的函數,你參看一下吧.你這個函數的完成度已經相當高了.