簡體   English   中英

無法附加到SQL Server以調試SQLCLR存儲過程

[英]Can't attach to SQL Server to debug SQLCLR Stored Procedure

我想在SQL Server中調試SQLCLR存儲過程。 我一直在嘗試在VS2015社區和最近安裝的VS2017社區版本中調試SP,但沒有成功。 我很確定問題在於附加到SQL Server,但因為我已經完成了我在網上提到的所有內容,但無濟於事。

在SQL Server Express LocalDB中創建數據庫項目時,一切正常。 如果我更改連接字符串以使用我的Developer Edition SQL Server,那么我會收到錯誤。 我做了以下事情:

  1. 我創建了一個新的數據庫。 我是服務器的唯一用戶,它駐留在我用於Visual Studio的同一桌面計算機上。
  2. 在Visual Studio中,我使用一種簡單的方法創建了一個簡單的數據庫項目,以便將一些文本發送到輸出管道。

     [Microsoft.SqlServer.Server.SqlProcedure] public static void mytest () { SqlContext.Pipe.Send("in clr Craig1"); } 
  3. 我在項目屬性中編輯了目標連接字符串以連接到新數據庫,並在按下連接按鈕時成功建立連接。 連接字符串為我使用Windows身份驗證,使用與數據庫所有者相同的用戶。
  4. 我構建並部署了解決方案並檢查了SQL對象資源管理器以確保部署了SP。 它是。
  5. 我選擇了服務器,然后使用右鍵單擊選擇“允許SQL / CLR調試”。 我再次檢查它以確保它實際設置。
  6. 我選擇了存儲過程並右鍵單擊,選擇“Debug Procedure ...”
  7. 顯示調試腳本。 我走到線上執行SP,然后按F11進入。此時我看到以下內容: 在此輸入圖像描述
  8. 我按了附件,顯示以下錯誤: 在此輸入圖像描述

此后,該過程執行並執行管道功能,但它不允許我進行附件和調試。

我做錯了什么想法? 謝謝克雷格

您可能只需要使用“以管理員身份運行”啟動Visual Studio。 我不相信在運行Windows 8時我需要這樣做,但我現在正在運行Windows 10並且肯定需要“以管理員身份運行”。 我猜你不能以其他方式附加到別人的進程(我的Developer Edition使用“SQL Server”服務帳戶運行,但是LocalDB總是作為啟動它的登錄運行,通常是你自己)。 我沒有測試過看看運行Developer Edition是否仍然需要“以管理員身份運行”,或者如何將Developer Edition作為“本地系統”運行會影響此行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM