想請問各位大神,
小弟目前遇到一個難關,
我的需求如下 :
我預計使用stored procedures來進行,並利於後續排程作業,
利用openquery語法來進行跨伺服器下指令
如下
delete openquery([A資料庫], ' select * From c.dbo.trans_log where ire in (select ire From c.dbo.fi where dentry between ''20190901'' and ''20200229'');')
第1項已完成,第2項出現以下錯誤訊息
***[OLE/DB provider returned message: 多重步驟 OLE DB 操作發生錯誤。請檢查每一個可用的 OLE DB 狀態值。尚未完成任何操作。]
訊息 7320,層級 16,狀態 2,行 15
無法對 OLE DB Provider 'SQLOLEDB' 執行查詢。 提供者無法支援所需的資料列尋查介面。 提供者指示出和其他屬性或需求發生衝突。
網路上爬文表示,必須要有設定索引值或是PK,但我資料庫不能這樣設定會影響系統,
後來嘗試反向測試,利用A資料庫用相似語法進行,語法如下
delete openquery([B資料庫], ' select * From c.dbo.trans_log where ire in (select ire From c.dbo.fi where dentry between ''20190901'' and ''20200229'');')
一樣的設定、一樣的資料型態、一樣的版本、一樣沒有PK及索引值,
卻能執行成功,想請問是否有大神能提供方法給小弟,
已經嘗試到焦頭爛耳,
還是不知道為何無法成功,
拜託各位大大幫我解惑,
麻煩各位大大了。