前提・実現したいこと
SQL Serverでテーブルを複製したいです。
DB:TestDB
TABLE:tbl_t1res
↓ tbl_t1resをtbl_t2resに複製(新規作成)
DB:TestDB
TABLE:tbl_t2res
発生している問題・エラーメッセージ
(1)bcpを実行した結果、下記のエラーとなりました。
bcpは既存のテーブルに対してのみインポートできるのでしょうか。
- bcpエクスポート
# bcp TestDB.dbo.tbl_t1res out '/tmp/TestDB_tbl_t1res_bcp.out' -c -S localhost -U SA Password: Starting copy... 490 rows copied. Network packet size (bytes): 4096 Clock Time (ms.) Total : 91 Average : (5384.6 rows per sec.) #
- bcpフォーマットファイル作成
# bcp TestDB.dbo.tbl_t1res format null -f '/tmp/TestDB_tbl_t1res_bcp.fmt' -c -S localhost -U SA
- bcpインポート(★エラー)
# bcp TestDB.dbo.tbl_t2res in '/tmp/TestDB_tbl_t1res_bcp.out' -f '/tmp/TestDB_tbl_t1res_bcp.fmt' -S localhost -U SA Password: SQLState = S0002, NativeError = 208 'TestDB.dbo.tbl_t2res' L!合Yer 17 for SQL Server][SQL Server]・硯・ SQLState = 37000, NativeError = 11529 Error = [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]畤莫杉gM~[gW_Yyfn栢 頻合・鑅zW~Y kdDfo緲kzW_・鋿gWfO`UD #
(2)bcpの応答メッセージが文字化けします。文字コードの問題だと推測していますが、見当が付かず、ご支援いただきたいです。なお、sqlcmdとエラーログ(/var/opt/mssql/log/errorlog)は、ターミナルをUTF-8に設定することで文字化けせずに参照可能です。
- sqlcmd # sqlcmd -H localhost -U SA Password: Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : ユーザー 'SA' はログインできませんでした。. #
- エラーログ(/var/opt/mssql/log/errorlog)
2020-05-31 13:45:42.35 Logon エラー: 18456、重大度: 14、状態: 8。 2020-05-31 13:45:42.35 Logon Login failed for user 'SA'. 理由: パスワードが、指定されたログインのパスワードと一致しませんでした。 [クライアント: 127.0.0.1]
補足情報(FW/ツールのバージョンなど)
CentOS Linux release 7.8.2003 (Core)
Microsoft SQL Server 2019 (RTM-CU4) (KB4548597) - 15.0.4033.1 (X64)
BCP Version: 17.4.0001.1
LANG環境変数:ja_JP.eucJP(mssql-server.serviceはsystemctlで起動。)
※SQL Serverセットアップ時、一時的にja_JP.UTF-8に変更。
あなたの回答
tips
プレビュー