第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何分離 NCrunch 節(jié)點服務使用的所有 LocalDb 數(shù)據(jù)庫

如何分離 NCrunch 節(jié)點服務使用的所有 LocalDb 數(shù)據(jù)庫

C#
慕村225694 2021-11-28 19:57:50
有時,使用 LocalDB 的測試的清理代碼未運行(可能是在取消測試時)。結(jié)果是很多垃圾本地db數(shù)據(jù)庫。我在運行嘗試創(chuàng)建另一個 localDB 的測試時收到這樣的錯誤System.Data.SqlClient.SqlException: Unable to create/attach any new database because the number of existing databases has reached the maximum number allowed: 32765.   ved System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)   ved System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)   ved System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)   ved System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)   ved System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)   ved System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)   ved System.Data.SqlClient.SqlCommand.ExecuteNonQuery()   ved Dapper.SqlMapper.ExecuteCommand(IDbConnection cnn, CommandDefinition& command, Action`2 paramReader)   ved Dapper.SqlMapper.ExecuteImpl(IDbConnection cnn, CommandDefinition& command)   ved Dapper.SqlMapper.Execute(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType)每個測試類中的測試清理是這樣的(使用 xunit)public override void Dispose(){    base.Dispose();    FreeDb();    GC.SuppressFinalize(this);}
查看完整描述

2 回答

?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

使用Sql server Management Studio連接以下服務器(LocalDb)\MSSQLLocalDB


然后使用以下語句確定哪些數(shù)據(jù)庫是 localDb:


SELECT * FROM sys.databases

在此更正以下 detach localdb 語句以僅分離 localdbs 之后:


DECLARE @rowCount INT = 1

DECLARE @databaseName NVARCHAR(MAX)


WHILE @rowCount = 1

BEGIN

    SET @databaseName = null


    SELECT TOP(1)

    @databaseName = name

    FROM sys.databases

    WHERE database_id >= 5

    SET @rowCount = @@ROWCOUNT


    IF @rowCount = 1

    BEGIN

        exec sp_detach_db @databaseName

    END

END

就我而言,database_id 4 以上的所有內(nèi)容似乎都是 localdbs,但這對您來說可能有所不同。


查看完整回答
反對 回復 2021-11-28
?
德瑪西亞99

TA貢獻1770條經(jīng)驗 獲得超3個贊

情況似乎更糟。


正在使用的 localdb 實例來自我的 NCrunch 節(jié)點。以 SYSTEM 用戶身份運行。


因此,從具有管理員權(quán)限的 PowerShell 提示符運行


choco install pstools

進而


psexec -i -s CMD

獲取以 SYSTEM 身份運行的命令提示符


那里的 sqllocaldb.exe 也不太走運,但粘貼 SQL Management Studio 的完整路徑確實做到了:


"C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe"

連接到服務器 (LocalDb)\MSSQLLocalDB


然后我按照安德斯的方法連接到(LocalDb)\MSSQLLocalDB,然后我做了


DECLARE @rowCount INT = 1

DECLARE @databaseName NVARCHAR(MAX)


WHILE @rowCount = 1

BEGIN

    SET @databaseName = null


    SELECT TOP(1)

    @databaseName = name

    FROM sys.databases

    WHERE database_id >= 7

    SET @rowCount = @@ROWCOUNT


    IF @rowCount = 1

    BEGIN

        exec sp_detach_db @databaseName

        exec sp_dbremove @databaseName

    END

END

在sp_dbremove已被棄用,但得到這里完成任務?,F(xiàn)在甚至刪除了 .mdf 和 _log.ldf 文件。


之后 dbs 的數(shù)量從 32765 減少到 6,當這樣計算時:


SELECT COUNT(1) FROM sys.databases


查看完整回答
反對 回復 2021-11-28
  • 2 回答
  • 0 關(guān)注
  • 248 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號