Microsoft vertreibt Microsoft SQL Server 2008-und Microsoft SQL Server 2008 R2-Fixes als eine herunterladbare Datei. Da die Fixes kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2008 oder SQL Server 2008 R2 enthalten waren.
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie erstellen eine Transaktionspublikation in Microsoft SQL Server 2008 oder in Microsoft SQL Server 2008 R2.
-
Sie verfügen über eine indizierte Sicht. Sie können die ANSI_NULLS -Eigenschaft der Indexansicht auf true festlegen.
-
Sie fügen der Publikation die indizierte Sicht als Artikel hinzu. Sie setzen den Artikeltyp auf "indizierte Sicht logbased." Hinweis Mit dem folgenden Code können Sie den Typ der indizierten Ansicht angeben. Führen Sie diese Schritte aus, wenn Sie die sp_addarticle gespeicherte Prozedur ausführen, um der Publikation den Artikel zur indizierten Ansicht hinzuzufügen.
@type = N'indexed view logbased'
-
Sie erstellen ein Abonnement für die Transaktionsveröffentlichung.
-
Die indizierte Sicht wird in die Abonnementdatenbank repliziert.
In diesem Szenario wird die ANSI_NULLS -Eigenschaft der indizierten Sicht in der Abonnementdatenbank in false geändert.Hinweise
-
Dieses Problem tritt in der Regel auf, wenn die ANSI_NULLS -Eigenschaft der Tabellen, die an der SQL-Ausdrucksstruktur der Indexansicht beteiligt sind, auf "false" festgelegt ist.
-
Dieses Problem ist auch in Microsoft SQL Server 2005.
Ursache
Dieses Problem tritt auf, weil Tabellen, Ansichten, Funktionen und gespeicherte Prozeduren in SQL Server 2008 dasselbe Speicher Bit für die ANSI_NULL -Eigenschaft freigeben. Wenn die ANSI_NULLS -Eigenschaft einer der Tabellen, die an der SQL-Ausdrucksstruktur der indizierten Sicht beteiligt sind, auf "false" festgelegt ist, wäre die Standard ANSI_NULLS -Eigenschaft für die indizierte Sicht falsch.
Fehlerbehebung
Informationen zum kumulativen Update
SQL Server 2008 Service Pack 1
Der Fix für dieses Problem wurde erstmals im kumulativen Update 10 für SQL Server 2008 Service Pack 1 veröffentlicht. Wenn Sie weitere Informationen zu diesem kumulativen Updatepaket erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2279604 Kumulatives Updatepaket 10 für SQL Server 2008 Service Pack 1Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2008 behoben wurden. Microsoft empfiehlt, die neueste Fix-Version zu verwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
970365 Die SQL Server 2008-Builds, die nach der Veröffentlichung von SQL Server 2008 Service Pack 1 veröffentlicht wurden Microsoft SQL Server 2008-Hotfixes werden für bestimmte SQL Server-Service Packs erstellt. Sie müssen einen SQL Server 2008 Service Pack 1-Hotfix auf eine Installation von SQL Server 2008 Service Pack 1 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server-Service Pack bereitgestellt wird, im nächsten SQL Server-Service Pack enthalten.
SQL Server 2008 Service Pack 2
Der Fix für dieses Problem wurde erstmals im kumulativen Update 1 für SQL Server 2008 Service Pack 2 veröffentlicht. Wenn Sie weitere Informationen zu diesem kumulativen Updatepaket erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2289254 Kumulatives Update 1 für SQL Server 2008 Service Pack 2Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2008 behoben wurden. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2402659 Die SQL Server 2008-Builds, die nach der Veröffentlichung von SQL Server 2008 Service Pack 2 veröffentlicht wurden
SQL Server 2008 R2
Die Fehlerbehebung für dieses Problem wurde zuerst in Kumulatives Update 4 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2008 R2 benötigen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2345451 Kumulatives Update Paket 4 für SQL Server 2008 R2 Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen Version von SQL Server 2008 R2 behoben wurden. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
981356 Die SQL Server 2008 R2-Builds, die nach der Veröffentlichung von SQL Server 2008 R2 veröffentlicht wurden
Problemumgehung
Um dieses Problem zu umgehen, aktualisieren Sie den Metadatenspeicher, nachdem die indizierte Sicht erstellt wurde, und bevor sp_addarticle ausgeführt wird, um den Artikel zur indizierten Ansicht hinzuzufügen.Hinweise Verwenden Sie eine der folgenden Methoden, um den Metadaten-Cache zu aktualisieren:
-
Beenden Sie den SQL Server-Dienst, und starten Sie den Dienst.
-
Setzen Sie die Abonnementdatenbank auf Offline, und setzen Sie die Datenbank dann auf Online.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Informationsquellen
Weitere Informationen zur sp_addarticle gespeicherten Prozedur finden Sie auf der folgenden Microsoft-Website:
Einführung in die gespeicherte Prozedur sp_addarticle (Transact-SQL)Weitere Informationen zum Veröffentlichen von Daten und Datenbankobjekten finden Sie auf der folgenden Microsoft-Website:
Veröffentlichen von Daten und DatenbankobjektenWenn Sie weitere Informationen zum inkrementellen Wartungsmodell für SQL Server erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
935897 Ein inkrementelles Wartungsmodell steht im SQL Server-Team zum Bereitstellen von Hotfixes für gemeldete Probleme zur Verfügung.Wenn Sie weitere Informationen zum Benennungsschema für SQL Server-Updates erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
822499Neues Benennungsschema für Microsoft SQL Server-SoftwareupdatepaketeWenn Sie weitere Informationen zur Terminologie für Softwareupdates erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
824684 Beschreibung der Standardterminologie, die zum Beschreiben von Microsoft-Softwareupdates verwendet wird