国产老熟女高潮毛片A片仙踪林,欧美喂奶吃大乳,狠狠爱无码一区二区三区,女神的私人医生动漫免费阅读

新聞建站cms系統、政府cms系統定制開發

廣州網站建設公司-閱速公司

asp.net新聞發布系統、報紙數字報系統方案
/
http://m.tjsimaide.com/
廣州網站建設公司
您當前位置:首頁>sqlserver數據庫

sqlserver數據庫

不能在具有唯一索引 'si_xdes_id' 的對象 'sys.syscommittab' 中插入重復鍵的行由于錯誤 2601,無法將該提交表刷新到 DBID 7 中的磁盤

發布時間:2025/3/26 16:00:03  作者:Admin  閱讀:16  

廣告:

sys.syscommittab
IT IT = 內部表
S = 系統表
INTERNAL_TABLE

消息 2601,級別 14,狀態 1,過程 sp_flush_commit_table,行 15 [批起始行 0]
不能在具有唯一索引 'si_xdes_id' 的對象 'sys.syscommittab' 中插入重復鍵的行。
語句已終止。
消息 2601,級別 14,狀態 1,過程 sp_flush_commit_table,行 15 [批起始行 0]
不能在具有唯一索引 'si_xdes_id' 的對象 'sys.syscommittab' 中插入重復鍵的行。
消息 3999,級別 17,狀態 1,第 1 行
由于錯誤 2601,無法將該提交表刷新到 DBID 7 中的磁盤。有關詳細信息,請查看錯誤日志。

參照:
https://learn.microsoft.com/zh-cn/troubleshoot/sql/database-engine/replication/duplicate-keys-sys-syscommittab-table#transact-sql-script

單用戶啟動sqlserver

當 SQL Server 以單用戶模式啟動時,它將跳過屬于 AlwaysOn 可用性組(AG)的數據庫的啟動過程。 如果需要排查需要以單用戶模式啟動 SQL Server 的更改跟蹤問題,并且啟用了更改跟蹤的數據庫也是 AG 的一部分,則必須在單用戶模式下啟動 SQL Server 之前從 AG 中刪除數據庫,以便數據庫聯機

net start mssql$SQL2008 /m --如果提示拒絕訪問 ,cmd請以管理員模式打開
或者
net start mssqlsqlserver /m
或者
下面的示例在單用戶模式下啟動 SQL Server 實例,并且只允許通過 SQL Server Management Studio 查詢編輯器進行連接。
net start "SQL Server (MSSQLSERVER)" /m"Microsoft SQL Server Management Studio - Query"

例如:
net start mssql$SQL2008 /m

sqlcmd使用命令行連接到專用管理員連接 (DAC) 下的 SQL Server,并執行修改后的 Transact-SQL 腳本。 例如:

sqlcmd -S PRODSERV1\MSSQLSERVER -A -E -i c:\temp\remove_duplicates.sql

或者
sqlcmd -S .\sql2008 -A -E -i K:\temp\20250326\sql.sql

--以下內容保存為sql.sql

--Create a temporary database to store the necessary rows required to remove the duplicate data 
USE master
GO
IF EXISTS(SELECT 1 FROM sys.databases WHERE name = 'dbChangeTrackingMetadata')
BEGIN
 DROP DATABASE dbChangeTrackingMetadata
END
GO
CREATE DATABASE dbChangeTrackingMetadata
GO

--Table to store the contents of the SYSCOMMITTABLE
USE dbChangeTrackingMetadata
GO
CREATE TABLE dbo.t_SYSCOMMITTABLE (
commit_ts BIGINT
,xdes_id BIGINT
,commit_lbn BIGINT
,commit_csn BIGINT
,commit_time DATETIME
)
GO

--Table to store the duplicate rows to be removed from the sys.syscommittab table

CREATE TABLE dbo.t_syscommittab (
commit_ts BIGINT
,xdes_id BIGINT
,commit_lbn BIGINT
,commit_csn BIGINT
,commit_time DATETIME
,dbfragid INT
)
GO

--Enable the usage of OPENROWSET
EXEC sys.sp_setbuildresource 1
GO

--Change <AFFECTED_DB> to the database that contains the duplicate values
USE MVC_Web
GO
DECLARE @rowcount BIGINT
SET @rowcount = 0

--Copy all rows from the SYSCOMMITTABLE INTo the temporary database
INSERT INTO dbChangeTrackingMetadata.dbo.t_SYSCOMMITTABLE
SELECT commit_ts, xdes_id, commit_lbn, commit_csn, commit_time
FROM OPENROWSET (table SYSCOMMITTABLE, db_id (), 0, 0)

--Save the duplicate values INTo the temporary database
INSERT INTO dbChangeTrackingMetadata.dbo.t_syscommittab
SELECT ondisk_ct.* 
FROM sys.syscommittab as ondisk_ct
JOIN dbChangeTrackingMetadata.dbo.t_SYSCOMMITTABLE as inmem_ct
 ON ondisk_ct.xdes_id = inmem_ct.xdes_id

--Delete the duplicate values
DELETE FROM sys.syscommittab
WHERE xdes_id in ( SELECT xdes_id from dbChangeTrackingMetadata.dbo.t_syscommittab )

SET @rowcount = @@rowcount

IF (@rowcount > 0)
BEGIN
 PRINT ''
 PRINT 'DELETED '+CAST(@rowcount as NVARCHAR(10))+' rows from sys.syscommittab that were also stored in SYSCOMMITTABLE'
PRINT ''
END
ELSE
BEGIN
 PRINT ''
 PRINT 'Failed to DELETE DUP rows from sys.syscommittab'
 PRINT ''
END
EXEC sys.sp_setbuildresource 0
GO

廣告:

相關文章
sys.syscommittab
cms新聞系統購買咨詢
掃描關注 廣州閱速軟件科技有限公司
掃描關注 廣州閱速科技
主站蜘蛛池模板: 黑龙江省| 土默特右旗| 六盘水市| 潞西市| 台山市| 聂拉木县| 大余县| 无棣县| 循化| 夏河县| 鱼台县| 湘潭市| 德惠市| 怀化市| 上饶县| 甘洛县| 台北县| 乌拉特前旗| 楚雄市| 昌江| 民县| 镇沅| 横峰县| 绥芬河市| 郎溪县| 通许县| 察雅县| 夏河县| 南投县| 彭山县| 河津市| 博兴县| 黄陵县| 武定县| 三门峡市| 来安县| 佛山市| 曲周县| 双鸭山市| 汾西县| 河南省|