我有30多个使用TDE加密的数据库。要备份数据库,必须关闭加密并放下我创建的游标的加密密钥,该游标会打印出“ ALTER DATABASE SET ENCRYPTION OFF”语句。但是我想要执行,而不必单独执行每个执行。
此语句为您提供数据库的当前加密状态。
3 =加密“开启”
1 =加密“关闭”
final ContentValues event = new ContentValues();
event.put(CalendarContract.Events.CALENDAR_ID, calendarId);
event.put(CalendarContract.Events.TITLE, name);
event.put(CalendarContract.Events.DTSTART, millisstarttime);
event.put(CalendarContract.Events.DTEND, millisendtime);
event.put(CalendarContract.Events.EVENT_LOCATION, venue);
event.put(CalendarContract.Events.ALL_DAY, 0); // 0 for false, 1 for true
event.put(CalendarContract.Events.HAS_ALARM, 1);
event.put(CalendarContract.Events.ACCESS_LEVEL, CalendarContract.Events.ACCESS_PRIVATE);
event.put(CalendarContract.Events.AVAILABILITY, CalendarContract.Events.AVAILABILITY_BUSY);// 0 for false, 1 for true
String timeZone = TimeZone.getDefault().getID();
event.put(CalendarContract.Events.EVENT_TIMEZONE, timeZone);
this.getContentResolver().insert(baseUri, event);
光标:
SELECT e.encryption_state,d.name, e.percent_complete
FROM sys.databases d
INNER JOIN
sys.dm_database_encryption_keys e ON d.database_id = e.database_id;
所以现在我需要构建一个循环,该循环检查活动的加密状态。如果为1,则放下该键,否则等到状态更改为1。有什么想法吗?
我希望一切都可以理解。