我正在使用 SQL Server 2017,并希望在脚本中使用“bcp in”来填充多个数据库中的表。我无法将数据导入到具有索引视图的表中。以下是重现我的问题的 MCVE:
运行本文末尾的脚本,用两个表、一个索引视图和一些数据填充测试数据库。
运行bcp out将表Table1中的测试数据导出到文件中:
bcp [dbo].[Table1] out .\Table1.bcp -S "localhost" -d TestDB -T -k -N
Run Code Online (Sandbox Code Playgroud)
DELETE FROM [dbo].[Table1]
Run Code Online (Sandbox Code Playgroud)
bcp [dbo].[Table1] in .\Table1.bcp -S "localhost" -d TestDB -T -k -N
Run Code Online (Sandbox Code Playgroud)
结果:失败并显示错误消息INSERT failed because the following SET options have incorrect settings: 'QUOTED_IDENTIFIER'...
注意:如果我在视图上删除索引 [ix_v1],这将会成功:仅当表被索引视图引用时才会出现该问题。
bcp [dbo].[Table1] in .\Table1.bcp -S "localhost" -d TestDB -T -k -N -q
Run Code Online (Sandbox Code Playgroud)
结果:失败并显示错误消息Invalid object …