1. SqlServer發佈訂閱錯誤收集 html
1.1. Message:腳本對於表「dbo.table」失敗。 數據庫
1.1.1. 錯誤消息 服務器
1.1.2. 處理方法 app
1.2. 因爲出現操做系統錯誤 3,進程沒法讀取文件D:\\XXXX\\X.pre (源: MSSQL_REPL,錯誤號: MSSQL_REPL20024) ide
1.2.1. 錯誤消息 工具
1.2.2. 解決方法 ui
1.3. 應用複製的命令時在訂閱服務器上找不到該行 spa
1.3.1. 錯誤消息 操作系統
1.3.2. 解決方法 日誌
1.4. 數據庫 'dbtest' 的事務日誌已滿
1.4.1. 錯誤消息
1.4.2. 解決方法
2. 進程沒法向表「"dbo"."某表名"」進行大容量複製。
2.1.1. 錯誤消息
2.1.2. 解決方法
Source: Microsoft.SqlServer.Smo
Target Site: System.Collections.Generic.IEnumerable`1[System.String] ScriptWithList(Microsoft.SqlServer.Management.Smo.DependencyCollection, Microsoft.SqlServer.Management.Smo.SqlSmoObject[])
Message: 腳本 對於 表「dbo.HY_CORP_BAD_CREDIT_INFO」失敗。
Stack: 在 Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList(DependencyCollection depList, SqlSmoObject[] objects)
在 Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList(SqlSmoObject[] objects)
在 Microsoft.SqlServer.Replication.Snapshot.TransSmoScriptingManager.GenerateLogBasedArticleSchScript(Scripter scripter, BaseArticleWrapper articleWrapper, Table smoTable)
在 Microsoft.SqlServer.Replication.Snapshot.TransSmoScriptingManager.GenerateLogBasedArticleScripts(ArticleScriptingBundle articleScriptingBundle)
在 Microsoft.SqlServer.Replication.Snapshot.TransSmoScriptingManager.GenerateArticleScripts(ArticleScriptingBundle articleScriptingBundle)
在 Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.GenerateObjectScripts(ArticleScriptingBundle articleScriptingBundle)
在 Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.DoScripting()
在 Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.DoScripting()
在 Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.GenerateSnapshot()
在 Microsoft.SqlServer.Replication.SnapshotGenerationAgent.InternalRun()
在 Microsoft.SqlServer.Replication.AgentCore.Run() (源: Microsoft.SqlServer.Smo,錯誤號: 0)
獲取幫助: http://help/0
Source: Microsoft.SqlServer.Smo
Target Site: Void CheckSupportedType(Microsoft.SqlServer.Management.Smo.ScriptingOptions)
Message: 對象 HY_CORP_BAD_CREDIT_INFO 中的列 fHappenDate 包含類型 Date,此類型不受目標服務器版本 SQL Server 2005 支持。
Stack: 在 Microsoft.SqlServer.Management.Smo.Column.CheckSupportedType(ScriptingOptions options)
在 Microsoft.SqlServer.Management.Smo.Column.VersionValidate(ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.Column.ScriptDdlCreateImpl(StringBuilder sb, ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.Column.ScriptDdl(StringCollection queries, ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.Table.ScriptTableInternal(ScriptingOptions so, StringBuilder sb, ColumnCollection columns, IndexCollection indexes)
在 Microsoft.SqlServer.Management.Smo.Table.GetTableCreationScript(ScriptingOptions so, StringBuilder sb)
在 Microsoft.SqlServer.Management.Smo.Table.ScriptCreate(StringCollection queries, ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.ScriptCreateInternal(StringCollection query, ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithListWorker(DependencyCollection depList, SqlSmoObject[] objects)
在 Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList(DependencyCollection depList, SqlSmoObject[] objects) (源: Microsoft.SqlServer.Smo,錯誤號: 0)
獲取幫助: http://help/0
將數據庫兼容級別設置到100,在發佈數據庫上執行以下代碼,修改數據庫的兼容級別到100。
ALTER DATABASE [DataBase] SET COMPATIBILITY_LEVEL = 100
或者界面操做:
嘗試的命令:
E:\DB_backup_xmq\unc\WINDOWS-Q6MJ0R8_REMAIUS_REMAIUS\20161224144353\hy_wait_work_r45f6f27c_249.pre
(事務序列號: 0x0000FA7E0001C1D4005000000000,命令 ID: 252)
錯誤消息:
因爲出現操做系統錯誤 3,進程沒法讀取文件「E:\DB_backup_xmq\unc\WINDOWS-Q6MJ0R8_REMAIUS_REMAIUS\20161224144353\hy_wait_work_r45f6f27c_249.pre」。 (源: MSSQL_REPL,錯誤號: MSSQL_REPL20051)
獲取幫助: http://help/MSSQL_REPL20051
系統找不到指定的路徑。
(源: MSSQL_REPL,錯誤號: MSSQL_REPL3)
獲取幫助: http://help/MSSQL_REPL3
qlServer2008的訂閱發佈,起初使用推送訂閱很順利,後來改爲請求訂閱出現了這個問題。
嘗試的命令:
if @@trancount > 0 rollback tran
事務序列號:
--0x0000FDAB0003A908008F00000000 命令 ID: 7
錯誤消息:
應用複製的命令時在訂閱服務器上找不到該行。 (源: MSSQLServer,錯誤號: 20598)
獲取幫助: http://help/20598
應用複製的命令時在訂閱服務器上找不到該行。 (源: MSSQLServer,錯誤號: 20598)
獲取幫助: http://help/20598
1.發佈服務器的
exec sp_helpsubscriptionerrors 'WINDOWS-Q6MJ0R8'
, 'remaius'
, 'remaius'
, 'WIN-V0R4COILDAS'
, 'remaius';
2.解決
a.忽略,在訂閱上執行
exec sp_setsubscriptionxactseqno 'WINDOWS-Q6MJ0R8'
, 'remaius'
, 'remaius'
, 0x0000FDAB0003A908008F00000000;
b.如第一個找xact_seqno的SQL,拿到xact_seqno,command_id
而後在發佈上,
sp_browsereplcmds '0x0000FBF300119D32000900000000','0x0000FBF300119D32000900000000';
sp_browsereplcmds '0x0000FDAB0003A908008F00000000','0x0000FDAB0003A908008F00000000';
找到 {CALL [dbo].[sp_MSupd_dboTable1](,'dd',4,0x04)}【默認的命名規則是sp_MS+operation+schemaName+tableName】
而後在訂閱服務器,補充主鍵=4的數據,而後複製就恢復了。
【注意】:id自增的時候須要打來自動增加的標誌:
--set identity_insert Table_1 ON--打開
--insert into Table_1(id) values(134);
--set identity_insert Table_1 OFF--關閉
嘗試的命令:
if COLUMNPROPERTY( OBJECT_ID('MSreplication_subscriptions'),'distribution_agent','AllowsNull') <> 1 BEGIN alter table MSreplication_subscriptions alter column distribution_agent sysname null end
錯誤消息:
數據庫 'dbtest 的事務日誌已滿。若要查明沒法重用日誌中的空間的緣由,請參閱 sys.databases 中的 log_reuse_wait_desc 列。 (源: MSSQLServer,錯誤號: 9002)
獲取幫助: http://help/9002
--清空日誌
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE remaius SET RECOVERY SIMPLE;
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (remaius_new_log, 1);
-- Reset the database recovery model.
ALTER DATABASE remaius SET RECOVERY FULL;
進程沒法向表「"dbo"."某表名"」進行大容量複製。 (源: MSSQL_REPL,錯誤號: MSSQL_REPL20037)
獲取幫助: http://help/MSSQL_REPL20037
成批發送失敗
從 bcp 客戶端收到的列值對列 id 37 無效。 (源: MSSQLServer,錯誤號: 4896)
獲取幫助: http://help/4896
若要獲取詳細說明初始化訂閱表時所遇到的錯誤的錯誤文件,請執行在下面顯示的 bcp 命令。有關該 bcp 實用工具及其支持的選項的詳細信息,請參閱 BOL。 (源: MSSQLServer,錯誤號: 20253)
獲取幫助: http://help/20253
bcp "某發佈名稱"."dbo"."某表名" in "H:SQLMSSQL10_50.UZAI2008MSSQLReplDatauncSQLCLUSTER$SQL2008_某庫名_某發佈名20120711171029某表名_2.bcp" -e "errorfile" -t"n<x$3>n" -r"n<,@g>n" -m10000 -S訂閱名訂閱實例名 -T -w (源: MSSQLServer,錯誤號: 20253)
獲取幫助: http://help/20253
由於這張表有一列很長且有特殊html標籤類/<&%|^等特殊字符,去掉該列就很順利的發佈成功了。或者將全部的非unicode(varchar/char/text) 類型字段調整爲unicode(nvarchar/nchar/ntext)類型便可"