发布于 2016-05-08 23:18:53 | 437 次阅读 | 评论: 1 | 来源: 网友投递

这里有新鲜出炉的SQL Server教程,程序狗速度看过来!

SQL Server 数据库

SQL Server 即 Microsoft SQL Server 。 SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。


一台数据库服务器更换了一台机器,需要重新做一下同步复制,结果在订阅的时候出错了。

显示的错误消息:

错误消息:
进程无法向表“"dbo"."Company"”进行大容量复制。 (源: MSSQL_REPL,错误号: MSSQL_REPL20037)
获取帮助: http://help/MSSQL_REPL20037
成批发送失败
在数据流中缺少用于大容量复制 text、ntext 或 image 数据的文本长度。 (源: MSSQLServer,错误号: 4813)
获取帮助: http://help/4813
若要获取详细说明初始化订阅表时所遇到的错误的错误文件,请执行在下面显示的 bcp 命令。有关该 bcp 实用工具及其支持的选项的详细信息,请参阅 BOL。 (源: MSSQLServer,错误号: 20253)
获取帮助: http://help/20253
bcp "xxx"."dbo"."Company" in "d:\ReplData\unc\WIN-39LLDBLGOAH_CR173COM_173\20131209110101\Company_2.bcp" -e "errorfile" -t"\n<x$3>\n" -r"\n<,@g>\n" -m10000 -SWIN-URF3GO69MJ2 -T -w (源: MSSQLServer,错误号: 20253)
获取帮助: http://help/20253



解决方案:

1、将 服务器 -> 属性 -> 高级将中 最大文本复制大小  改大一点。最小加两个0


(这么搞了一下还是不行) 


后来排查到这张表有一列很长且有特殊html标签类/<&%|^等特殊字符,去掉该列就很顺利的发布成功了.

但实际中这个排除是非常难的,你根本不知道是哪一条记录有特殊字符。

后来将所有字符集全部改成 unicode 才解决。
将所有的非unicode(varchar/char/text) 类型字段调整为unicode(nvarchar/nchar/ntext)类型即可"

看来以后在新建表的时候还是最好采用 unicode  字符集



最新网友评论  共有(1)条评论 发布评论 返回顶部
dnn 发布于2016-08-02 16:01:01
解决,赞
支持(0)  反对(0)  回复

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务