2014年6月23日 星期一

使用sp_testlinkedserver檢查Linked Servers是否正常

        有個需求要建Data Mart,然後我打算用PowerPivot讓User可以自己取得最新資料來分析,那驗證這端怎麼弄,因為有AD就簡單很多,可是來源DB在MySQL上耶,那就想辦法把Data Mart建在SQL Server上囉,因為資料量目前不過百萬筆,預估三年內應該不會破千萬,目前容量也不到1G,使用SQL 2014 Express應該足夠

        因為要ETL到SQL Server上,才發現Express不支援SQL Server Agent,只好用工作排程器加SQLCMD來解決

        在SQL Server上建Linked Server到MySQL很簡單,但在ETL的過程中有時會遇到錯誤


        怪的是時好時壞,才想說有沒有測試Linked Server的工具呢,原來微軟早就提供sp_testlinkedserver啦,怎麼用?如下

BEGIN TRY
    
     EXEC sp_testlinkedserver  N'LK_MEM';

     TRUNCATE TABLE [dbo].[test];
     INSERT INTO [dbo].[test]
     SELECT * FROM OPENQUERY(LK_MEM,'SELECT id FROM test.t1;');

END TRY
BEGIN CATCH
     PRINT ERROR_NUMBER()
     PRINT ERROR_MESSAGE()

END CATCH

        很簡單

0 意見:

張貼留言