Как передать sql зашифрованные данные между базами данных SQL Server 2005?

Ваш подход к запоминанию не будет работать, потому что, когда вы достигнете некоторого индекса i, если вы уже вычислили какой-то результат для i, ваш алгоритм не учитывает тот факт, что может быть лучше Результат можно получить, ограбив более оптимальный набор домов в левой части массива.

Решение этой дилеммы состоит в том, чтобы не пропускать бегущую value (деньги, которые вы ограбили) вниз через рекурсивные звонки от родителей к детям. Идея состоит в том, чтобы вычислить результаты подзадачи без какого-либо ввода от узлов-предков, а затем построить более крупные решения из меньших по пути к стеку вызовов.

Затем будет работать запоминание индекса i, поскольку данный индекс i всегда будет иметь уникальный набор подзадач, решения которых не будут искажены при выборе из предков в левой части массива. Это сохраняет оптимальную подструктуру, необходимую для работы DP.

Кроме того, я рекомендую избегать глобальных переменных в пользу передачи ваших данных непосредственно в функцию.

def maximize_robberies(houses, memo, i=0):
    if i in memo:
        return memo[i]
    elif i >= len(houses):
        return 0

    memo[i] = max(
        houses[i] + maximize_robberies(houses, memo, i + 2),
        maximize_robberies(houses, memo, i + 1)
    )
    return memo[i]


print(maximize_robberies([1, 2, 1, 1], {}))

Попробуйте!

7
задан Andy Lester 20 October 2008 в 20:28
поделиться

1 ответ

Симметричные ключи, к которым Вы обращаетесь, являются Главными ключами Базы данных (DMKs). Они сохранены на уровне Базы данных, таким образом, резервное копирование/восстановление на другой SQL-сервер должно работать хорошо (с протестом отличающихся сервисных учетных записей, которые этот поток ссылается на),

Прежде чем Вы сделаете что угодно удостоверяется, что у Вас есть резервное копирование Ваших ключей (по-видимому, Вы уже сделали это):

USE myDB
GO
BACKUP MASTER KEY TO FILE = 'path_to_file'
    ENCRYPTION BY PASSWORD = 'password'
GO

От этой статьи:

При создании Главного ключа Базы данных копия шифруется с предоставленным паролем и хранится в текущей базе данных. Копия также шифруется с Сервисным Главным ключом и хранится в основной базе данных. Копия DMK позволяет серверу автоматически дешифровать DMK, функцию, известную как "автоматическое управление ключами". Без автоматического управления ключами необходимо использовать оператор OPEN MASTER KEY и предоставить пароль каждый раз, когда Вы хотите зашифровать и/или дешифровать данные с помощью сертификатов и ключей, которые полагаются на DMK для безопасности. С автоматическим управлением ключами не требуются оператор OPEN MASTER KEY и пароль.

3
ответ дан 7 December 2019 в 16:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: