15017: Die '%1!'-Regel ist nicht vorhanden.

Fehlermeldung:
Meldung 15017, Ebene 16, Status 1, Prozedur sp_bindrule, Zeile 102
Die '%1!'-Regel ist nicht vorhanden.

...

Ebene:
16.

Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht eine nicht-existente Regel per sp_bindrule an eine Spalte zu binden.

Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.

Behebung:
Fehler der Ebene 15 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Das Statement kann so nicht ausgeführt werden. Die im sp_bindrule Aufruf angesprochene Regel muss vorher existieren.

Versionen:
Alle Versionen von SQL Server.

Beispiele:
USE tempDB
IF OBJECT_ID('t') > 0
 DROP TABLE t
 
CREATE TABLE t
(
 id int NOT NULL PRIMARY KEY,
 c1 text
)

INSERT INTO t(id, c1) VALUES (1, 'This is a long text')
GO
DROP RULE myRule
GO
CREATE RULE myRule
AS @value LIKE '__-%[0-9]'
GO
EXEC sp_bindrule 't.c1', 'myRule'

Anmerkungen:
CREATE RULE und sp_bindrule sind veraltete Konstrukte und werden in einer zukünftigen SQL Server Version nicht mehr vorhanden sein. Stattdessen sollte man auf CHECK Einschränkungen zurückgreifen.

Noch kein Feedback
Einen Kommentar hinterlassen

Ihre E-Mail-Adresse wird nicht auf dieser Seite angezeigt.
(Zeilenumbrüche werden zu <br />)
(For my next comment on this site)
(Allow users to contact me through a message form -- Your email will not be revealed!)
Dies ist ein Captcha Bild. Es wird benutzt, um Massenzugriffe von Robotern zu verhindern.
Bitte gib die Zeichen des obigen Bildes ein. (Groß/Kleinschreibung ist wichtig)