Object changed by Unknown

https://documentation.red-gate.com/soc7/troubleshooting/object-changed-by-unknown

https://documentation.red-gate.com/soc7/configuring/log-changes-to-shared-databases

Step 1: Creating the change log database

You can use this SQL script template to create a dedicated change log database named ChangeLog. You can modify the script as needed.

USE master EXECUTE ('CREATE DATABASE ChangeLog')
ALTER DATABASE ChangeLog SET ANSI_NULL_DEFAULT OFF
ALTER DATABASE ChangeLog SET ANSI_NULLS OFF
ALTER DATABASE ChangeLog SET ANSI_PADDING OFF
ALTER DATABASE ChangeLog SET ANSI_WARNINGS OFF
ALTER DATABASE ChangeLog SET ARITHABORT OFF
ALTER DATABASE ChangeLog SET AUTO_CLOSE OFF
ALTER DATABASE ChangeLog SET AUTO_CREATE_STATISTICS ON
ALTER DATABASE ChangeLog SET AUTO_SHRINK OFF
ALTER DATABASE ChangeLog SET AUTO_UPDATE_STATISTICS ON
ALTER DATABASE ChangeLog SET READ_WRITE
ALTER DATABASE ChangeLog SET RECOVERY SIMPLE
ALTER DATABASE ChangeLog SET MULTI_USER
ALTER DATABASE ChangeLog SET PAGE_VERIFY CHECKSUM
ALTER DATABASE ChangeLog SET DB_CHAINING ON
EXECUTE ('USE ChangeLog IF NOT EXISTS (SELECT * FROM sys.sysusers WHERE name=''guest'') EXECUTE sp_grantdbaccess guest')

Step 2: Editing the config file

After the change log database is created, you need to edit a local config file so SQL Source Control can access it.

  1. Make sure SQL Server Management Studio is closed.
  2. Go to the SQL Source Control config files folder: %localappdata%Red GateSQL Source Control 7
    Open RedGate_SQLSourceControl_Engine_EngineOptions.xml in a text editor.

  3. Below the EngineOptions version line, add:

    1. <TraceCacheDatabase>ChangeLog</TraceCacheDatabase>

    The file is case sensitive. Don't change the capitalization of the text.

    Ignoring any comments (indicated with <!->), the final file should look like this::

    ExampleToggle source code

    The example above doesn't include any extra lines you may have included for other options.

  4. Save and close the file.

SQL Source Control will now use the change log database to log changes made to all linked databases.

<EngineOptions version="3" type="EngineOptions" >
    <TraceCacheDatabase>ChangeLog</TraceCacheDatabase>
</EngineOptions>

 

SELECT DB_NAME(DatabaseID) AS DatabaseName,
       UserName,
       *
FROM dbo.RG_AllObjects_v4
WHERE UserName IS NOT NULL
      AND DB_NAME(DatabaseID) LIKE '%UK%'
ORDER BY EntryDateTime DESC;

 

 

原文地址:https://www.cnblogs.com/chucklu/p/11981767.html