开源中文网

您的位置: 首页 > 数据库应用 > Sybase > 正文

SYBASE备份BCP命令

来源: 网络整理  作者: 佚名

bcp命令处理数据的备份和恢复,该命令对数据的操作不产生日志。
bcp常用格式:
bcp dbname..tablename+in/out 文件(带路径) -Usa –Ppassword -Sservername –c
解释:dbname为要备份的数据库名字
      tablename为要备份的表的名字
      in/out 备份用out,恢复用in
      文件:备份形成的文件或恢复需要的数据文件,要求包含文件的路径信息
      password:sa的口令
      servername:如本机器连接多个数据库服务器,则需要指定相应的数据库服务器
      -c:使用可见文本方式导出数据
利用SQL语句形成上述操作需要的所有文件:
select ‘bcp dbname..’+name+’ out /opt/sybase/backup/’+name+’.bcp’+’ –Usa –Ppassword -Sservername –c’ from sysobjects where type=’U’ and name not like '#%'
select ‘bcp dbname..’+name+’ in  /opt/sybase/backup/’+name+’.bcp’+’ –Usa –Ppassword -Sservername –c’ from sysobjects where type=’U’ and name not like '#%'
参数列表:
usage: bcp [[database_name.]owner.]table_name[:slice_number] {in | out} datafile
        [-m maxerrors] [-f formatfile] [-e errfile]
        [-F firstrow] [-L lastrow] [-b batchsize]
        [-n] [-c] [-t field_terminator] [-r row_terminator]
        [-U username] [-P password] [-I interfaces_file] [-S server]
        [-a display_charset] [-q datafile_charset] [-z language] [-v]
        [-A packet size] [-J client character set]
        [-T text or image size] [-E] [-g id_start_value] [-N] [-X]
        [-M LabelName LabelValue] [-labeled]
        [-K keytab_file] [-R remote_server_principal]
        [-V [security_options]] [-Z security_mechanism] [-Q] [-Y]
database_name:
  如果正被复制的表位于缺省数据库或 master 中,则此参数是可选项。否则,必须指定数据库名。
owner      
  如果您或数据库所有者拥有正被复制的表,则此参数是可选项。如果未指定所有者,bcp 首先查找您所拥有的表是否有此名称,然后查找
  数据库所有者所拥有的表是否有此名称。如果其他用户拥有此表,则必须指定所有者名,否则命令将失败。
table_name
         要复制的数据库表的名称。表名不能是 Transact-SQL 保留字。分区号 partition_number 并不存在于表 table_name 中。
slice_number
         要复制的数据库表的数据段的编号。
in | out
         复制方向。in 表示从文件向数据库表中复制;out 表示从数据库表或视图向文件复制。
datafile
         操作系统文件的全路径名。路径名的长度可以是 1 到 255 个字符。
-m maxerrors
         在 bcp 中止复制之前,允许的最大非致命错误数。bcp 放弃不能插入的每一行(由于转换错误,或尝试向不允许有空值的列中插入空值〕,同时将每个被放弃的行计为一个错误。如果不包括此参数,
         bcp 将使用缺省值 10。
- f formatfile
         文件的完整路径名,该文件存储着上次在同一个表上使用 bcp 时的应答。回答 bcp 的格式提问后,它提示您将回答保存到一个格式文件中。格式文件的创建是可选的。缺省文件名是 bcp.fmt。bcp 程序可以在复制数据时引用格式文件,这样用户就不必以交互式方式重复以前的格式应答。只有在用户以前创建了希望现在用于拷入或拷出的格式文件的情况下,才使用 -f 参数。如果不指定此参数,bcp 将以交互方式向用户询问有关格式的信息。
- e errfile
         错误文件的全路径名,bcp 在其中存储无法从文件传送给数据库的所有行。来自 bcp 的错误消息显示在终端上。bcp 只在指定此参数后才创建错误文件。
- F firstrow
         要从输入文件中复制的第一行的行号 (缺省为第一行) 。在执行多进程复制这一繁重任务时应避免使用 -F 选项,因为它通常导致 bcp 占用更多资源来运行,且不能加快进程。而应将 -F 用于单个进程,进行即席复制。
- L lastrow
         要从输入文件复制的最后一行的行号 (缺省为最后一行)。
- b batchsize
         每批数据中被复制的行数 (缺省为复制一批数据的所有行)。批量复制只适用于批量拷入;对批量拷出不起作用。bcp 接受的 batchsize 的最小数值为 1。
- n
         使用本机(操作系统)格式执行复制操作。指定 -n 参数意味着 bcp 将不对每个字段进行提示。使用本机数据格式的文件为人工不可读格式。
- c
         使用 char 数据类型作为数据文件中所有列的缺省数据类型来进行复制操作。如果要在平台间共享数据,则使用这种格式。此参数不对每个字段进行提示;它使用 char 作为缺省的存储类型,没有前缀,使用 \t(制表符)作为缺省的字段终结符,并且使用 \n (换行符)作为缺省的行终结符。
- t field_terminator
         指定缺省的字段终结符。
- r row_terminator
         指定行终结符。
-U username
         指定 Adaptive Server 的登录名。
- P password
         指定 Adaptive Server 口令。如果没有指定 -Ppassword,bcp 将提示输入口令。如果口令是 NULL,可以省略 -P 标志。
- I interfaces_file
         指定连接到 Adaptive Server 时要搜索的接口文件的名称和位置。如果没有指定 -I,bcp 将在 SYBASE 环境变量(Windows NT 中的 ini 目录)指定的目录中查找接口文件 (Windows NT 中的 sql.ini)。
- S server
         指定要连接到的 Adaptive Server 名。如果指定不带参数的 -S,bcp 将使用 DSQUERY 环境变量指定的服务器。
- 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.
- z language
         是服务器用来显示 bcp 提示和消息的替代语言的正式名称。没有 -z 标志时,bcp 使用服务器的缺省语言。可以在安装期间或安装之后,使用 langinstall 实用程序 (或 Windows NT 中的 langinst)或 sp_addlanguage 存储过程向 Adaptive Server 添加语言。
         如果使用 -z 参数指定了不正确或无法识别的语言,会显示如下错误消息:
         Unrecognized localization object. Using default value 'us_english'.Starting copy...=> warning.
- v
         显示 bcp 的版本号和版权消息,并返回操作系统。
- A packet_size
         指定用于此 bcp 会话的网络包大小。例如:bcp pubs2..titles out table_out -A 2048为此 bcp 会话将包大小设置为 2048 字节。 packet_size 必须介于 default network packet size 和 maximum network packet size 配置变量的值之间,且必须是 512 的倍数。使用大于缺省值的网络包大小可提高大批量复制操作的性能。
- 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.
- T text_or_image_size
         允许以字节为单位指定 Adaptive Server 发送的 text 或 image 数据的最大长度。缺省值为 32K。如果 text 或 image 字段大于 -T 的值或缺省值,bcp 不会发送此溢出值。
- E
         显式指定表的 IDENTITY 列的值。缺省情况下,在向包含 IDENTITY 列的表中批量复制数据时,bcp 将为每行指派一个临时的 IDENTITY 列值 0。这仅在向表中复制数据时有效。bcp 从数据文件中读取 ID 列的值,但是不将值发送给服务器。相反,在 bcp 向表中插入每一行时,服务器为每行指定一个唯一的、连续的 IDENTITY 列值,起始值为 1。如果向表中复制数据时指定了 - E 标志,bcp 将从数据文件中读取列值,并将该值发送给向表中插入该值的服务器。如果插入的行数超过了 IDENTITY 列可能的最大值,Adaptive Server 将返回一个错误。将数据批量复制出来时,-E 参数不起作用。Adaptive Server 会将 ID 列复制到数据文件,除非您使用 -N 参数。
         不能同时使用 -E 和 -g 标志。
- g id_start_value
         指定将 IDENTITY 列的值作为拷入数据的起点。
         不能同时使用 -g 和 -E 标志。
- N
         跳过 IDENTITY 列。在以下情况下使用该参数:拷入数据时主机数据文件不包含 IDENTITY 列值的占位符;或者拷出数据时不希望主机文件中包含 IDENTITY 列信息。拷入数据时,-N 和 -E 参数不能同时使用。
- X
         指定在与服务器的这次连接中,应用程序启动带客户端口令加密的登录。bcp (客户端)通知服务器希望进行口令加密。服务器返回一个密钥,bcp 使用此密钥加密口令,然后服务器在口令到达时使用此密钥对它进行鉴定。如果 bcp 崩溃,系统将创建一个包含用户口令的核心文件。如果未使用加密选项,则口令在文件中以纯文本格式显示。如果使用加密选项,则口令不可读。
- K keytab_file
         指定用于 DCE 中鉴定的 keytab 文件的路径。
- R remote_server_principal
         按照安全性机制的定义为服务器指定主管名。缺省情况下,服务器的主管名与服务器的网络名 (由 -S 参数或 DSQUERY 环境变量指定)相匹配。当服务器的主管名和网络名不一致时,使用 -R 参数。
- V security_options
         指定基于网络的用户鉴定。使用此选项时,用户必须在运行实用程序之前登录到网络的安全系统。在这种情况下,用户必须用 -U 选项提供其网络用户名;任何用 -P 选项提供的口令都将被忽略。
         - V 后面可接一组 security_options 关键字母选项来启用其它安全服务。
             这些关键字母包括:
             · c - 启用数据保密性服务
             · i - 启用数据完整性服务
             · m - 启用连接建立过程中的相互鉴定
             · o - 启用数据源加戳服务
             · r - 启用数据重放检测
             · q - 启用顺序混乱检测
- Z security_mechanism
         指定用于连接的安全性机制名称。
         在 $SYBASE/install/libtcl.cfg 配置文件中定义安全性机制名称。如果不提供 security_mechanism 名称,则使用缺省机制。
- Q
         提供对 bcp 版本 10.0.4 的向后兼容性,以用于可空列的复制操作。
- Y
         指定字符集转换在服务器中被禁用,而是在使用 bcp IN 时由 bcp 在客户端上执行。

Tags:备份 命令
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明