I have a snowflake DB that i want to copy into a SQL Server DB.
The .Net connector in C# is too slow to work with so i thought about schedule a stored procedure that will copy a part of the DB of the Snowflake to an SQL Server, and use the SQL server for the main DB.

I successfully linked the SnowFlake server.
I create a very simple Store Procedure:

Create PROCEDURE [dbo].[Test]
AS
insert into [Test].[dbo].[ID] (id_number)
select ID from [SNOWFLAKE].[GEAR].[INSIGHTS].[APP_USERS] where FIRST_NAME = 'DAVID'

The stored procedure work greate when i call it:

EXEC Test

Now i tried to schedule this Stored Procedure and i’m getting this error:

SELECT * FROM OPENQUERY([SNOWFLAKE],
‘SELECT * From [SNOWFLAKE].[GEAR].[INSIGHTS].[MFG_DM_APP_USERS]’)

Executed as user: NT SERVICESQLSERVERAGENT. Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "SNOWFLAKE". [SQLSTATE 42000] (Error 7303)  OLE DB provider "MSDASQL" for linked server "SNOWFLAKE" returned message "[Snowflake][Snowflake] (38)        Failed to authenticate a user by external browser: 31.     ". [SQLSTATE 01000] (Error 7412).  The step failed.

i can’t understand what the difference is between execute the Stored Procedure by myself and by scheduling.

thank you for your help.