一位负责恢复备份的同事将数据库所有者从他的名字更改为'sa'(正确的)昨晚。虽然我在 SQL Server Management Studio 窗口中看到了他的名字,但我没有截取屏幕截图。他现在声称他没有恢复那个数据库。
我是服务器上的管理员和数据库服务器上的系统管理员。有没有办法检查谁更改了数据库的所有者?
我有以下存储过程需要将近一个小时才能完成。结果集大约有 20 万台机器。
我所做的只是从链接服务器中提取一组 id,在本地服务器中删除这些 id,然后从远程服务器中提取这些 id 的所有详细信息并插入它们。INSERT 占 90%,DELETE 表占 9%,SELECT INTO 占 1%。
id 是主键/聚集索引。
DECLARE @ProcessDate DATETIME
SET @ProcessDate = CONVERT(VARCHAR(10), DATEADD(DAY, -3,
GETDATE()), 111)
SELECT DISTINCT id
INTO #temp_machines
FROM remote_server.db.dbo.table1
WHERE dt_modify >= @ProcessDate
DELETE FROM local_server.db.dbo.table2
WHERE id IN ( SELECT id FROM #temp_machines )
INSERT INTO local_server.db.dbo.table2
SELECT *
FROM remote_server.db.dbo.table1
WHERE id IN ( SELECT id FROM #temp_machines )
Run Code Online (Sandbox Code Playgroud)
有什么关于提高性能的建议吗?
performance sql-server-2008 sql-server linked-server query-performance