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.