![](/img/trans.png)
[英]How can I specify to use SQL Server LocalDb 2014 rather than SQL Server LocalDb 2016 in the connection string?
[英]How can I specify that my app should start SQL Server LocalDb with a trace flag parameter?
我的應用程序使用 LocalDb 實例來存儲它的數據。 我注意到 LocalDb 分配標識的方式有一個怪癖(在此處詳細解釋),我想避免這種情況。 鏈接的答案解釋了這可以通過設置 SQL Server 跟蹤標志來完成,並解釋了如何為“全脂”SQL Server 執行此操作。
是否可以在 LocalDb 上設置跟蹤標志? 當我的應用程序按需啟動它時,這可以通過連接字符串完成嗎?
我有一個類似的問題,相信我有一個解決方法......
啟動 Regedit 並找到您的 localdb 注冊表項。 對我來說這是
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12E.LOCALDB\MSSQLServer\
在此鍵中創建另一個名為Parameters 的鍵。
在 Parameters 鍵中創建一個名為SQLArg0的字符串 (REG_SZ) 並將其值設置為-T272 。
通過在命令提示符下運行SQLLOCALDB.EXE
來停止 LocalDB 進程,將stop
作為參數和實例名稱傳入。 例如:
C:\> sqllocaldb stop mssqllocaldb
然后通過連接到其上的數據庫使 LocalDB 自動啟動。
運行查詢DBCC TRACESTATUS() ,您應該會看到跟蹤標志 272 存在。 例如:
C:\>sqlcmd -S (LocalDB)\MSSQLLocalDB -Q "DBCC TRACESTATUS();"
為了測試這一點,我一直在使用 VS2015 服務器資源管理器來探索數據庫。 在任務管理器 ( sqlservr.exe ) 中殺死 LocalDB 進程,在 VS2015 中連接到數據庫並手動添加新行導致我的自動增量值跳躍 1000。添加上述注冊表黑客后,手動終止 LocalDB 進程不會不會導致下一個生成的標識值跳過。
HTH
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.