Sql server Datagrip的导入CSV运行哪些查询?

Sql server Datagrip的导入CSV运行哪些查询?,sql-server,sql-server-2012,jetbrains-ide,datagrip,Sql Server,Sql Server 2012,Jetbrains Ide,Datagrip,我正在使用DataGrip的“将CSV导入数据库”选项,如下所示: 但我想了解DataGrip对我的数据库运行的查询是什么。我正在使用MS SQL SERVER 2012 通过单击DDL预览选项卡,我可以看到以下代码段: CREATE TABLE VESSEL_POSITIONS.dbo.[SOFS_T-AIS] ( imo INT, MESSAGE_SOURCE TEXT, MSG_SRC_COUNT INT ) 但我想了解实际的插入是如何完成的 这似乎有点太神奇了,

我正在使用DataGrip的“将CSV导入数据库”选项,如下所示:

但我想了解DataGrip对我的数据库运行的查询是什么。我正在使用MS SQL SERVER 2012

通过单击DDL预览选项卡,我可以看到以下代码段:

CREATE TABLE VESSEL_POSITIONS.dbo.[SOFS_T-AIS]
(
    imo INT,
    MESSAGE_SOURCE TEXT,
    MSG_SRC_COUNT INT
)
但我想了解实际的插入是如何完成的


这似乎有点太神奇了,我想了解更多。

您需要捕获执行的语句,或者使用session,或者使用。建议使用扩展事件。您需要创建一个会话,并指定您感兴趣的事件以及存储捕获数据的位置。在SSMS中打开查询窗口并运行此查询:

CREATE EVENT SESSION [Capture_Datagrip_Queries]
ON SERVER
ADD EVENT sqlserver.sql_statement_completed(
    ACTION 
    (
            sqlserver.sql_text
    )
    WHERE 
    (
            database_id = 9
    )
)
ADD TARGET package0.event_file
(
    SET filename = 'D:\XE\Datagrip.xel',
        max_file_size = 5,
        max_rollover_files = 1
)
将运行查询的数据库的database_id放在我的示例中是9。您可以通过执行此查询select db_idN'MyDatabaseName'来获得它。这将通过仅捕获相关信息来减少开销,但where部分是可选的。还要记住,该文件将在运行SQL Server的计算机上创建。不要从本地计算机添加路径。此外,如果愿意,还可以添加要捕获的其他信息

创建此会话后,您可以使用以下查询启动/停止该会话:

ALTER EVENT SESSION [Capture_Datagrip_Queries] ON SERVER STATE = START
ALTER EVENT SESSION [Capture_Datagrip_Queries] ON SERVER STATE = STOP
或者在SSMS中使用对象资源管理器中的“管理\扩展事件\会话”节点。不要让会话运行超过需要的时间


您可以在SSMS中看到结果-会话下有一个package0.event_文件节点。双击它以查看收集的数据。

您需要使用会话或使用捕获执行的语句。建议使用扩展事件。您需要创建一个会话,并指定您感兴趣的事件以及存储捕获数据的位置。在SSMS中打开查询窗口并运行此查询:

CREATE EVENT SESSION [Capture_Datagrip_Queries]
ON SERVER
ADD EVENT sqlserver.sql_statement_completed(
    ACTION 
    (
            sqlserver.sql_text
    )
    WHERE 
    (
            database_id = 9
    )
)
ADD TARGET package0.event_file
(
    SET filename = 'D:\XE\Datagrip.xel',
        max_file_size = 5,
        max_rollover_files = 1
)
将运行查询的数据库的database_id放在我的示例中是9。您可以通过执行此查询select db_idN'MyDatabaseName'来获得它。这将通过仅捕获相关信息来减少开销,但where部分是可选的。还要记住,该文件将在运行SQL Server的计算机上创建。不要从本地计算机添加路径。此外,如果愿意,还可以添加要捕获的其他信息

创建此会话后,您可以使用以下查询启动/停止该会话:

ALTER EVENT SESSION [Capture_Datagrip_Queries] ON SERVER STATE = START
ALTER EVENT SESSION [Capture_Datagrip_Queries] ON SERVER STATE = STOP
或者在SSMS中使用对象资源管理器中的“管理\扩展事件\会话”节点。不要让会话运行超过需要的时间

您可以在SSMS中看到结果-会话下有一个package0.event_文件节点。双击它以查看收集的数据。

您可以在完整的SQL日志中观察DataGrip运行的所有查询

您可以在完整的SQL日志中观察DataGrip运行的所有查询