2 回答
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,但這對您來說可能有所不同。
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
- 2 回答
- 0 關(guān)注
- 248 瀏覽
添加回答
舉報
