随着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数据库技术问题需要咨询,请联系我!
以下官方手册为ASE 15.7 ESD#2中文版:
- 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
- 新增功能摘要
- 新增功能指南
- ASE 15.7 发行公告
- 配置指南(windows)
- 安装指南(windows)
- 参考手册:构件块
- 参考手册:命令
- 参考手册:过程
- 参考手册:表
- Transact-SQL® 用户指南
- 系统管理指南,卷 1
- 系统管理指南,卷 2
- 性能和调优系列:基础知识
- 性能和调优系列:锁定和并发控制
- 性能和调优系列:监控表
- 性能和调优系列:物理数据库调优
- 性能和调优系列:查询处理和抽象计划
- 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
- 性能和调优系列:利用统计分析改进性能
- 程序员参考 jConnect for JDBC 7.0.7
- Adaptive Server Enterprise 中的 Java
- 组件集成服务用户指南
- Ribo 用户指南
- 内存数据库用户指南
- Sybase Control Center for Adaptive Server® Enterprise
- 安全性管理指南
- 实用程序指南
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。
注释 如果将批量大小设置为 1,将使 Adaptive Server 为拷入的一行分 配一个数据页。该选项仅适用于快速 bcp,且仅用于确定损坏的数据行 的位置。使用 -b1 时要小心,因为使用该参数值将导致为每一行都分配 一个新页,因此会占用大量空间。
-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 将 不对每个字段进行提示。使用本机数据格式的文件为人工不可读格式。
警告!不要使用:
• 在数据恢复、抢救或处理紧急情况时,以本机格式使用 bcp。
• 以本机格式使用 bcp 在不同硬件平台、不同操作系统或主版本不同 的 Adaptive Server 之间传输数据。
• 在采用本机格式的 bcp 中使用字段终结符 (-t) 或行终结符 (-r)。 否则结果是不可预料的,并且数据可能会损坏。
以本机格式使用 bcp 可能创建无法重新装载到 Adaptive Server 中的平面 文件且恢复数据可能变得不可能。如果不能以字符格式重新运行 bcp
(例如,表被截断或被删除,硬件损坏,数据库被删除,等等),数据 将是不可恢复的。
-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
指定行终结符。
警告!不要以本机格式在 bcp 中使用 -t 或 -r 参数。否则结果是不可预料 的,并且数据可能会损坏。
从命令行使用 -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 在客户 端上执行字符集转换。
注释 只有 Adaptive Server 15.0 和更高版本支持客户端 Unicode 转换。 所有字符集转换都是在执行 bcp out 期间在服务器中进行的。
-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 和输入文件中的实际行数之间。如果提供无效值,则会显 示错误消息。
注释 不能将 --skiprows 与 -F 选项一起使用。
示例 示例 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 列中的值如下所示:
审计的命令或访
事件 审计选项
问权限 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)上提取数据的非常规恢复工具
- 适用于所有的SQL Anywhere版本 包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.x
- 适用于所有的UltraLite版本
- 能够恢复出来表结构和数据
- 能够恢复自定义数据类型
- 能够恢复存储过程等对象的语法
- 能够导出到目标数据库
- 能够导出到SQL文件并生成导入脚本
- 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
- 能够恢复未加密或者简单加密类型的数据
- 简单易用
- 限制:不支持AES加密的数据文件
SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍
Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景
各种误操作:
- 误截断表(truncate table)
- 误删除表(drop table)
- 错误的where条件误删数据
- 误删除db或log文件
- 误删除表中的字段
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的主要功能:
- 被勒索病毒加密数据文件及备份文件情况下的恢复;
- 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
- 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
- delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
- 各种Sybase内部系统表损坏、索引错误的修复;
- master数据库损坏而无法正常运行情况下的恢复;
- Sybase数据库被标记为可疑,不可用等情况的恢复;
- Sybase数据库中数据文件内部出现坏块情况下的恢复;
- Sybase数据库无数据文件但有日志文件的情况下的恢复;
- Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
- Sybase数据文件被误删除情况下的碎片提取恢复;
- 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
- 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
- Sybase数据库还原数据库出现失败情况下的恢复;
- 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.xSQL Server数据库恢复工具SQLRescue:
一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。
SQL Server数据库恢复工具SQLRescue的主要功能:
- 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
- 断电导致数据库文件损坏情况下的恢复;
- 硬盘坏道造成数据库损坏情况下的恢复;
- 数据文件内部存在坏页情况下的恢复;
- 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
- 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
- 无法读取并闩锁页sysindexes失败情况下的修复;
- 数据文件被误删除情况下的碎片提取恢复;
- 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
- master数据库损坏而无法正常运行情况下的恢复;
- 数据文件无法附加情况下的数据恢复;
- 数据库被标记为可疑,质疑,不可用等情况的恢复;
- 数据库sysobjects等系统表损坏情况下的恢复;
- 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
- 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
- 数据库被误格式化等情况下的数据库恢复;
- 日志收缩造成数据库损坏情况下的恢复;
- 仅剩损坏的备份文件情况下的恢复。
SQL Server数据库恢复工具SQLRescue技术特点:
只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。- 从数据文件中直接恢复数据
- 不能附加时直接恢复数据并生成新的数据库
- 系统表损坏的数据库修复
- 快速修复SQL 823错误、连接中断错误
SQL Server数据库恢复工具SQLRescue支持的版本:
Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。+-------------------------------------华丽的分割线-------------------------------------------------------------------------