共用方式為


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

檔案儲存類型 描述資料如何儲存在資料檔中。 資料可以依其資料庫資料表類型 (原生格式)、依其字元表示 (字元格式),或者依支援隱含轉換的任何資料類型匯出至資料檔;例如,將 smallint 複製為 int。 使用者自訂資料類型會依其基底類型匯出。

檔案儲存類型的 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
    text2 T[ext]
    ntext2 W
    binary x
    varbinary x
    image2 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
text2 SQLCHAR
ntext2 SQLNCHAR
binary SQLBINARY
varbinary SQLBINARY
image2 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 您無法將資料大量匯入具有 text DEFAULT 值的 、 ntext 和資料 image 行。

檔案儲存類型的額外考量

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

  • 您永遠可以將檔案儲存類型指定為 char

  • 如果您輸入的檔案儲存類型代表不正確隱含轉換, bcp 會失敗;例如,雖然您可以指定 intsmallint 資料,但如果您指定 smallintint 資料,則會產生溢位錯誤。

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

    注意

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

另請參閱

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