As I recently got asked for it in a talk, this piece of code gives you all the Views in a database that are currently broken.
This could be useful for “what if”-scenarios when playing with your metadata.

Da ich kürzlich in einem Vortrag nach gefragt wurde: Dieses kleine Codebeispiel gibt alle Views in einer Datenbank aus, welche derzeit nicht sauber abgefragt werden können.
Dies könnte zum Beispiel in einem “Was wäre wenn”-Szenario sinnvoll sein, wenn es darum geht, die Auswirkungen von veränderten Metadaten zu bewerten.

 <Biml xmlns="http://schemas.varigence.com/biml.xsd">
	    <Connections>
        	<OleDbConnection Name="Target" ConnectionString="Data Source=.;initial catalog=MyBiml_ViewCheck;provider=SQLNCLI11;integrated security=SSPI"></OleDbConnection>
		</Connections>		 
</Biml>
 
<#@ template language="VB" tier="2" #>
<Biml xmlns="http://schemas.varigence.com/biml.xsd"/>
<# Dim ImportResult as ImportResults = Rootnode.connections("Target").GetDatabaseSchema
for each v as Asttablenode in importresult.tablenodes.where(function(c) c.View IsNot Nothing)
try 
ExternalDataAccess.GetDataTable(Rootnode.connections("Target").RenderedConnectionString, "SELECT TOP 0 * from (" & v.view.selectsql & ") a").Clear()
catch ex as exception #>
	<!-- <#= v.name #>: <#= ex.message.replace(Environment.NewLine,", ") #> -->
<#end try
next #>

Any questions or comments? We’d love to hear from you at !

Further Information on Biml in English can be found on our English Biml Page.

Happy Biml’ing!

Haben Sie hierzu Fragen oder Anmerkungen? Wir freuen uns auf Ihren Input unter !

Weitere Informationen zu Biml, einschließlich Terminen und Blog Beiträgen finden Sie auch auf unserer Biml Seite.

Viel Spaß beim Biml’n!