Можно ли сохранить файл трассировки / файл расширенных событий в другом разделе, отличном от диска C на сервере?Или вообще другой сервер? - PullRequest
0 голосов
/ 23 мая 2019

Недавно я настроил и запустил некоторые трассировки и расширенные события в SQL на нашем новом виртуальном сервере, чтобы показать доступ, который пользователи имеют к каждой базе данных и недавно ли они вошли в систему, и настроил файл для сохранения какфизический файл на сервере, а не запись в таблицу SQL для экономии ресурсов.Я установил трассировки как задания, выполняемые в 8 утра каждое утро с 12-часовой задержкой, чтобы мы могли записать как можно больше информации.

Наш ИТ-отдел в идеале не хочет ничего, кроме ОС на диске C виртуального сервера, поэтому я хотел бы иметь возможность записать трассировку из моего сценария SQL либо в другой раздел, либок другому серверу.

Я попытался вставить прямой путь к другому серверу в моем коде и ввел другой раздел в C, однако, если я не записываю файлы трассировки / расширенные события на диск C, яполучить сообщение об ошибке.

CREATE EVENT SESSION [LoginTraceTest] ON SERVER    
ADD EVENT sqlserver.existing_connection(SET collect_database_name= 
(1),collect_options_text=(1)      
ACTION(package0.event_sequence,sqlos.task_time,sqlserver.client_pid,
sqlserver.database_id,sqlserver.
database_name,sqlserver.is_system,sqlserver.nt_username,sqlserver.request_id,sqlserver.server_principal_sid,sqlserver.session_id,sqlserver.session_nt_username,
sqlserver.sql_text,sqlserver.username)),  
ADD EVENT sqlserver.login(SET collect_database_name= 
(1),collect_options_text=(1)      
ACTION(package0.event_sequence,sqlos.task_time,sqlserver.client_pid,sqlserver.database_id,sqlserver.database_name,sqlserver.is_system,sqlserver.nt_username,sqlserver.request_id,sqlserver.server_principal_sid,sqlserver.session_id,sqlserver.
session_nt_username,sqlserver.sql_text,sqlserver.username)      )   
ADD TARGET package0.asynchronous_file_target    (      
SET FILENAME = N'\\SERVER1\testFolder\LoginTrace.xel',      
METADATAFILE = N'\\SERVER1\testFolder\LoginTrace.xem'      );     

Я получаю следующую ошибку:

Msg 25641, Level 16, State 0, Line 6 For target, "package0.asynchronous_file_target", the parameter "filename" passed is invalid. Target parameter at index 0 is invalid

Если я изменю его на другой раздел, а не на другой сервер:

SET FILENAME = N'D:\Traces\LoginTrace\LoginTrace.xel',      
METADATAFILE = N'D:\Traces\LoginTrace\LoginTrace.xem'      );        

SQL-сервер сообщает, что команда выполнена успешно, но файл не записан в раздел.

Любые идеи, пожалуйста, относительно того, что я могу сделать, чтобы записать файлы на другой раздел или сервер?

...