close

新系統在測試db上都正常,要轉到 production db上,在設置link server就出現下面的錯誤訊息:

Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI" for linked server "XXXXXX".The provider supports the interface, but returns a failure code when it is used

原來是測試db之前的dba是安裝在32 bit上,而要建立link server的db是SQL SERVER 2000(他們team今年要升級到SQL SEVRER 2008,加油喔,已經delay了喔...),

所以系統建立時都沒有問題,我也就沒有特別去注意,

但是production db 是SQL SERVER 2008 64 bit了,結果設置時就出錯啦...

解決方式:

1.確認SQL SERVER 2000已經升級到SP3 or SP4,不是的話,就直接升級到SQL SERVER 2000 SP4(有預算的話,當然最好直接上到2008 R2啊...)

2.執行instcat.sql, instcat.sql檔案附在SQL Server 2000 SP3 或 SP4 之中

先執行 cmd.exe


使用 Windows 驗證模式

  對於預設執行個體
osql -E -S <LinkedServerName> -i <Location>\instcat.sql

對 於具名執行個體
osql -E -S <LinkedServerName>\<InstanceName> -i <Location>\instcat.sql

使用 SQL Server 驗證模式

  對於預設執行個體
  osql -U <AdminLogin> -P <AdminPassword> -S <LinkedServerName> -i <Location>\instcat.sql

對 於具名執行個體
osql -U <AdminLogin> -P <AdminPassword> -S <LinkedServerName>\<InstanceName> -i <Location>\instcat.sql

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 泡麵要趁熱才好吃 的頭像
    泡麵要趁熱才好吃

    健忘症補救株式會社

    泡麵要趁熱才好吃 發表在 痞客邦 留言(0) 人氣()