|
|
#1 |
|
Участник
|
Выполнение бэкапа БД из кода
Доброго дня! Возникла потребность вызывать создания бэкапа (также хотел вызывать пересчет индексов, но с ним такая же проблема) во время длительной операции. Решил создавать из кода, но вылазит ошибка: "Сбой запроса на разрешение типа "SqlStatementExecutePermission""
В SQL аккаунт АОСа админ. Также пробовал отдельно ему дать bakupoperator - не помогло. X++: static server void tryBackUp(Args _args) { SqlStatementExecutePermission sqlStatementExecutePermission; str strSQL; Connection connection = new Connection(); Statement statement = connection.createStatement(); SysSQLSystemInfo SQLSystemInfo = SysSQLSystemInfo::construct(); date m_dateBackUp = systemDateGet(); Filename m_backUpFileName = "E:\\file.bak"; str _backupName = 'test'; ; strSQL = StrFmt("BACKUP DATABASE [%1]" + " TO DISK = N'%2'" + " WITH COMPRESSION," + " NOFORMAT," + " NOINIT," + " NAME = N'%3'," + " SKIP," + " NOREWIND," + " NOUNLOAD", SQLSystemInfo.getloginDatabase(), m_backUpFileName, _backupName); sqlStatementExecutePermission = new SqlStatementExecutePermission(strSQL); sqlStatementExecutePermission.assert(); statement.executeUpdate( strSQL ); CodeAccessPermission::revertAssert(); } SQL Server 20.2.37.0 |
|
|