これが1回限りの(またはめったにない)ことである場合は、次の説明に従って、SSMSウィザードからデータをスクリプト化してみてください。
http:/ /sqlblog.com/blogs/eric_johnson/archive/2010/03/08/script-data-in-sql-server-2008.aspx
または、これを頻繁に行う必要があり、自動化したい場合は、 SQL#> SQLCLRライブラリ(私が作成したもので、ほとんどは無料ですが、ここで必要な関数は無料ではありません)。これを行う関数はDB_DumpDataです また、 INSERT
も生成します ステートメント。
ただし、これが1回限りのタスクまたはまれなタスクである場合は、ManagementStudioに組み込まれているデータエクスポートウィザードを試してください。これにより、本番環境で実行できるSQLスクリプトを作成できるようになります。 VARBINARY(MAX)
を使用してテーブルでこれをテストしました 3,365,964バイトのデータを含むフィールドとスクリプトの生成ウィザードがINSERT
を生成しました その1つの値に対して673万文字の16進文字列全体を含むステートメント。
更新:
INSERTステートメント全体をコピーしてSQLスクリプトに貼り付けることができ、BCPやSSMSエクスポートウィザードを気にする必要がない方法でこれを行うもう1つの迅速で簡単な方法は、値を<に変換することです。 code> XML 。まず、 CONVERT
VARBINARY
VARCHAR(MAX)
へ オプションのスタイル「1」を使用すると、「0x」で始まる16進文字列が得られます。バイナリデータの16進文字列を取得したら、それを INSERT
に連結できます。 XML
に変換すると、ステートメントとそのすべてが 、 VARBINARY
全体を含めることができます 分野。次の例を参照してください:
DECLARE @Binary VARBINARY(MAX) = CONVERT(VARBINARY(MAX),
REPLICATE(
CONVERT(NVARCHAR(MAX), 'test string'),
100000)
)
SELECT 'INSERT INTO dbo.TableName (ColumnName) VALUES ('+
CONVERT(VARCHAR(MAX), @Binary, 1) + ')' AS [Insert]
FOR XML RAW;