我安装了 SQL 2016 Enterprise,我的老板想要部署 TDE。我在网上搜索了一下,所有的说明都是关于“您可以将自签名证书用于测试/开发目的”。大多数指南只是说备份主密钥和证书,仅此而已。
我有两个 SQL Server,它们位于两个独立的域中。我想确保在一台服务器上加密的数据库可以在另一台服务器上恢复。
应该应用于生产服务器的正确方法和步骤是什么。我认为不仅仅是创建一个自签名证书并将其备份到安全的地方。
我安装了 SQL 2016 Enterprise,我的老板想要部署 TDE。我在网上搜索了一下,所有的说明都是关于“您可以将自签名证书用于测试/开发目的”。大多数指南只是说备份主密钥和证书,仅此而已。
我有两个 SQL Server,它们位于两个独立的域中。我想确保在一台服务器上加密的数据库可以在另一台服务器上恢复。
应该应用于生产服务器的正确方法和步骤是什么。我认为不仅仅是创建一个自签名证书并将其备份到安全的地方。
当数据库仍然可以访问但流量很少时,我们有一个例行的 DBCC CHECKDB 在晚上运行。自上个月以来,我们有几次 DBCC CHECKDB 因此错误而崩溃:
由于错误状态 5,sqladmin 执行的带 no_infomsgs 的 DBCC CHECKDB (Database1) 异常终止。经过时间:0 小时 47 分 9 秒。
这之前有几个 SQL Alert Severity 17,这是资源不足,以及 SQL 服务器日志中 DBCC MEMORYSTATUS 的输出。因此我认为 DBCC CHECKDB 崩溃是由于内存不足。
再次运行 DBCC CHECKDB 不会返回错误。一个非 DBA 甚至在工作时间做了一次,虽然拖累了性能,花了将近 3 个小时才完成,但并没有导致内存问题。(他被告知不要再这样做了)。
服务器本身有 12GB 的 RAM,但没有为 SQ 服务器设置最小和最大限制。SQL Server 本身使用大约 10GB 内存,而所有其他进程使用 1GB。当时我不知道有什么其他事情对服务器征税。
编辑:
我正在设计一个可能有大约 1000 个用户的 Web 应用程序。网站面向互联网,但仅限合作伙伴使用(即普通大众不能直接“注册一个账号”)。帐户维护将由我们自己的 IT 支持处理。
我正在考虑让每个用户关联自己的 SQL 登录名。这样我就不需要存储他们的加盐/散列密码 - SQL 服务器将处理身份验证。这也允许我们使用基于 SQL Server 的审计和日志记录工具。
这样做有什么坏处吗?
我有大约 8400 万行。其中所有这些都需要转移到同一台服务器上的单独数据库中,然后我删除以从源数据库中删除大约 6000 万行。
8400 万行都在同一个表中。仅该表就占了整个数据库的 90%。
所以...来源:8400 万行 -> 2400 万行目标:0 行 -> 8400 万行
源运行完全恢复模式,目标运行简单。
我想知道最有效的方法是什么?
计划A:
1) INSERT INTO 目标选择 * FROM 源
2) 截断源
3) INSERT INTO source SELECT * FROM destination WHERE keep_condition = 1
B计划:
1) 将源数据库的备份还原为目标数据库
2) 删除除目标数据库所需的表之外的所有表
3) 截断源
4) INSERT INTO source SELECT * FROM destination WHERE keep_condition = 1
计划C:
1) INSERT INTO 目标选择 * FROM 源
2) 删除源 WHERE keep_condition = 0
或者是其他东西?
谢谢