2017-07-28 6 views
0

auto followユーザーのストアドプロシージャを作成しましたが、このプロシージャは既にサーバー上にあります。私のデータベースには、20,000人以上のユーザーがいます。このストアプロシージャはカーソルを使用します。SQL Serverのストアドプロシージャとカーソルを使用した "トランスポートレベルのエラー"

このエラーが発生しましたサーバーから結果を受け取ったときにトランスポートレベルのエラーが発生しました。 (プロバイダ:TCPプロバイダ、エラー:0 - 既存の接続はリモートホストによって強制的に閉鎖されました。)

これは私のストアドプロシージャです

   DECLARE @UserIdF Int 
      DECLARE @UserId Int 

     DECLARE csrAutoFollow CURSOR FOR 
     SELECT TOP (1) userid FROM dbo.users where IsFUser = 1 ORDER BY NEWID() 

     OPEN csrAutoFollow 
      FETCH NEXT FROM csrAutoFollow INTO @UserIdF 

      WHILE @@FETCH_STATUS = 0 
      BEGIN 
          DECLARE csrauto CURSOR FOR 
          SELECT userid FROM dbo.Users WHERE IsFUser IS NULL 

          OPEN csrauto 
           FETCH NEXT FROM csrauto INTO @UserId 

          WHILE @@FETCH_STATUS = 0 
          BEGIN  

           EXEC dbo.FollowUnfollowUser @UserIdF,@UserId,1 

          FETCH NEXT FROM csrauto INTO @UserId 
          END 

          CLOSE csrauto 
          DEALLOCATE csrauto 

       FETCH NEXT FROM csrAutoFollow INTO @UserIdF 
      END   
     CLOSE csrAutoFollow 
    DEALLOCATE csrAutoFollow 

私はこれも可能かどうか教えてください。

答えて

0

"トランスポートレベルエラー"は、ストアドプロシージャが呼び出されたコンピュータが、ストアドプロシージャが存在するデータベースサーバーとのネットワーク接続を失ったことを意味します。

あなたのネットワーク管理者は問題を調べる必要があります。

関連する問題