提供7*24专业Sybase数据库远程及现场技术支持,Sybase ASE及Sybase SQL Anywhere数据库修复服务,
请联系电话: (微信),QQ: 289965371!
We supply technical support for Sybase ASE and Sybase SQL Anywhere, also have many years of experience in recovering data from damanged Sybase devices.
Please contact us:
Phone:
Wechat: 13811580958
QQ: 289965371 联系我们获取数据库技术支持!
Email: 289965371@qq.com
扫描下方微信,联系我们:
扫描雨翰数据恢复官方微信获取专业数据库恢复服务

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从https://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站https://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 联系我们获取数据库技术支持!
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

bcp ‌ ‌

说明 按用户指定格式将数据库表拷入或拷出操作系统文件。 bcp 位于

$SYBASE/$SYBASE_OCS/bin 中。

(Windows) 该实用程序是 bcp.exe,它位于

%SYBASE%\%SYBASE_OCS%\bin 中。

语法 bcp [[database_name.]owner.]table_name [:[ partition_id | slice_number ] | partition

partition_name] {in | out} [datafile] [-a display_charset]

[-A packet_size] [-b batch_size]

[-c]

[-C]

[-d discardfileprefix] [-e errfile]

[-E]

[-f formatfile] [-F firstrow]

[-g id_start_value] [-i input_file]

[-I interfaces_file]

[-J client_character_set] [-K keytab_file]

[-L lastrow]

[-m maxerrors]

[-MLabelName LabelValue] [-labeled] [-n]

[-N]

[-o output_file] [-P password] [-Q]

[-r row_terminator]

[-R remote_server_principal] [-S server]

[-t field_terminator]

[-T text_or_image_size] [-U username]

[ -v ]

[-V [security_options]] [-W]

[-x trusted.txt_file] [-X]

[-y alternate_home_directory] [-Y ]

[-z language ]

[-Z security_mechanism]

[--colpasswd [[[db_name.[owner].]table_name.]


column_name [password]]] [--keypasswd [[db_name.[owner].]key_name [password]]] [--hide-vcc]

[--initstring "TSQL_command"]

[--maxconn maximum_connections] [--show-fi]

[--skiprows nSkipRows]

参数 database_name

如果要复制的表位于缺省数据库或 master 中,则此参数是可选项。否 则,必须指定数据库名。

owner

如果您或数据库所有者拥有正被复制的表,则此参数是可选项。如果 未指定所有者, bcp 首先查找您所拥有的表是否有此名称,然后查找 数据库所有者所拥有的表是否有此名称。如果其他用户拥有此表,则 必须指定所有者名,否则命令将失败。

table_name

要复制的数据库表的名称。表名不能是 Transact-SQL 保留字。

partition_id

指定要向其中复制数据的分区号。只有 bcp in 支持此选项。它等同于

Adaptive Server 12.5.x 中的 slice_number。

slice_number

指定要向其中复制数据的分区段。只有 bcp in 以及 Adaptive Server 15.0 和更高版本中的循环分区表支持该选项。

partition partition_name

指定由一个或多个分区组成的集合,各分区间用逗号分开。

in | out

是复制方向。 in 表示从文件向数据库表中复制;out 表示从数据库表 或视图向文件复制。

datafile

指定由一个或多个唯一数据文件组成的集合,各文件间用逗号分开。

bcp in 和 bcp out 都支持该选项。路径名的长度可以是 1 到 255 个字符。

-a display_charset

允许用户从终端上运行 bcp,而此终端上的字符集与正在运行 bcp 的 计算机上的字符集不同。将 -a 和 -J 联用以指定转换所需的字符集转 换文件 (.xlt 文件)。只有在客户端字符集与缺省字符集相同时,才 单独使用 -a,而不使用 -J。


如果使用 -a 参数命名的字符转换文件遗漏或输错名称,将出现如下 错误消息:

Error in attempting to determine the size of a pair of translation tables.:'stat' utility failed.

-A packet_size

指定用于此 bcp 会话的网络包大小。例如,以下命令将此 bcp 会话的 包大小设置为 4096 字节:

bcp pubs2..titles out table_out -A 4096

packet_size 的值必须介于 default network packet size 和 maximum network packet size 配置变量的值之间,而且必须是 512 的倍数。

使用大于缺省值的网络包大小可提高大批量复制操作的性能。

-b batchsize

是在每批数据中复制的行数。缺省情况下, bcp in 在一批数据中复制 n 行,其中 n 等于批量大小。批量复制只适用于批量拷入;对批量拷 出不起作用。 bcp 接受的 batchsize 的最小数值为 1。 bcp 接受的 batchsize 的最大数值为 2147483647L。


image

注释 如果将批量大小设置为 1,将使 Adaptive Server 为拷入的一行分 配一个数据页。该选项仅适用于快速 bcp,且仅用于确定损坏的数据行 的位置。使用 -b1 时要小心,因为使用该参数值将导致为每一行都分配 一个新页,因此会占用大量空间。

image


-c

使用 char 数据类型作为数据文件中所有列的缺省数据类型来进行复制 操作。如果要在平台间共享数据,则使用这种格式。此参数不对每个 字段进行提示;它使用 char 作为缺省的存储类型,没有前缀,使用

\t (制表符)作为缺省的字段终结符,并且使用 \n (换行符)作为 缺省的行终结符。

-C

如果 Adaptive Server 支持加密列,则该选项支持对加密列的批量复 制。 -C 在启动批量复制操作之前启用 ciphertext 选项。

-d discardfileprefix 将被拒绝的行记录到一个专用放弃文件中。该放弃文件与主机文件的 格式相同,其创建方式是将输入文件名附加到提供的放弃文件前缀 中。用户可以更正此文件中的行,并使用该文件重新装载更正后的行。

Sybase 建议用户将 -d discardfileprefix 选项与 -e errorfile 配合使用,这将 有助于识别和诊断放弃文件中记录的问题行。


-e errfile

是错误文件的完整路径名, bcp 在其中存储无法从文件传送给数据库 的所有行。来自 bcp 的错误消息显示在终端上。 bcp 只在指定此参数 后才创建错误文件。


-E

显式指定表的 IDENTITY 列的值。

将数据批量复制出来时,-E 参数不起作用。Adaptive Server 会将 ID 列 复制到数据文件,除非您使用 -N 参数。

不能同时使用 -E 和 -g 标志。

-f formatfile

是文件的完整路径名,该文件存储上次在同一个表上使用 bcp 时的应 答。回答 bcp 的格式提问后,它提示您将回答保存到一个格式文件 中。格式文件的创建是可选的。缺省文件名是 bcp.fmt。 bcp 程序可以 在复制数据时引用格式文件,这样用户就不必以交互式方式重复以前 的格式应答。只有在用户以前创建了希望现在用于拷入或拷出的格式 文件的情况下,才使用 -f 参数。如果不指定此参数, bcp 将以交互方 式向用户询问有关格式的信息。

-F firstrow

是要从输入文件中复制的第一行的行号 (缺省为第一行)。

在执行多进程复制这一繁重任务时应避免使用 -F 选项,因为它通常 导致 bcp 占用更多资源来运行,且不能加快进程。而应将 -F 用于单个 进程,进行即席复制。

-g id_start_value

指定将 IDENTITY 列的值作为拷入数据的起点。 不能同时使用 -g 和 -E 标志。

-i input_file

指定输入文件名。使用 “Standard Input”作为缺省值。

-I interfaces_file

指定连接到 Adaptive Server 时要搜索的 interfaces 文件的名称和位置。 如果没有指定 -I, bcp 将在 SYBASE 环境变量指定的目录 (在 Windows 中为 ini 目录)中查找 interfaces 文件 (在 Windows 中为 sql.ini)。


-J client_charset

指定在客户端上使用的字符集。 bcp 使用过滤器在 client_charset 与

Adaptive Server 字符集之间转换输入。

-J client_charset 请求将 Adaptive Server 字符集与客户端上使用的字符 集 client_charset 进行相互转换。

不带参数的 -J 将字符集转换设置为 NULL。这样不会发生任何转换。 若客户端与服务器使用相同的字符集,则使用该设置。

若省略 -J,则字符集将设置为平台的缺省字符集,且不必是客户端当 前正在使用的字符集。

如果使用 -J 参数指定了不正确或无法识别的字符集,将显示以下错 误消息:

Unrecognized localization object.Using default value 'iso_1'.

Starting copy...

=> warning.

有关字符集和相关标志的详细信息,请参见 《系统管理指南》。

-K keytab_file

指定用于 DCE 中鉴定的 keytab 文件的路径。

-L lastrow

是要从输入文件拷出的最后一行的行号 (缺省值是最后一行)。如果 使用了多个文件,则会将此选项应用于每个文件。

-m maxerrors

是在 bcp 中止复制之前,允许的最大非致命错误数。 bcp 放弃不能插 入的每一行 (由于数据转换错误,或尝试向不允许有空值的列中插 入空值〕,同时将每个被放弃的行计为一个错误。如果不包括此参 数, bcp 将使用缺省值 10。


-M LabelName LabelValue

(仅限安全 Adaptive Server)使多个用户可以为批量复制设置会话标 签。 LabelName 的值包括:

• curread (当前读取级别)– 是用户可在此会话期间读取的数据 的初始级别, curread 必须控制 curwrite。

• curwrite (当前写入级别)– 是将应用于用户在此会话期间写入 的任何数据的初始敏感性级别。

• maxread (最大读取级别)– 是用户可读取数据的最大级别。这 是可以多级用户身份在会话期间设置的 curread 的上限。 maxread 必须控制 maxwrite。

• maxwrite (最大写入级别)– 是用户可写入数据的最大级别。这 是可以多级用户身份在会话期间设置的 curwrite 的上限。maxwrite 必须控制 minwrite 和 curwrite。

• minwrite (最小写入级别)– 是用户可写入数据的最小级别。这 是可以多级用户身份在会话期间设置的 curwrite 的下限。 minwrite 必须由 maxwrite 和 curwrite 进行控制。

LabelValue 是标签的实际值,以用于系统的人工可读格式表示 (例 如,“Company Confidential Personnel”)。

-labeled

(仅限安全 Adaptive Server)指示要导入的数据已在每个记录的第一 个字段中具有标签。

导出数据时,此选项指示要作为第一个字段拷出的每一行的敏感性标签。


-n

使用本机 (操作系统)格式执行复制操作。指定 -n 参数意味着 bcp 将 不对每个字段进行提示。使用本机数据格式的文件为人工不可读格式。


image

警告!不要使用:

• 在数据恢复、抢救或处理紧急情况时,以本机格式使用 bcp。

• 以本机格式使用 bcp 在不同硬件平台、不同操作系统或主版本不同 的 Adaptive Server 之间传输数据。

• 在采用本机格式的 bcp 中使用字段终结符 (-t) 或行终结符 (-r)。 否则结果是不可预料的,并且数据可能会损坏。

以本机格式使用 bcp 可能创建无法重新装载到 Adaptive Server 中的平面 文件且恢复数据可能变得不可能。如果不能以字符格式重新运行 bcp

(例如,表被截断或被删除,硬件损坏,数据库被删除,等等),数据 将是不可恢复的。

image


-N

跳过 IDENTITY 列。在以下情况下使用该参数:拷入数据时主机数据 文件不包含 IDENTITY 列值的占位符;或者拷出数据时不希望主机文 件中包含 IDENTITY 列信息。

拷入数据时,-N 和 -E 参数不能同时使用。

-o output_file

指定输出文件名。使用 “Standard Output”作为缺省值。

-P password

指定 Adaptive Server 口令。如果没有指定 -P password, bcp 将提示输 入口令。如果口令是 NULL,则可以省略 -P 标志。

-Q

提供与 bcp 版本 10.0.4 的向后兼容性,以用于可空列的复制操作。

-r row_terminator

指定行终结符。


image

警告!不要以本机格式在 bcp 中使用 -t 或 -r 参数。否则结果是不可预料 的,并且数据可能会损坏。

image


从命令行使用 -t 或 -r 参数指定终结符时,必须转义对 UNIX 操作系统 有特殊含义的字符 (或 Windows 的命令提示符 shell)。有关详细信 息,请参见 bcp 的示例。可以在特殊字符前面加一个反斜杠或使用引 号将特殊字符引起来。如果 bcp 提示 (交互模式),则不必进行上述 操作。

-R remote_server_principal 按照安全性机制的定义为服务器指定主体名。缺省情况下,服务器的主 体名称与服务器的网络名称 (由 -S 参数或 DSQUERY 环境变量指定) 相匹配。当服务器的主体名称与网络名称不同时,将使用 -R 参数。

-S server

指定要连接到的 Adaptive Server 的名称。如果指定不带参数的 -S, bcp 将使用 DSQUERY 环境变量指定的服务器。

-t field_terminator

指定缺省的字段终结符。

-T text_or_image_size

允许以字节为单位指定 Adaptive Server 发送的 text 或 image 数据的最 大长度。缺省值为 32K。如果 text 或 image 字段大于 -T 的值或缺省 值, bcp 不会发送此溢出值。


-U username

指定 Adaptive Server 的登录名。

-v

显示 bcp 的版本号和版权消息,并返回操作系统。

-V security_options 指定基于网络的用户鉴定。使用此选项时,用户必须在运行实用程序 之前登录到网络的安全系统。在这种情况下,用户必须用 -U 选项提 供其网络用户名;任何用 -P 选项提供的口令都将被忽略。

-V 后面可接一组 security_options 关键字母选项来启用其它安全服务。 这些关键字母包括:

• c – 启用数据保密性服务

• i – 启用数据完整性服务

• m – 启用用于建立连接的相互鉴定

• o – 启用数据源加戳服务

• r – 启用数据回放检测

• q – 启用顺序混乱检测

-W

指定 bcp 正尝试连接到的服务器既不支持常规口令加密也不支持扩展 口令加密,并禁止重试明文口令。如果使用此选项, CS_SEC_NON_ENCRYPTION_RETRY 连接属性将设置为 CS_FALSE,并且在重试连接时将不会使用明文 (未加密)口令。

-x trusted.txt_file

指定替代 trusted.txt 文件。

-X

指定在与服务器的这次连接中,应用程序启动带客户端口令加密的登 录。 bcp (客户端)通知服务器希望进行口令加密。服务器返回一个 加密密钥, bcp 使用此密钥加密口令,然后服务器在口令到达时使用 此密钥对它进行鉴定。

如果 bcp 崩溃,系统将创建一个包含用户口令的核心文件。如果未使 用加密选项,则口令在文件中以纯文本格式显示。如果使用加密选 项,则口令不可读。

-y sybase_directory

设置替代 Sybase 主目录。


-Y

指定在服务器中禁用字符集转换,而是在使用 bcp in 时由 bcp 在客户 端上执行字符集转换。


image

注释 只有 Adaptive Server 15.0 和更高版本支持客户端 Unicode 转换。 所有字符集转换都是在执行 bcp out 期间在服务器中进行的。

image


-z language

是服务器用来显示 bcp 提示和消息的替代语言的正式名称。没有 -z 标 志时, bcp 使用服务器的缺省语言。

可以在安装期间或安装之后,使用 langinstall 实用程序 (或 Windows 中的 langinst)或 sp_addlanguage 存储过程向 Adaptive Server 添加语 言。

如果使用 -z 参数指定了不正确或无法识别的语言,会显示如下错误 消息:

Unrecognized localization object.Using default value 'us_english'.

Starting copy...

=> warning.

-Z security_mechanism

指定用于连接的安全性机制的名称。

在 $SYBASE/install/libtcl.cfg 配置文件中定义安全性机制名称。如果不 提供 security_mechanism 名称,则使用缺省机制。有关安全性机制名 称的详细信息,请参见 《Open Client 和 Open Server 配置指南》中的 libtcl.cfg 文件说明。

--colpasswd [[database_name [owner].]table_name.]column_name [password]]] 通过向 Adaptive Server 发送以下命令,为加密列设置口令: set encryption passwd password for column column_name 。这不会将 口令自动应用到其它加密列,即便是第二列使用相同的密钥加密。在 访问第二列时,还须再提供一次口令。

--hide-vcc

指示 bcp 不向数据文件中或从数据文件中复制虚拟计算列。在 bcp OUT 中使用此选项时,数据文件中不包含用于虚拟计算列的数据。在 bcp IN 中使用此选项时,数据文件中可能不包含用于虚拟计算列的数据。

如果使用此选项,Adaptive Server 将不会计算或发送虚拟计算列数据。


--initstring ["Transact-SQL_command"]

将任何 Transact-SQL 命令设置为当前 isql 会话的初始化字符串。除非 出现错误,否则将自动忽略初始化字符串所发出的结果集。

--keypasswd [[database_name.[owner].]key_name [password]]]

通过向 Adaptive Server 发送以下命令,为通过密钥访问的所有列设置 口令:set encryption passwd password for key key_name。

--maxconn maximum_connections

是 bcp 客户端可以打开的到服务器的最大并行连接数。如果不指定此 参数, bcp 将使用缺省值 10。

--show-fi

指示 bcp 在使用 bcp in 或 bcp out 的同时复制函数索引。 使用此选项可在功能索引与服务器之间双向发送数据。

--skiprows nSkipRows

指示 bcp 在开始从输入文件拷出前跳过指定行数。 --skiprows 的有效 范围介于 0 和输入文件中的实际行数之间。如果提供无效值,则会显 示错误消息。


image

注释 不能将 --skiprows 与 -F 选项一起使用。

image


示例 示例 1将 publishers 表中的数据复制到名为 pub_out 的文件,在此操作中 使用 char 数据类型作为数据文件中所有列的缺省存储类型,并指定缺省 字段终结符和行终结符。

在 UNIX 中,最后一个 “r”前面的第一个反斜杠转义第二个反斜杠, 以便只输出一个反斜杠:

bcp pubs2..publishers out pub_out -c -t , -r \\r

在 Windows 中:

bcp pubs2..publishers out pub_out -c -t , -r \r

示例 2将数据从 publishers 表复制到名为 pub_out 的文件中,以备稍后重 新装载到 Adaptive Server 中。按回车键接受提示指定的缺省值。将数据 复制到 publishers 表中时,将会出现同样的提示:

bcp pubs2..publishers out pub_out Password:

Enter the file storage type of field pub_id [char]: Enter prefix length of field pub_id [0]:

Enter length of field pub_id [4]: Enter field terminator [none]:

Enter the file storage type of field pub_name [char]: Enter prefix length of field pub_name [1]:


Enter length of field pub_name [40]: Enter field terminator [none]:

Enter the file storage type of field city [char]: Enter prefix length of field city [1]:

Enter length of field city [20]: Enter field terminator [none]:

Enter the file storage type of field state [char]: Enter prefix length of field state [1]:

Enter length of field state [2]: Enter field terminator [none]:

在 UNIX 中,提示您:

Do you want to save this format information in a file?[Y-n] y

Host filename [bcp.fmt]:pub_form Starting copy...

3 rows copied.

Clock Time (ms.):total = 1 Avg = 0 (3000.00 rows per sec.)

示例 3将数据从 publishers 表复制到名为 pub_out 的文件中,以备稍后重 新装载到 Adaptive Server 中。按回车键接受提示指定的缺省值。将数据 复制到 publishers 表中时,将会出现同样的提示。

bcp pubs2..publishers out pub_out Password

Enter the file storage type of field pub_id [char]: Enter prefix length of field pub_id [0]:

Enter length of field pub_id [4]: Enter field terminator [none]:

Enter the file storage type of field pub_name [char]: Enter prefix length of field pub_name [1]:

Enter length of field pub_name [40]: Enter field terminator [none]:

Enter the file storage type of field city [char]: Enter prefix length of field city [1]:

Enter length of field city [20]: Enter field terminator [none]

Enter the file storage type of field state [char]: Enter prefix length of field state [1]:

Enter length of field state [2]: Enter field terminator [none]:


然后将提示您:

Do you want to save this format information in a file?[Y-n]

Host filename [bcp.fmt]:pub_form Starting copy...

3 rows copied.


Clock time (ms.):total = 1 Avg = 0 (3000.00 rows per sec.)

示例 4将数据从表 t1 的分区 p1 中复制到当前目录的 mypart.dat 文件中:

bcp t1 partition p1 out mypart.dat

示例 5使用保存的格式文件 pub_form 将数据复制回 Adaptive Server 中:

bcp pubs2..publishers in pub_out -f pub_form

示例 6 完全按照下面所示输入单个字母:

To see examples of datatypes, enter "?" at the prompt: Enter the file storage type of field 'pub_id'

['char']:?

Invalid column type.Valid types are:

<cr>:same type as Adaptive Server column. c :char

T :text i :int

s :smallint t :tinyint f :float

m :money b :bit

d :datetime x :binary

I :image

D :smalldatetime r :real

M :smallmoney n :numeric

e :decimal


示例 7将由 VT200 终端上使用的字符集创建的数据文件复制到

pubs2..publishers 表中。-z 标志使用法语显示 bcp 消息:

bcp pubs2..publishers in vt200_data -J iso_1 -z french

示例 8 (UNIX) 指定正在使用 Macintosh,并在使用 roman8 的工作站上运 行 bcp:

bcp pubs2..publishers in -a mac -J roman8

示例 9指定 Adaptive Server 使用 4096 字节的包大小发送 40K 的 text 或

image 数据:

bcp pubs2..publishers out -T 40960 -A 4096

示例 10将 2 设置为每个操作允许的最大并行连接数。

bcp_r --maxconn 2

示例 11将当前目录中的 mypart.dat 文件复制到表 t1 的分区 p1 中。

bcp t1 partition p1 in mypart.dat

示例 12将分区 p1、 p2 和 p3 分别复制到 \work2\data 目录下的 a、 b 和 c

文件中。

bcp t1 partition p1, p2, p3 out \work2\data\1,

\work2\data\b, \work2\data\c

示例 13将它限制为当前会话,从而禁止 bcp 连接在数据从 titles.txt 传输 到 pubs2..titles 的过程中进行复制。

bcp pubs2..titles in titles.txt --initstring 'set replication off'

没有必要在 bcp 完成后显式重置此配置选项。如果 Adaptive Server 返回 错误,则 bcp 停止数据传输并显示错误消息。

示例 14拷出数据库 db_1,其中包含具有已实现的计算列 c1 的表 t1:

bcp db_1..t1 out db_1.dat -Usa -P -S big_db -I./interfaces -f ./bcp.fmt

示例 15拷入在示例 12 中创建的数据文件 ( db_1.dat ),其中包含具有可实 现的计算列 c1 的表 t1:

bcp db_1..t1 in db_1.dat -Usa -P -S big_db -I./interfaces -f ./bcp.fmt

示例 16将 titles.txt 数据传输至 pubs2..titles 表时,启用快速记录 bcp。

bcp pubs2..titles in titles.txt --initstring 'set logbulkcopy on'


用法 • 如果正在使用线程驱动程序,请将此语法用于 bcp。

• 不能使用命名管道拷入或拷出文件。

• 可以使用 bcp 将加密数据拷入或拷出服务器。请参见 第 55 页的 “批量复制加密数据 ”。

• 虽然可以将任何带有 --initstring 的 Transact-SQL 命令作为 bcp 的初始 化字符串,但在运行 bcp 后仍必须将可能的永久更改重置为服务器 配置。例如,可以在单独的 isql 会话中重置更改。

• bcp 15.7 版及更高版本允许将数据复制到包含非物化列的表中。

• 错误消息格式与以前版本的 bcp 不同。如果有根据这些消息的值执 行例程的脚本,则需要对它们进行重写,例如:

The display message that indicates the number of rows transferred has been changed.During a session, this version of bcp periodically reports a running total of rows transferred.This message replaces the "1000 rows transferred" message displayed by the previous

bcp 。

• 使用 --hide-vcc 可改善性能,因为 Adaptive Server 不传输和计算来自 虚拟计算列的数据。

• 提供 slice_number 是为了与 Adaptive Server 12.5.x 及早期版本向后兼 容,该参数仅可用于循环分区表。

• 可以指定 partition_id 或 partition_name,但不能同时指定两者。

• 可以指定多个分区和数据文件。每个分区名或数据文件名用逗号分隔。

• 如果不提供分区名, bcp 将复制到整个表中。

• 使用 bcp out 时:

• 如果同时指定了 partition_name 和 datafile,则要么 datafile 必须指 定一个数据文件,要么用户必须在分区名和数据文件之间指定 一对一的映射。

• 如果未指定 datafile,则每个分区中的数据将复制到文件名为分 区名加上 . dat 扩展名的文件中。例如,如果分区名为 ptn1,则 该数据文件为 ptn1.dat。

• 可以使用 initstring 运行任何 Transact-SQL 命令,但在 bcp 完成后必 须重置 initstring 对服务器所做的任何永久更改。例如,在上述示例 11 中,如果 Adaptive Server 帐户没有适当的权限,则 Adaptive Server 会为初始化字符串返回一条错误消息。 bcp 会在传输任何数 据之前显示服务器错误消息并停止。

除非出现错误,否则将自动忽略初始化字符串所发出的结果集。


• 使用 bcp in 时,如果指定了 partition_name,则 datafile 必须指定相应 的数据文件数

将 bcp 用于压缩数据

压缩表中的页可能是由行压缩、页压缩或非压缩行组合而成。列为 not compressed 的表和分区可能混有具有不同压缩状态的行,因为它们是在 表的压缩级别不同时创建的。

• bcp out

• 对压缩行进行解压缩并将其返回到客户端 (本机或字符形 式)。

• 支持 IDENTITY、加密列等。

• 返回不压缩的文本数据。

• bcp in 根据表或分区的压缩级别对从客户端收到的非压缩数据进行 压缩。

如果使用 bcp 将数据从配置了压缩的表中拷出,然后通过 bcp 拷回到该 表,则会导致数据被压缩,即使数据最初未压缩也是如此。

权限 您必须具有 Adaptive Server 帐号,并且对传送中要使用的数据库表或视 图以及操作系统文件具有相应权限,才能使用 bcp。

• 若要将数据复制到表中,您必须具有对该表的 insert 权限。

• 要将表复制到操作系统文件中,必须对下面的表具有 select 权限:

• 要复制的表

• sysobjects

• syscolumns

• sysindexes

审计 event 和 extrainfo 列中的值如下所示:

image

审计的命令或访

事件 审计选项

问权限 extrainfo 中的信息

4 bcp bcp in • 角色 – 当前活动角色

• 关键字或选项 – NULL

• 先前值 – NULL

• 当前值 – NULL

• 其它信息 – NULL

• 代理信息 – set proxy 有效时的初始登录名


使用的表 sysaudits_01 ®C sysaudits_08

另请参见 命令 insert

文档 有关 bcp 的深入讨论,请参见 第 4 章 “使用 bcp 从 Adaptive Server 或向 Adaptive Server 传送数据”;有关更改特定参数会对大批量 bcp 有何影响的详细信息,请参见 《性能和调优指南》。

系统过程 sp_audit、 sp_dboption、 sp_displayaudit




--------------------------------------华丽的分割线-------------------------------------------------------------------------

Sybase SQL Anywhere数据库恢复工具ReadASADB:

之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具: ReadASADB。
此工具支持ASA v5.0, v6.0, v7.0, v8.0, v9.0, v10.0, v11.0, v12.0, v16.0, v17.0等版本。
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具。
恢复Sybase SQL Anywhere的工具在国内处于领先水平。

Sybase SQL Anywhere数据库恢复工具ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具
  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

Sybase SQL Anywhere数据库恢复工具ReadASADB的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page
7、*** ERROR *** Assertion failed: 201417 (7.0.4.3541) Invalid count or free space offset detected on a table page
8、Internal database error *** ERROR *** Assertion failed: 201425 (8.0.3.5594) Invalid count or free space offset detected on a free list page -- transaction rolled back.
9、Internal database error *** ERROR *** Assertion failed: 100702 (8.0.1.2600) Unable to modify indexes for a row referenced in rollback log -- transaction rolled back


-------------------------------------------------------------------------------------------

Sybase ASE数据库恢复工具READSYBDEVICE:

一个不依赖数据库管理系统、直接从Sybase数据库设备文件上提取数据的业内领先的恢复工具!
能够从损坏的Sybase ASE设备文件(.dat)上提取数据的非常规恢复工具。

Sybase ASE数据库恢复工具READSYBDEVICE的主要功能:

  1. 被勒索病毒加密数据文件及备份文件情况下的恢复;
  2. 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
  3. 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
  4. delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
  5. 各种Sybase内部系统表损坏、索引错误的修复;
  6. master数据库损坏而无法正常运行情况下的恢复;
  7. Sybase数据库被标记为可疑,不可用等情况的恢复;
  8. Sybase数据库中数据文件内部出现坏块情况下的恢复;
  9. Sybase数据库无数据文件但有日志文件的情况下的恢复;
  10. Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
  11. Sybase数据文件被误删除情况下的碎片提取恢复;
  12. 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
  13. 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
  14. Sybase数据库还原数据库出现失败情况下的恢复;
  15. Sybase数据库只剩下损坏的备份文件情况下的恢复。

Sybase ASE数据库恢复工具READSYBDEVICE支持的版本:

Sybase ASE 11.0.x,11.5.x,11.9.x,12.0.x,12.5.x,15.0.x,15.5.x,15.7.x,16.0.x


-------------------------------------------------------------------------------------------

SQL Server数据库恢复工具SQLRescue:

一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!
能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。

SQL Server数据库恢复工具SQLRescue的主要功能:

  1. 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
  2. 断电导致数据库文件损坏情况下的恢复;
  3. 硬盘坏道造成数据库损坏情况下的恢复;
  4. 数据文件内部存在坏页情况下的恢复;
  5. 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
  6. 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
  7. 无法读取并闩锁页sysindexes失败情况下的修复;
  8. 数据文件被误删除情况下的碎片提取恢复;
  9. 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
  10. master数据库损坏而无法正常运行情况下的恢复;
  11. 数据文件无法附加情况下的数据恢复;
  12. 数据库被标记为可疑,质疑,不可用等情况的恢复;
  13. 数据库sysobjects等系统表损坏情况下的恢复;
  14. 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
  15. 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
  16. 数据库被误格式化等情况下的数据库恢复;
  17. 日志收缩造成数据库损坏情况下的恢复;
  18. 仅剩损坏的备份文件情况下的恢复。

SQL Server数据库恢复工具SQLRescue技术特点:

只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。
  1. 从数据文件中直接恢复数据
  2. 不能附加时直接恢复数据并生成新的数据库
  3. 系统表损坏的数据库修复
  4. 快速修复SQL 823错误、连接中断错误

SQL Server数据库恢复工具SQLRescue支持的版本:

Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------