我有MS SQL Server 2008提供给我。 是否可以脚本(也许与Powershell?)处理我所有的备份文件,从每个表中删除一个表(或两个)? 我在命令行上使用7-Zip来encryption它们,所以这个脚本必须能够处理它。
我真的想避免解密,然后手动附加每一个。 这只是不会削减,但我的技能不能让我知道是否有更好的。
我不是要求一个完整的解决scheme。 我想知道这是否实际可行,以及有人可能会先做这件事。
当然,这是可能的…
从batch file中可以使用osql
。 从powershell你有你的selectosql
, Sql Powershell或ADO.Net( SqlConnection
和朋友) 。
要解压缩和解密,您可以在提取时使用-pyourpasswordhere
选项。
一般的脚本应该是这样的:
RESTORE DATABASE dbname FROM DISK = 'path to temp bak file' WITH MOVE 'datafile name' to 'temp file path\data.mdf', MOVE 'logfile name' to 'temp file path\log.ldf', RECOVERY, STATS=10
) USE dbname; DROP TABLE tableName; DROP TABLE tableName2; USE master;
) BACKUP DATABASE dbname TO DISK = 'path to new bak file' WITH COPY_ONLY, STATS=10
创build新备份( BACKUP DATABASE dbname TO DISK = 'path to new bak file' WITH COPY_ONLY, STATS=10
如果不使用日志文件恢复来加速备份和减小大小,则可以使用COPY_ONLY
)