共用方式為


使用 bcp 指定檔案儲存類型 (SQL Server)

檔案儲存類型 描述資料如何儲存在資料檔中。 資料可以匯出至數據檔作為其資料庫數據表類型(原生格式)、其字元表示法(字元格式),或支援隱含轉換的任何數據類型:例如,複製複製 smallintint。 使用者定義的數據類型會匯出為其基底類型。

檔案儲存類型的 bcp 提示

如果互動式 bcp 命令包含 inout 選項,但沒有格式檔案參數 ( -f) 或資料格式參數 ( -n-c-w-N),此命令就會提示您輸入每個資料欄位的檔案儲存類型,如下所示:

Enter the file storage type of field <field_name> [<default>]:

您對此提示的回應視執行的工作而定,如下所示:

  • 若要以最精簡的儲存方式 (原生資料格式),將 Microsoft SQL Server 執行個體的資料大量匯出到資料檔案,請接受 bcp 提供的預設檔案儲存類型。 如需原生檔案儲存類型的清單,請參閱此主題稍後的<原生檔案儲存類型>。

  • 若要將數據從 SQL Server 實例大量匯出至字元格式的數據檔,請將 指定 char 為數據表中所有數據行的檔案儲存類型。

  • 若要從數據檔大容量導入 SQL Server 實例的數據,請將檔案儲存類型指定為 char 以字元格式儲存的類型,以及針對以原生數據類型格式儲存的數據,視需要指定其中一個檔案儲存類型:

    檔案儲存類型 在命令提示字元中輸入
    char1 c[har]
    varchar c[har]
    nchar w
    nvarchar w
    text 2 T[ext]
    ntext2 W
    binary x
    varbinary x
    image 2 I[mage]
    datetime d[ate]
    smalldatetime D
    time te
    date de
    datetime2 d2
    datetimeoffset do
    decimal n
    numeric n
    float f[loat]
    real r
    Int i[nt]
    bigint B[igint]
    smallint s[mallint]
    tinyint t[inyint]
    money m[oney]
    smallmoney M
    bit b[it]
    uniqueidentifier u
    sql_variant V[ariant]
    timestamp x
    UDT (使用者定義資料類型) U
    XML X

    1 字段長度、前置詞長度和終止符的互動會決定數據檔中針對匯出為 char 檔案儲存類型的非字元數據配置儲存空間量。

    2 未來 ntext版本的 SQL Server 將會移除、 textimage 資料類型。 請避免在新的開發工作中使用這些資料類型,並規劃修改目前使用這些資料類型的應用程式。 請改用 nvarchar(max)varchar(max)varbinary(max)

原生檔案儲存類型

每個原生檔案儲存類型都記錄於格式檔案內,做為對應的主機檔案資料類型。

檔案儲存類型 主檔案資料類型
char1 SQLCHAR
varchar SQLCHAR
nchar SQLNCHAR
nvarchar SQLNCHAR
text 2 SQLCHAR
ntext 2 SQLNCHAR
binary SQLBINARY
varbinary SQLBINARY
image 2 SQLBINARY
datetime SQLDATETIME
smalldatetime SQLDATETIM4
decimal SQLDECIMAL
numeric SQLNUMERIC
float SQLFLT8
real SQLFLT4
int SQLINT
bigint SQLBIGINT
smallint SQLSMALLINT
tinyint SQLTINYINT
money SQLMONEY
smallmoney SQLMONEY4
bit SQLBIT
uniqueidentifier SQLUNIQUEID
sql_variant SQLVARIANT
timestamp SQLBINARY
UDT (使用者定義資料類型) SQLUDT

1 以字元格式儲存的數據檔會使用 char 作為檔案儲存類型。 因此,對於字元資料檔案,SQLCHAR 是唯一會出現在格式檔案中的資料類型。

2 您無法將資料大容量導入具有 textDEFAULT 值的、 ntext和資料 image 行。

檔案儲存類型的額外考量

當您將 SQL Server 執行個體的資料大量匯出到資料檔案時:

  • 您一律可以指定 char 為檔案儲存類型。

  • 如果您輸入的檔案儲存類型代表無效的隱含轉換,bcp 會失敗;例如,雖然您可以int指定smallint數據,但如果您指定smallintint數據,則溢位錯誤結果。

  • 當 、moneydatetimeintfloat非字元數據類型儲存為其資料庫類型時,數據會以 SQL Server 原生格式寫入數據檔。

    注意

    以互動方式在 bcp 命令中指定所有欄位之後,此命令會提示您將每個欄位的回應以非 XML 格式的檔案加以儲存。 如需非 XML 格式檔案的詳細資訊,請參閱非 XML 格式檔案 (SQL Server)

另請參閱

bcp 公用程式
資料類型 (Transact-SQL)
使用 bcp 指定欄位長度 (SQL Server)
指定欄位與資料列結束字元 (SQL Server)
使用 bcp 指定資料檔的前置長度 (SQL Server)