Megosztás a következőn keresztül:


A CDC ismert korlátozásai, problémái és hibái

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

Ez a cikk az SQL Server és a felügyelt Azure SQL-példány módosítási adatrögzítésével (CDC) kapcsolatos ismert korlátozásokat, problémákat és hibákat ismerteti.

Az Azure SQL Database-hez lásd az Azure SQL Database CDC-vel kapcsolatos ismert problémáit.

Metaadatok módosítása

Ahhoz, hogy a CDC megfelelően működjön, nem szabad manuálisan módosítania a CDC metaadatait, például CDC schemaa táblák módosítását, a CDC rendszer által tárolt eljárásait, az alapértelmezett cdc user engedélyeket (sys.database_principals) vagy az cdc userátnevezését.

A sys.objects objektumok, amelyek is_ms_shipped tulajdonságot 1 állítanak be, nem módosíthatók.

SELECT    name AS object_name   
        ,SCHEMA_NAME(schema_id) AS schema_name  
        ,type_desc  
        ,is_ms_shipped  
FROM sys.objects 
WHERE is_ms_shipped= 1 AND SCHEMA_NAME(schema_id) = 'cdc'

Rendezési különbségek

Fontos tisztában lenni azzal, hogy az adatbázis és a változásadat-rögzítésre konfigurált tábla oszlopai között eltérő rendezés van. A CDC ideiglenes tárolót használ az oldaltáblák feltöltéséhez. Ha egy tábla karakter - vagy varcharoszlopai különböznek az adatbázis-rendezéstől, és ha ezek az oszlopok nem ASCII-karaktereket (például kétbájtos DBCS-karaktereket) tárolnak, előfordulhat, hogy a CDC nem tudja az alaptáblák adataival konzisztensen tárolni a módosított adatokat. Ennek az az oka, hogy a köztes tárolási változókhoz nem lehet rendezéseket rendelni.

Fontolja meg az alábbi módszerek egyikét annak biztosítására, hogy a rögzített változásadatok összhangban legyenek az alaptáblákkal:

  • Nchar vagy nvarchar adattípus használata nem ASCII-adatokat tartalmazó oszlopokhoz.

  • Vagy használja ugyanazt a rendezést az oszlopokhoz és az adatbázishoz.

Ha például egy olyan adatbázissal rendelkezik, amely SQL_Latin1_General_CP1_CI_AS rendezést használ, vegye figyelembe a következő táblázatot:

CREATE TABLE T1( 
     C1 INT PRIMARY KEY, 
     C2 VARCHAR(10) collate Chinese_PRC_CI_AI)

Előfordulhat, hogy a CDC nem rögzíti a C2 oszlop bináris adatait, mert a rendezése eltérő (Chinese_PRC_CI_AI). A probléma elkerülése érdekében használja az nvarchart :

CREATE TABLE T1( 
     C1 INT PRIMARY KEY, 
     C2 NVARCHAR(10) collate Chinese_PRC_CI_AI --Unicode data type, CDC works well with this data type
     )

Gyorsított adatbázis-helyreállítás (ADR) és változáskövetés (CDC)

Az SQL Server 2019 (15.x) nem támogatja a változásadat-rögzítés (CDC) és a gyorsított adatbázis-helyreállítás (ADR) engedélyezését ugyanahhoz az adatbázishoz. A CDC és az ADR engedélyezését a későbbi SQL Server-verziók is támogatják, kezdve az SQL Server 2022 (16.x) 18. kumulatív frissítésével.

A CDC engedélyezésekor az ADR agresszív napló csonkítási funkciója le van tiltva. Ennek az az oka, hogy a CDC-ellenőrzés hozzáfér az adatbázis tranzakciónaplójához. Az aktív tranzakciók mindaddig visszatartják a tranzakciónapló csonkolását, amíg a tranzakció végre nem hajtódik, és a CDC-vizsgálat be nem fejeződik, vagy a tranzakció megszakad. Ha olyan adatbázisban engedélyezi a CDC-t, ahol engedélyezve van az ADR, magasabb tranzakciónapló-kihasználtságot tapasztalhat. Győződjön meg arról, hogy elegendő tranzakciónapló-terület áll rendelkezésre az összes számítási feladat igényeinek megfelelően.

A CDC engedélyezése meghiúsul, ha a séma vagy a felhasználó neve cdc már létezik

Ha engedélyezi a CDC-t egy adatbázisban, az létrehoz egy új sémát és egy felhasználót.cdc Ezért nem ajánlott manuálisan létrehozni egy egyéni sémát vagy egy cdc nevű felhasználót, mivel ez rendszerhasználatra van fenntartva.

Ha manuálisan definiált egy olyan egyéni sémát vagy felhasználót cdc az adatbázisban, amely nem kapcsolódik a CDC-hez, a rendszer által tárolt eljárás sys.sp_cdc_enable_db nem engedélyezi a CDC-t az adatbázisban az alábbi hibaüzenettel.

The database <database_name> cannot be enabled for change data capture because a database user named 'cdc' or a schema named 'cdc' already exists in the current database. These objects are required exclusively by CDC. Drop or rename the user or schema and retry the operation.

A probléma megoldása:

  • Az cdc üres séma és a cdc felhasználó manuális elvetése. Ezután a CDC sikeresen engedélyezhető az adatbázisban.

A CDC az ALTER COLUMN után meghiúsul

Ha egy CDC-kompatibilis tábla oszlopának adattípusa nem támogatott konverzióra változik, a CDC-vizsgálat a frissítés után hibákhoz vezethet.

Az alábbi példák olyan adattípus-módosításokat ALTER COLUMN mutatnak be, amelyek nem támogatottak, ha a CDC engedélyezve van egy táblában:

  • bigint to int
  • char(x), nvarchar(x), vagy nvarchar(x) a uniqueidentifier, DATE vagy INT

Egy CDC-kompatibilis táblában lévő oszlop adattípusának módosítása a következő hibákat eredményezheti:

  • 241-s hiba – A konvertálás sikertelen volt a dátum és/vagy idő karaktersztringből való konvertálásakor.
  • 245-ös hiba – Az átalakítás sikertelen volt az érték konvertálása során.
  • 8169-os hiba – A konvertálás sikertelen volt, amikor karaktersztringből uniqueidentifier-vé konvertált.

A CDC-engedélyezett táblák oszlopainak méretét DDL-utasításokkal történő módosítása problémákat okozhat a következő CDC-rögzítési folyamat során, ami a következő hibákhoz vezethet:

  • 2628-os hiba – A sztring- vagy bináris adatok csonkulnak a táblában.
  • 8115-ös hiba – Aritmetikai túlcsordulási hiba az adattípus bigintről intre való konvertálásával

Ne feledje, hogy a CDC-változástáblákban lévő adatok a felhasználó által konfigurált beállítások alapján maradnak meg. Ezért mielőtt módosítanák az oszlopméretet, meg kell vizsgálnia, hogy a módosítás kompatibilis-e a CDC-változástáblák meglévő adataival.

Ha a sys.dm_cdc_errors vizsgálatok a 2628-as hiba vagy a 8115-ös hiba miatt sikertelenek a változástáblák esetében, először dolgozza fel a változásadatokat az érintett változástáblákban. Ezután le kell tiltania, majd újra kell engedélyeznie a CDC-t a táblán, hogy hatékonyan megoldja a problémát.

A CDC engedélyezése meghiúsul, ha a CREATE OBJECT triggerek léteznek

A CDC engedélyezésekor létrejön egy cdc user a CDC létrehozási folyamatának kezeléséhez. A cdc user rendszer számos tárolt eljárást futtat a CDC engedélyezéséhez, és néhány ilyen tárolt eljárás olyan objektumokat hoz létre, amelyek aktiválják a meglévő CREATE OBJECT eseményindítókat. Mivel a cdc user rendszer nem rendelkezik engedéllyel az master adatbázisba való íráshoz, ezek a CDC által tárolt eljárások a 22830-as hibával meghiúsulnak.

Tiltsa le az eseményindítókat CREATE OBJECT , mielőtt engedélyezné a CDC-t egy adatbázisban. Ezeket az eseményindítókat a CDC konfigurálása után ismét engedélyezni kell.

Adatbázis importálása adatrétegbeli importálási/exportálási és kinyerési/közzétételi műveletekkel

CDC-kompatibilis SQL-adatbázisok esetén, amikor SqlPackage, SSDT vagy más SQL-eszközöket használ importáláshoz,exportáláshoz vagy kinyeréshez/közzétételhez, a séma és a cdc felhasználó ki lesz zárva az új adatbázisból. Az importálási/exportálási és kinyerési/üzembe helyezési műveletekben nem szereplő egyéb CDC-objektumok közé tartoznak a következőként is_ms_shipped=1sys.objectsmegjelölt táblák: .

Még akkor is, ha a CDC nincs engedélyezve, és olyan egyéni sémát vagy felhasználót cdc definiált az adatbázisban, amely szintén ki lesz zárva az importálási/exportálási és kinyerési/üzembe helyezési műveletekből egy új adatbázis importálásához/beállításához.

Partícióváltás változókkal

Az utasítás nem támogatja a változók használatát a partíciók váltásánál az adatbázisok vagy táblák esetében, amikor a változási adatrögzítést (CDC) alkalmazzák a ALTER TABLE ... SWITCH TO ... PARTITION .... További információért tekintse meg a partícióváltás korlátozásait .

Online műveletek

Az online DDL-utasítások nem támogatottak

A felügyelt Azure SQL-példányokban és az SQL Server SQL Server 2025 előtti verzióiban (17.x) az ALTER TABLE online DDL-utasítások nem támogatottak, ha a változásadat-rögzítés engedélyezve van egy adatbázisban.

Az online indexműveletek nem támogatottak

Az online indexelési műveletek nem támogatottak, ha a módosítási adatrögzítés engedélyezve van egy adatbázisban. Előfordulhat, hogy találkozik a 18773-as hibával: "Nem találhatók szöveginformációs rekordok az oszlophoz "%.*ls", ID %d a parancs felépítése során.".

A hozzáadott oszlopok alapértelmezett korlátozásai

Ha a CDC engedélyezve van egy táblában, és egy alapértelmezett korlátozással rendelkező nem null értékű oszlopot ad hozzá, a meglévő soradatok az alapértelmezett kényszer értékét fogják megadni. A CDC azonban a NULL sorok alapértelmezett értéke helyett fogja használni. Ez csak a DDL alkalmazása előtt található adatokra vonatkozik. Áthidaló megoldásként adjon ki nem változó UPDATE utasításokat a meglévő sorokra, vagy végezzen el egy ALTER INDEX ... REBUILD műveletet a tábla fürtözött indexén. Ha nincs fürtözött index, használja a ALTER TABLE ... REBUILD adatstruktúrát a kupacon.

Hibaelhárítás

Ez a szakasz a CDC-vel kapcsolatos hibák elhárítására szolgál az SQL Serveren és a felügyelt Azure SQL-példányon. A CDC-vel kapcsolatos hibák akadályozhatják a rögzítési folyamat megfelelő működését, és az adatbázis tranzakciónaplójának bővítéséhez vezethetnek.

A hibák vizsgálatához lekérdezheti a dinamikus felügyeleti nézetet sys.dm_cdc_errors. Ha sys.dm_cdc_errors dinamikus felügyeleti nézet hibát ad vissza, tekintse át az alábbi hibaelhárítási információkat.

Megjegyzés

Egy adott hibakódról további információt az adatbázismotor események és hibákcímű témakörben talál.

A szakasz a következő hibaelhárítási kategóriákat tartalmazza:

Kategória Leírás
Metaadatok módosultak Információkat tartalmaz a CDC-vel kapcsolatos problémák megoldásáról, amikor a nyomon követett táblázatot módosították vagy elvették.
Adatbázisterület-kezelés Az adatbázis-terület kimerülésével kapcsolatos problémák elhárítására vonatkozó információkat tartalmaz.
CDC-korlátozások A CDC korlátozásai által okozott problémák megoldására vonatkozó információkat tartalmaz.

A metaadat módosítva

200/208-os hiba – Érvénytelen objektumnév

  • ok: A hiba akkor fordulhat elő, ha a CDC-metaadatokat elvetik. Ahhoz, hogy a CDC megfelelően működjön, nem szabad manuálisan módosítania a CDC metaadatait, például CDC schemaa táblák módosítását, a CDC rendszer által tárolt eljárásait, az alapértelmezett cdc user engedélyeket (sys.database_principals) vagy az cdc userátnevezését.

  • javaslat: A probléma megoldásához le kell tiltania és újra engedélyeznie kell a CDC-t az adatbázishoz. Amikor engedélyezi egy adatbázis változásadat-rögzítését, létrehozza a cdc-sémát, a cdc-felhasználót, a metaadattáblákat és az adatbázis egyéb rendszerobjektumait.

Megjegyzés

A sys.objects rendszerkatalógus nézetben is_ms_shipped=1 and schema_name='cdc' található objektumokat nem szabad módosítani vagy elvetni.

Hiba 1202 – Az adatbázis jogképviselő nem létezik, vagy a felhasználó nem tagja

  • Ok: A hiba akkor fordulhat elő, ha cdc user elejtették. Ahhoz, hogy a CDC megfelelően működjön, nem szabad manuálisan módosítania a CDC-metaadatokat, például CDC schemaa táblák módosítását, a CDC rendszer által tárolt eljárásait, az alapértelmezett cdc user engedélyeket vagy a cdc usernév átnevezését.

  • javaslati: Győződjön meg arról, hogy a cdc felhasználó megtalálható az adatbázisban, és hozzá van rendelve a db_owner szerepkör is. A cdc felhasználó létrehozásához lásd a Cdc-felhasználó létrehozása és szerepkör-hozzárendelése című példát.

15517-es hiba – Nem hajtható végre a főfelhasználóként, mert a főfelhasználó nem létezik

  • Ok: Az ilyen típusú főkomponens nem megszemélyesíthető, vagy nincs hozzáférési engedélye. A hiba akkor fordulhat elő, ha a CDC-metaadatok el lettek dobva, vagy már nem része a db_owner szerepkörnek. Ahhoz, hogy a CDC megfelelően működjön, nem szabad manuálisan módosítania a CDC-metaadatokat, például CDC schemaa táblák módosítását, a CDC rendszer által tárolt eljárásait, az alapértelmezett cdc user engedélyeket vagy a cdc usernév átnevezését.

  • javaslati: Győződjön meg arról, hogy a cdc felhasználó megtalálható az adatbázisban, és hozzá van rendelve a db_owner szerepkör is. A cdc felhasználó létrehozásához lásd a Cdc-felhasználó létrehozása és szerepkör-hozzárendelése című példát.

18807-s hiba – Nem található objektumazonosító a replikációs rendszer táblájában

  • Ok: Ez a hiba akkor fordul elő, ha az SQL Server nem találja vagy nem fér hozzá a replikációs rendszer%stáblához. Ennek az lehet az oka, hogy a tábla hiányzik vagy nem érhető el. Ahhoz, hogy a CDC megfelelően működjön, nem szabad manuálisan módosítania a CDC-metaadatokat, például CDC schemaa táblák módosítását, a CDC rendszer által tárolt eljárásait, az alapértelmezett cdc user engedélyeket vagy a cdc usernév átnevezését.

  • javaslat: Ellenőrizze, hogy a rendszertábla létezik-e, és elérhető-e közvetlenül a tábla lekérdezésével. Kérdezze le a sys.objects rendszerkatalógusát, és állítsa be a predikátum záradékot is_ms_shipped=1 and schema_name='cdc' az összes CDC-vel kapcsolatos objektum listázásához. Ha a lekérdezés nem ad vissza objektumokat, tiltsa le, majd engedélyezze újra a CDC-t az adatbázishoz. Az adatbázis változásadat-rögzítésének engedélyezése létrehozza a cdc-sémát, a cdc-felhasználót, a metaadattáblákat és az adatbázis egyéb rendszerobjektumait.

21050-ös hiba – Ezt a műveletet csak a sysadmin vagy db_owner rögzített kiszolgálói szerepkör tagjai hajthatják végre

  • Ok: A cdc user el lett távolítva az db_owner adatbázis-szerepkörből vagy a sysadmin kiszolgálói szerepkörből.

  • Javaslat: Győződjön meg arról, hogy a cdc userdb_owner szerepkör hozzá van rendelve. A cdc felhasználó létrehozásához lásd a Cdc-felhasználó létrehozása és szerepkör-hozzárendelése című példát.

22830-ás hiba – Nem sikerült frissíteni azokat a metaadatokat, amelyek azt jelzik, hogy az adatbázis <database name> engedélyezve van az adatrögzítés módosításához. A hiba a parancs <CDC stored procedure name>végrehajtásakor történt.

  • Ok: Ez a hiba akkor fordul elő, ha egy CREATE OBJECT eseményindító létezik az adatbázisban vagy a kiszolgálón. A CDC engedélyezésekor létrejön egy cdc user a CDC létrehozási folyamatának kezeléséhez. A cdc user rendszer számos tárolt eljárást futtat a CDC engedélyezéséhez, és néhány ilyen tárolt eljárás olyan objektumokat hoz létre, amelyek aktiválják a meglévő CREATE OBJECT eseményindítókat. Mivel a cdc user rendszer nem rendelkezik engedéllyel az master adatbázisba való íráshoz, ezek a CDC által tárolt eljárások a 22830-as hibával meghiúsulnak.

  • Javaslat: Mielőtt engedélyezné a CDC-t egy adatbázisban, tiltsa le az eseményindítókat CREATE OBJECT . A CDC konfigurálása után ismét engedélyezze ezeket az eseményindítókat.

Adatbázisterület-kezelés

1105-ös hiba – Nem sikerült helyet lefoglalni az adatbázis objektumai számára, mert a fájlcsoport megtelt

  • Ok: Ez a hiba akkor fordul elő, ha egy adatbázis elsődleges fájlcsoportja elfogy a szabad területből, és az SQL Server nem tud több helyet lefoglalni egy adott fájlcsoporton belüli objektum (például tábla vagy index) számára.

  • javaslat: A probléma megoldásához törölje a felesleges adatokat az adatbázisban, hogy helyet szabadítson fel. Azonosíthatja a fájlcsoportban nem használt táblákat, indexeket vagy más, biztonságosan eltávolítható objektumokat. A térkihasználtság szoros monitorozása további információkért lásd: Az Azure SQL Database-ben található adatbázisok fájlterületének kezelése

    Ha a szükségtelen adatok/objektumok elvetése nem megoldás, érdemes több helyet lefoglalni az adatbázis tranzakciónaplójához. A tranzakciónaplók kezelésével kapcsolatos további információkért tekintse meg az SQL Server tranzakciónapló-architektúrájának és kezelési útmutatójának

CDC-korlátozások

241-s hiba – A konvertálás sikertelen volt a dátum és/vagy idő karaktersztringből való konvertálásakor

  • Ok: Ez a hiba akkor fordul elő, ha az ALTER COLUMNegy dátum típusú adattípuson van végrehajtva, és a táblában engedélyezve van a CDC. Ha például egy tábla nvarchar oszlopot tartalmaz, és az adattípust dátumra módosítja (például ALTER TABLE table_name ALTER COLUMN [column_name] DATE NULL), ez a hiba a sys.dm_cdc_errors DMV-ben jelenhet meg. A 241-et a változástáblában nem támogatott adatkonvertálás okozza, annak ellenére, hogy a ALTER forrástábla parancsa sikeres.

  • Javaslat: A probléma megoldásához tiltsa le és engedélyezze újra a CDC-t a táblához az oszlop módosítása után. Másik lehetőségként tiltsa le a CDC-t az oszlop módosítása előtt, majd a ALTER COLUMN módosítás után újra engedélyezze a CDC-t.

245-ös hiba – Az átalakítás sikertelen volt, amikor az értéket sztringről intre konvertálta

  • Ok: Ez a hiba akkor fordul elő, ha az ALTER COLUMN parancs ki van adva egy oszlop adattípusának módosításához, ha a tábla engedélyezve van a CDC-vel. Ha például egy tábla nvarchar oszlopot tartalmaz, és az adattípust int értékre módosítja (például ALTER TABLE table_name ALTER COLUMN [column_name] INT NULL), ez a hiba a sys.dm_cdc_errors DMV-ben jelenhet meg. A 245-ös hibát a változástábla nem támogatott adatátalakítása okozza, annak ellenére, hogy a ALTER forrástábla parancsa sikeres.

  • Javaslat: A probléma megoldásához tiltsa le és engedélyezze újra a CDC-t a táblához az oszlop módosítása után. Másik lehetőségként tiltsa le a CDC-t az oszlop módosítása előtt, majd a ALTER COLUMN módosítás után újra engedélyezze a CDC-t.

913-es hiba – A CDC-rögzítési feladat meghiúsul a rendszer CLR-adattípusú tábla módosításainak feldolgozásakor

  • Ok: Ez a hiba akkor fordul elő, ha a CDC-t rendszer CLR-adattípussal rendelkező táblán engedélyezi, DML-módosításokat hajt végre, majd DDL-módosításokat hajt végre ugyanazon a táblán, miközben a CDC rögzítési feladata más táblákhoz kapcsolódó módosításokat dolgoz fel.

  • javaslat: Az ajánlott lépések: a táblán végzett DML-lekérések leállítása, a módosításokat feldolgozó rögzítési munka futtatása, DDL műveletek végrehajtása a táblán, DDL-módosítások feldolgozására szolgáló újabb rögzítési munka futtatása, majd a DML-feldolgozás újbóli engedélyezése. További információért lásd a CDC-rögzítési feladat hibát ad, amikor a rendszer CLR-adattípusával (geometria, földrajz, vagy hierarchiaazonosító) rendelkező táblák módosításait dolgozza fel.

2628-os hiba – a sztring- vagy bináris adatok csonkulnak a táblában

  • Ok: A CDC-kompatibilis táblák oszlopméretének DDL-utasítások használatával történő módosítása problémákat okozhat a következő CDC-rögzítési folyamattal kapcsolatban. A sys.dm_cdc_errors dinamikus felügyeleti nézet (DMV) hasznos bármilyen jelentett CDC probléma, például a 2628-as és 8115-ös hibák ellenőrzésére.

  • javaslat: Mielőtt módosítanák az oszlopméretet, meg kell vizsgálnia, hogy a módosítás kompatibilis-e a CDC-változástáblák meglévő adataival. A probléma megoldásához le kell tiltania és újra engedélyeznie kell a CDC-t az adatbázishoz. További információ a CDC adatbázishoz vagy táblához való engedélyezéséről: CdC engedélyezése adatbázishoz és CDC engedélyezése táblához.

8115-ös hiba – Aritmetikai túlcsordulási hiba az adattípus bigintről intre való konvertálásával

  • Ok: Ez a hiba akkor fordul elő, ha egy CDC-kompatibilis táblán egy ALTER COLUMN DDL végrehajtása az oszlop pontosságának csökkenését eredményezi (például az oszlop adattípusának módosítása bigintrőlintre). A csökkent pontosságú oszlop nem tudja megtartani a változástáblában lévő értékeket.

  • Javaslat: A probléma megoldásához tiltsa le és engedélyezze újra a CDC-t a táblához az oszlop módosítása után. Másik lehetőségként tiltsa le a CDC-t a ALTER COLUMN parancs futtatása előtt, majd ALTER COLUMN módosítása után engedélyezze újból a CDC-t.

8169-os hiba – A konvertálás sikertelen volt, amikor karaktersztringből uniqueidentifierre konvertált

  • Ok: Ez a hiba akkor fordul elő, ha egy ALTER COLUMN parancsot adnak ki egy oszlop adattípusának módosítására, ha a tábla cdC-vel rendelkezik. Ha például egy tábla karakter(x), nvarchar(x), nvarchar(x) oszlopot tartalmaz, és az adattípust uniqueidentifier (például: ALTER TABLE table_name ALTER COLUMN [column_name] uniqueidentifier) értékre módosítja, akkor ez a hiba a sys.dm_cdc_errors Dinamikus felügyeleti nézetben (DMV) jelenhet meg. A 8169-s hiba nem támogatott adatátalakítást jelez a változástáblában, annak ellenére, hogy a forrástábla ALTER parancsa sikeres.

  • Javaslat: A probléma megoldásához tiltsa le és engedélyezze újra a CDC-t a táblához az oszlop módosítása után. Másik lehetőségként tiltsa le a CDC-t a ALTER COLUMN parancs futtatása előtt, majd ALTER COLUMN módosítása után engedélyezze újból a CDC-t.

Felhasználó létrehozása és szerepkör hozzárendelése

Ha eltávolították a cdc user-t, manuálisan is hozzáadhatja a felhasználót.

A következő T-SQL-szkripttel hozzon létre egy felhasználót (cdc), és rendelje hozzá a megfelelő szerepkört ugyanahhoz (db_owner).

IF NOT EXISTS 
(
    SELECT * 
    FROM sys.database_principals 
    WHERE NAME = 'cdc'
)
BEGIN
    CREATE USER [cdc] 
    WITHOUT LOGIN WITH DEFAULT_SCHEMA = [cdc];
END

EXEC sp_addrolemember 'db_owner', 'cdc';

Ellenőrizze és adja hozzá a szerepkör-tagságot

Annak ellenőrzéséhez, hogy cdc felhasználó a sysadmin vagy db_owner szerepkörhöz tartozik-e, futtassa a következő T-SQL-lekérdezést:

EXECUTE AS USER = 'cdc';

SELECT is_srvrolemember('sysadmin'), is_member('db_owner');

Ha a cdc felhasználó egyik szerepkörhöz sem tartozik, hajtsa végre a következő T-SQL-lekérdezést, hogy db_owner szerepkört adjon hozzá a cdc felhasználóhoz.

EXEC sp_addrolemember 'db_owner' , 'cdc';